Read_inventory, write_inventory scopes will not install properly

I created a custom app for a client store that is properly scoped for **write_inventory,read_inventory,write_inventory_transfers,read_inventory_transfers,unauthenticated_read_product_inventory
**
The App Store → App Details for the App shows it is installed with

but I cannot get my app to return read_inventory or write_inventory as scopes available and continue to see this error when trying to access graph endpoints with token:

Access denied for inventorySetQuantities field. Required access: write_inventory access scope. Also: The user must have a permission to update an inventory.

So frustrating :frowning:

Hi @katz

For admin-created custom apps, changing the API scopes in the app settings doesn’t automatically update your existing access token. You need to uninstall and reinstall the app to generate a new access token that includes the updated scopes.

You can verify which scopes your current token actually has by querying:

{
  currentAppInstallation {
    accessScopes {
      handle
    }
  }
}

It’s possible read_inventory and write_inventory are missing from the response even though they show as configured in the app settings.

Thanks for the reply @Liam-Shopify!

I’ve reinstalled multiple times. I’ve also rotated tokens. I can’t get these scopes to turn on.

I think the issue might be related to the account that was used to set up the app. For read_inventory and write_inventory, the account needs the “View or manage inventory across multiple locations” permission in the Shopify admin.

Even if the scopes appear selected in the app configuration UI, the access token won’t actually include them unless the person who configured (or last saved) the scopes had the matching store permissions.

Here’s what I’d suggest:

  1. Go to Settings → Users and permissions in the Shopify admin, find the account that set up the custom app, and confirm it has the inventory management permission enabled.
  2. If you’re not the store owner, the simplest fix is to have the store owner open the custom app settings, re-toggle the inventory scopes, and save. The store owner has all permissions by default.
  3. Once the scopes are properly saved by an account with the right permissions, uninstall and reinstall the app to get a fresh token.