Access to themeFilesUpsert (Admin GraphQL API 2024-10) is blocked by an undocumented permission: write_themes_assets. Developers already have read_themes/write_themes, but the mutation returns “Access denied… write_themes and write_themes_assets,” and app setup flags write_themes_assets as an invalid scope. This is disrupting migrations from the deprecated REST Admin API and could force merchants to re-consent to new scopes.
Key points:
The required scope write_themes_assets is not documented and cannot be selected in app configuration, causing deploy/build failures and API errors (multiple confirmations, screenshots).
Concern that write_themes_assets should be a sub-scope of write_themes to avoid re-permission friction.
Workarounds/updates:
Since 2024-04, public apps can request gated scopes via a Google form (link shared). One developer reports approval restored access; note approvals are app-specific, so new apps require reapplying.
Others report the form hasn’t resolved access yet.
A developer claims to have it working and shared a step-by-step write-up (external link).
Status: Mostly unresolved/ongoing. Action items: apply for the gated scope via the form per app, and review the shared implementation guide. Await official documentation/rollout from Shopify.
Summarized with AI on December 12.
AI used: gpt-5.
I have the same issue. write_themes_assets should be a sub-scope of write_themes. This is going to create a terrible user experience for existing apps forced to migrate from the REST Admin API to the GraphQL Admin API, as storeowners are going to have to re-permission the app because we’ll need to request new scopes. It’s also frustrating that the scopes haven’t been rolled out properly:
These scopes are invalid - [write_themes_assets]
Please can we see more of a joined-up approach within Shopify, so where different teams are responsible for different aspects of a mandated policy, they work together to ensure that developers aren’t left stuck in the middle?
Same issue here.
I have come to believe that Shopify hates its developers. Constantly changing the API and its tools, deprecating a tool suddenly, and now THIS!
It takes a lot of patience to develop an app for Shopify.
Well, they approved the access scopes for the app you have applied for. When you create a new one it shouldn’t have the access scopes because you mention your app name in the form.
So I guess you should apply for your new app as well.