PatchVault › Errors › Shopify CLI 5 migration

shopify.app.toml: api_key / top-level scopes (legacy) instead of client_id and [access_scopes]

An older shopify.app.toml uses keys the current app configuration schema does not document: api_key instead of client_id, scopes outside [access_scopes], and webhook subscriptions without a [webhooks] api_version.

Check your code free (runs in your browser)

The box is pre-filled with a sample that triggers this error. Paste your own file to check it. Nothing leaves this page.

Or scan your whole repo locally (free, stdlib Python, read-only):

python3 <(curl -fsSL https://patchvault-81y.pages.dev/starters/shopify-cli-scan.py) .
Get the Shopify CLI 5 migration auto-fixer: $9 one-time

Why it happens

Shopify's app configuration reference lists client_id (the app's public identifier) as required, puts scopes inside [access_scopes], and sets the webhook payload version with webhooks.api_version.

Manual fix

client_id = "<your client id>"
name = "Example App"
application_url = "https://app.example.com/"
embedded = true

[access_scopes]
scopes = "read_products"

[webhooks]
api_version = "2026-10"

Verify

Re-run your install/build and re-scan the file above. The finding should be gone. The paid fixer applies the same change across a repo: --dry-run shows the diff, --apply keeps a .bak of each file, and --rollback restores them.

Sources

Related errors

Full guide and free terminal scanner: Shopify CLI 5 migration. Last checked 2026-10-31.