App configuration is not valid: [definitions]: Required — org-specific, affects all CLI versions

I have reproduced the issue on the latest CLI version.

Yes, I am on the latest version

I have searched existing posts and this report is not a duplicate.

Yes, this isn’t a duplicate

In which of these areas are you experiencing a problem?

App

Expected behavior

shopify app dev should start the development server without throwing a configuration validation error. The shopify.app.toml is valid and unchanged from a previously working state.

Actual behavior

shopify app dev fails immediately with:

App configuration is not valid
Validation errors in shopify.app.toml:

• [definitions]: Required
The error occurs before any extension files are read, after the fetchSpecifications GraphQL request to https://app.shopify.com/app_management/unstable/graphql.json completes. The issue is org-specific — running shopify app dev against an app in a different Shopify organization succeeds without error. Reproduced on CLI versions 3.85.0 and 3.86.0.

Reproduction steps

Have a valid shopify.app.toml linked to an existing app
Run shopify app dev
Observe the [definitions]: Required validation error
For deeper diagnosis, run shopify app dev --verbose — the relevant section is the fetchSpecifications GraphQL request to https://app.shopify.com/app_management/unstable/graphql.json. The request ID from the failing run is 019ee367-c941-7a6a-99b3-cbf8800463f8-1781931690, which Shopify’s backend team can use to retrieve the actual response payload and identify which specification’s validationSchema.jsonSchema changed to require a definitions field.

Verbose output

PS C:\Users\lenwh\repos\b2b-plus-app> shopify app dev --verbose
2026-06-20T06:12:34.857Z: Running command app dev
2026-06-20T06:12:34.869Z: Running system process:
· Command: C:\Program Files\nodejs\node.exe C:\Users\lenwh\AppData\Roaming\npm\node_modules@shopify\cli\bin\run.js notifications list --ignore-errors
· Working directory: C:/Users/lenwh/repos/b2b-plus-app

2026-06-20T06:12:34.882Z: Notifications to show: 0
2026-06-20T06:12:34.901Z: Reading cached app information for directory C:/Users/lenwh/repos/b2b-plus-app…
2026-06-20T06:12:34.902Z: Reading the content of file at shopify.app.toml…
2026-06-20T06:12:34.907Z: Reading the content of file at shopify.app.toml…
2026-06-20T06:12:34.911Z: Ensuring that the user is authenticated with the App Management API with the following scopes:

2026-06-20T06:12:34.912Z: Getting session store…
2026-06-20T06:12:34.914Z: Getting current session ID…
2026-06-20T06:12:34.915Z: Validating existing session against the scopes:
[
“openid”,
https://api.shopify.com/auth/shop.admin.graphql”,
https://api.shopify.com/auth/shop.admin.themes”,
https://api.shopify.com/auth/partners.collaborator-relationships.readonly”,
https://api.shopify.com/auth/shop.storefront-renderer.devtools”,
https://api.shopify.com/auth/partners.app.cli.access”,
https://api.shopify.com/auth/destinations.readonly”,
https://api.shopify.com/auth/organization.store-management”,
https://api.shopify.com/auth/organization.on-demand-user-access”,
https://api.shopify.com/auth/organization.apps.manage
]
For applications:
{
“appManagementApi”: {
“scopes”:
},
“businessPlatformApi”: {
“scopes”:
}
}

