Access denied for page field. Required access: `unauthenticated_read_content` access scope.

Topic summary

A developer is building a Shopify checkout UI extension that queries page content via GraphQL to display in a modal. Despite having the unauthenticated_read_content scope explicitly declared in the configuration file and confirmed in the app’s access settings, the extension throws an access denied error stating this exact scope is required.

Key Details:

  • The GraphQL query works correctly when tested in Shopify’s GraphQL explorer
  • Configuration includes all relevant scopes: read_content, read_online_store_pages, and unauthenticated_read_content
  • Screenshots confirm the app has proper access to page objects
  • Error occurs specifically when running the extension, not in the GraphQL testing environment

Current Status:
The issue remains unresolved. The developer is seeking help from others who may have experienced similar scope-related access problems with checkout UI extensions.

Summarized with AI on October 26. AI used: claude-sonnet-4-5-20250929.

Hi everyone,
I’m trying to write a checkout ui-extension that fetches for a page and renders the page’s content on a modal.

Here’s the code I’m using for testing.

useEffect( () => {
  const getPages = async () => {

      const response = await query(
        `#graphql
          query PageShow($id: ID!) {
            page(id: $id) {
              id
              title
              handle
            }
          }`,
          {
            variables: {
              "id": "gid://shopify/Page/602767277"
            },
          },
      );
      console.log(response);
  }
  getPages();
}, []);

Here’s my scopes on the configuration file.

scopes = "read_content,read_online_store_pages,unauthenticated_read_content"

Here’s a screen shot showing the app has access to page objects.

As you can see on my scopes, I already have unauthenticated_read_content, but I’m still getting this error when running the extension.

“Access denied for page field. Required access: unauthenticated_read_content access scope.”

Here’s the error screenshot.

The graphQL query seems to be working fine here.

Has anyone encountered the same thing before?