Weird GraphQL query for Checkout Extension

Hi, seeing something weird in developing a checkout extension to add a product in the checkout (package protection). When I have the following line:

query  {
        products(first: 1, query: "handle:'package-protection-free-replacements-returns") {

Things work and I get the following checkout:

But IF i remove the opening single quote ’ or just do this:

query  {
        products(first: 1, query: "handle:'package-protection-free-replacements-returns'") {

I get instead the first product like so:

I can make in GraphQL explorer a query to get the product by handle, but that does not work (loads then unloads briefly) in the skeleton code from the example here:

Can someone explain why the single ’ works but either bare word or double enclosing it ‘’ does not?

If you want to get the product by handle, I recommend using productByIdentifier query.
This would be more accurate.

Thanks but it does not work. I can make it work in GraphQL:

However integrated into the code, I get a brief rendering and then it disappears on Checkout. And yes, I did switch to API version 2025-01 sigh.

Are there restrictions on GraphQL queries where the one query works and another does not in Checkout Extensions that are not documented? Very frustrating that it works in GraphQL explorer but not in the code.

Aha, just noticed you are using storefront API.
Please try productByHandle