2026-06-20T06:12:34.915Z: - Token validation → It’s expired: false
2026-06-20T06:12:34.918Z: Sending “BusinessPlatform” GraphQL request:
query UserInfo {
currentUserAccount {
uuid
email
organizations(first: 2) {
nodes {
name
__typename
}
__typename
}
__typename
}
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.0
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: win32
  • Content-Type: application/json

to https://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2026-06-20T06:12:34.958Z: Sending “App Management” GraphQL request:
query ActiveAppReleaseFromApiKey($apiKey: String!) {
app: appByKey(key: $apiKey) {
…AppVersionInfo
__typename
}
}

fragment ReleasedAppModule on AppModule {
uuid
userIdentifier
handle
config
target
specification {
identifier
externalIdentifier
name
managementExperience
}
}

fragment AppVersionInfo on App {
id
key
organizationId
activeRoot {
clientCredentials {
secrets {
key
}
}
grantedShopifyApprovalScopes
}
activeRelease {
id
version {
name
appModules {
…ReleasedAppModule
}
}
}
}

With variables:
{
“apiKey”: “*****”
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.0
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: win32
  • Content-Type: application/json

to https://app.shopify.com/app_management/unstable/graphql.json
2026-06-20T06:12:35.630Z: Request to https://app.shopify.com/app_management/unstable/graphql.json completed in 672 ms
With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=182, verdict_flag_enabled;desc=“count=3”;dur=0.085, _y;desc=“66dce8d8-90c3-4c93-8cba-ce3b0fbd15ea”, _s;desc=“6d9e8d3a-e258-4df4-8400-ee9e2923b787”
  • x-request-id: 99251375-50d4-478e-a001-ad3d45fc3edc-1781935955

2026-06-20T06:12:35.643Z: Sending “BusinessPlatform” GraphQL request:
query FindOrganizations($organizationId: OrganizationID!) {
currentUserAccount {
organization(id: $organizationId) {
id
name
__typename
}
__typename
}
}

With variables:
{
“organizationId”: “Z2lkOi8vb3JnYW5pemF0aW9uL09yZ2FuaXphdGlvbi8xODgxMDE3MDY=”
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.0
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: win32
  • Content-Type: application/json

to https://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2026-06-20T06:12:35.677Z: Sending “App Management” GraphQL request:
query fetchSpecifications($organizationId: ID!) {
specifications(organizationId: $organizationId) {
name
identifier
externalIdentifier
features
uidStrategy {
appModuleLimit
isClientProvided
__typename
}
validationSchema {
jsonSchema
__typename
}
__typename
}
}

With variables:
{
“organizationId”: “gid://shopify/Organization/188101706”
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.0
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: win32
  • Content-Type: application/json

to https://app.shopify.com/app_management/unstable/graphql.json
2026-06-20T06:12:36.954Z: Request to https://app.shopify.com/app_management/unstable/graphql.json completed in 1276 ms
With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=722, verdict_flag_enabled;desc=“count=8”;dur=0.767, _y;desc=“e538165f-8fea-4c10-8936-814f6afe2565”, _s;desc=“5097a819-f398-416f-8767-632e81f8d218”
  • x-request-id: 989d3d88-85ed-4846-b5cd-25155f200b5f-1781935956

2026-06-20T06:12:36.970Z: The following extension specifications were defined locally but not found in the remote specifications: tax_calculation
2026-06-20T06:12:36.970Z: The following extension specifications were found in the remote specifications but not defined locally: admin_app, app_link, app_nav_item, bulk_action, checkout_script_tag, flow_action_definition, flow_trigger_definition, flow_trigger_discovery_webhook, manage_marketplaces, marketing_action, marketing_activity_extension, merchandising_create_publication, merchandising_fulfillment_variant_details, ping_message_callback, pos_link, product_configuration_link, resource_publication_settings, retail_cart_promotion, retail_product_recommendation, subscription_link
2026-06-20T06:12:36.976Z: Reading the content of file at shopify.app.portalsphere-PPD.toml…
2026-06-20T06:12:36.976Z: Reading the content of file at shopify.app.portalsphere.toml…
2026-06-20T06:12:36.979Z: Reading the content of file at .gitignore…
2026-06-20T06:12:36.983Z: Reading the .env file at .env
2026-06-20T06:12:36.983Z: Reading the content of file at .env…
╭─ error ──────────────────────────────────────────────────────────────────────╮
│ │
│ App configuration is not valid │
│ Validation errors in shopify.app.toml: │
│ │
│ • [definitions]: Required │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯

2026-06-20T06:12:37.385Z: Running system process:
· Command: npm prefix
· Working directory: C:/Users/lenwh/repos/b2b-plus-app

2026-06-20T06:12:37.387Z: Reading the content of file at extensions/b2-b-plus-upsell/shopify.extension.toml…
2026-06-20T06:12:37.387Z: Reading the content of file at extensions/b2b-shipping-visibility/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/buyer-group-editor/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/b2b-volume-discount/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/draft-order-discount/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/buyer-group-cart-requirement/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/portal-sphere-shipping-discount/shopify.extension.toml…
2026-06-20T06:12:37.388Z: Reading the content of file at extensions/payment-customization/shopify.extension.toml…
2026-06-20T06:12:37.389Z: Reading the content of file at extensions/for-you/shopify.extension.toml…
2026-06-20T06:12:37.394Z: Reading the content of file at extensions/b2b-volume-discount/shopify.extension.toml…
2026-06-20T06:12:37.395Z: Reading the content of file at extensions/b2b-shipping-visibility/shopify.extension.toml…
2026-06-20T06:12:37.395Z: Reading the content of file at extensions/buyer-group-editor/shopify.extension.toml…
2026-06-20T06:12:37.395Z: Reading the content of file at extensions/draft-order-discount/shopify.extension.toml…
2026-06-20T06:12:37.395Z: Reading the content of file at extensions/buyer-group-cart-requirement/shopify.extension.toml…
2026-06-20T06:12:37.396Z: Reading the content of file at extensions/portal-sphere-shipping-discount/shopify.extension.toml…
2026-06-20T06:12:37.396Z: Reading the content of file at extensions/for-you/shopify.extension.toml…
2026-06-20T06:12:37.396Z: Reading the content of file at extensions/payment-customization/shopify.extension.toml…
2026-06-20T06:12:37.650Z: Obtaining the dependency manager in directory C:\Users\lenwh\repos\b2b-plus-app…
2026-06-20T06:12:38.181Z: Request to https://monorail-edge.shopifysvc.com/v1/produce completed in 260 ms
With response headers:

  • x-request-id: 91a3eae4-8c30-498b-87f4-65f2f3eb4a80

2026-06-20T06:12:38.182Z: Analytics event sent: {
“command”: “app dev”,
“time_start”: 1781935954858,
“time_end”: 1781935957361,
“total_time”: 2503,
“success”: false,
“cli_version”: “3.86.0”,
“ruby_version”: “”,
“node_version”: “20.20.2”,
“is_employee”: false,
“uname”: “windows amd64”,
“env_ci”: false,
“env_plugin_installed_any_custom”: false,
“env_plugin_installed_shopify”: “["@shopify/cli"]”,
“env_shell”: “powershell”,
“env_device_id”: “a8bffa1df6c004e12d1caac3fc1a4c8ff5235706”,
“env_cloud”: “localhost”,
“env_package_manager”: “npm”,
“env_is_global”: true,
“env_auth_method”: “device_auth”,
“env_is_wsl”: false,
“env_build_repository”: “Shopify/cli”,
“cmd_app_warning_api_key_deprecation_displayed”: false,
“cmd_app_all_configs_any”: true,
“cmd_app_all_configs_clients”: “{"shopify.app.portalsphere-PPD.toml":"2920deb7a8abffb75e7b2ae40476e2e9","shopify.app.portalsphere.toml":"fd1b68a896fed0df468106852c412297","shopify.app.toml":"980b0f44f8deb03356c6e48ed05b6dec"}”,
“cmd_app_linked_config_used”: true,
“cmd_app_linked_config_name”: “shopify.app.toml”,
“cmd_app_linked_config_git_tracked”: false,
“cmd_app_linked_config_source”: “cached”,
“cmd_app_linked_config_uses_cli_managed_urls”: true,
“cmd_all_timing_network_ms”: 1948,
“cmd_all_timing_prompts_ms”: 0,
“cmd_all_launcher”: “unknown”,
“cmd_all_topic”: “app”,
“cmd_all_plugin”: “@shopify/app”,
“cmd_all_verbose”: true,
“cmd_all_path_override”: true,
“cmd_all_path_override_hash”: “f7f4f15fa3a9026ebfeb7901c17445b2876f91bc”,
“cmd_app_dependency_installation_skipped”: false,
“cmd_app_reset_used”: false,
“cmd_dev_tunnel_type”: “auto”,
“cmd_all_last_graphql_request_id”: “989d3d88-85ed-4846-b5cd-25155f200b5f-1781935956”,
“cmd_all_timing_active_ms”: 554,
“cmd_all_exit”: “expected_error”,
“user_id”: “5b0faba4-12c2-44a8-9615-ab886e95da03”,
“request_ids”: [
“99251375-50d4-478e-a001-ad3d45fc3edc-1781935955”,
“989d3d88-85ed-4846-b5cd-25155f200b5f-1781935956”
],
“args”: “–verbose”,
“error_message”: “App configuration is not valid\nValidation errors in shopify.app.toml:\n\n• [definitions]: Required\n”,
“env_plugin_installed_all”: “["@shopify/cli"]”,
“metadata”: “{"extraPublic":{},"extraSensitive":{}}”
}
2026-06-20T06:12:38.201Z: Reporting handled error to Bugsnag: App configuration is not valid
Validation errors in shopify.app.toml:

• [definitions]: Required

2026-06-20T06:12:38.223Z: Running system process:
· Command: npm prefix
· Working directory: C:/Users/lenwh/repos/b2b-plus-app

2026-06-20T06:12:38.495Z: Obtaining the dependency manager in directory C:\Users\lenwh\repos\b2b-plus-app…
PS C:\Users\lenwh\repos\b2b-plus-app>

Operating system

Windows 11

CLI version

3.86.0

Shell

PowerShell

Nodejs version

v20.20.2

What language and version are you using in your application?

Node.js 20.20.2

Hey @Len_White1 :waving_hand: thanks for flagging this.

Digging into this further, it looks like this error is related to a bug that we’ve since shipped a fix for, so it should no longer be occurring.

If for any reason you’re still seeing issues, please let us know and share another verbose output and we can definitely investigate further.

Thanks!