cli icon indicating copy to clipboard operation
cli copied to clipboard

[Bug]: Error Theme ID mismatch

Open Sabine-Tieland opened this issue 3 months ago • 33 comments

Please confirm that you have:

  • [x] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
  • [x] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?

Theme

Expected behavior

When local running a theme for development it should not stop out of the blue with error saying 'Theme ID mismatch'

Actual behavior

When running the theme local while developing, out of the blue it stops giving an error in the terminal saying: Command failed with exit code 1. │ Theme ID mismatch: expected [some_i but got [some_other_id].
│ Request ID: xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxxxx
│ URL:
│ This is likely related to an issue in upstream Shopify APIs.
│ Please try again in a few minutes and report this issue:
│ https://github.com/Shopify/cli/issues/new?template=bug-report.yml

Verbose output

Verbose output
Version 9.12.1 (compiled to binary; bundled Node.js v18.20.4)
Usage: pnpm [command] [flags]
pnpm [ -h | --help | -v | --version ]

Manage your dependencies:
    add                  Installs a package and any packages that it depends on. By default, any new package is installed as a prod dependency
    import               Generates a pnpm-lock.yaml from an npm package-lock.json (or npm-shrinkwrap.json) file
 i, install              Install all dependencies for a project
it, install-test         Runs a pnpm install followed immediately by a pnpm test
ln, link                 Connect the local project to another one
    prune                Removes extraneous packages
rb, rebuild              Rebuild a package
rm, remove               Removes packages from node_modules and from the project's package.json
    unlink               Unlinks a package. Like yarn unlink but pnpm re-installs the dependency after removing the external link
up, update               Updates packages to their latest version based on the specified range

Review your dependencies:
    audit                Checks for known security issues with the installed packages
    licenses             Check licenses in consumed packages
ls, list                 Print all the versions of packages that are installed, as well as their dependencies, in a tree-structure
    outdated             Check for outdated packages

Run your scripts:
    exec                 Executes a shell command in scope of a project
    run                  Runs a defined package script
    start                Runs an arbitrary command specified in the package's "start" property of its "scripts" object
 t, test                 Runs a package's "test" script, if one was provided

Other:
    cat-file             Prints the contents of a file based on the hash value stored in the index file
    cat-index            Prints the index file of a specific package from the store
    find-hash            Experimental! Lists the packages that include the file with the specified hash.
    pack                 Create a tarball from a package
    publish              Publishes a package to the registry
    root                 Prints the effective modules directory

Manage your store:
    store add            Adds new packages to the pnpm store directly. Does not modify any projects or files outside the store
    store path           Prints the path to the active store directory
    store prune          Removes unreferenced (extraneous, orphan) packages from the store
    store status         Checks for modified packages in the store

Options:
-r, --recursive          Run the command for each project in the workspace.

Reproduction steps

  1. npm run start
  2. selected environment
  3. did some style or liquid changes and saved them
  4. did changes a few more times
  5. get error 'Theme ID mismatch' and stops completely with 'Command failed with exit code 1.'
  6. can no longer do changes, need to restart

Operating System

MacOS Sequoia v15.6.1sh

Shopify CLI version (shopify --version)

3.83.3

Shell

Git

Node version (run node -v if you're not sure)

v18.20.4

What language and version are you using in your application?

html/css/liquid/node JS

Sabine-Tieland avatar Sep 11 '25 13:09 Sabine-Tieland

👋 Hey @Sabine-Tieland,

Thank you for reporting this!

I'm facing some challenges reproducing this issue on my end.

Could you please share your full shopify theme dev --verbose output? That would really help us understand the sequence of requests involved (with the number of reports we’ve seen, it seems this may be related to the region where the command is executed—but we’ll need the --verbose output to confirm that hypothesis and fix it)

Thank you!

karreiro avatar Sep 15 '25 14:09 karreiro

This exact same issue has happened to me this afternoon, exactly as described above. If I preview the editor [e], all is fine, if i preview the theme (t) as above.

Verbose output if any help:

{}

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/unstable/graphql.json 2025-09-19T16:29:11.475Z: Request to https://stevenmcc.myshopify.com/admin/api/unstable/graphql.json completed in 222 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=57, verdict_flag_enabled;desc="count=12";dur=0.996, graphql;desc="admin/query/other", _y;desc="d790c300-5331-4a9d-bbb8-1d4ced4c331c", _s;desc="0fc62851-a606-42f3-9c4f-0a2f96f4a2d4", cfRequestDuration;dur=104.999781
  • x-request-id: 6c09c95c-25e4-4716-822b-2872956cc97f-1758299351

2025-09-19T16:29:11.476Z: Sending "Admin" GraphQL request: query getTheme($id: ID!) { theme(id: $id) { id name role processing __typename } }

With variables: { "id": "gid://shopify/OnlineStoreTheme/187460976970" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:11.638Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 162 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=46, verdict_flag_enabled;desc="count=12";dur=0.874, graphql;desc="admin/query/other", _y;desc="73b28d39-50b4-48a9-9883-12b2986116e4", _s;desc="d0246d0f-3823-47bc-9dd9-5b09ec320339", cfRequestDuration;dur=85.000038
  • x-request-id: 1d5316a0-0a55-45ab-b953-8dd06348cc0c-1758299351

2025-09-19T16:29:11.649Z: Sending "Admin" GraphQL request: query OnlineStorePasswordProtection { onlineStore { passwordProtection { enabled __typename } __typename } }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:11.827Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 178 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=45, verdict_flag_enabled;desc="count=11";dur=0.622, graphql;desc="admin/query/other", _y;desc="eb7d9052-645f-48bc-a86f-e36f9de50b57", _s;desc="4a1d76cd-e643-42ec-93b5-9d0a5e893a99", cfRequestDuration;dur=108.999968
  • x-request-id: 19da908d-ca2a-41dc-812b-b4dd3c68405d-1758299351

2025-09-19T16:29:11.828Z: Getting storefront password for shop stevenmcc.myshopify.com... 2025-09-19T16:29:11.829Z: Sending POST request to URL https://stevenmcc.myshopify.com/password With request headers:

  • cache-control: no-cache
  • content-type: application/x-www-form-urlencoded

2025-09-19T16:29:12.026Z: Request to https://stevenmcc.myshopify.com/password completed in 197 ms With response headers:

  • cache-control: private, no-store
  • content-type: text/html; charset=utf-8
  • server-timing: processing;dur=74;desc="gc:4", db;dur=26, db_async;dur=1.736, asn;desc="1267", edge;desc="MXP", country;desc="IT", theme;desc="178562564426", pageType;desc="password", servedBy;desc="kbtl", requestID;desc="99ed69b6-9f40-4e02-a87b-1a55b75e115c-1758299351", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_IT34_t_f_t1Q-yITKG72hnZEyOC1A", cfRequestDuration;dur=121.999979
  • x-request-id: 99ed69b6-9f40-4e02-a87b-1a55b75e115c-1758299351

2025-09-19T16:29:12.027Z: Setting storefront password for shop stevenmcc.myshopify.com... 2025-09-19T16:29:12.044Z: Port 9292 is free 2025-09-19T16:29:12.044Z: Ensuring that the user is authenticated with the Theme API with the following scopes: []

2025-09-19T16:29:12.044Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store stevenmcc.myshopify.com: []

2025-09-19T16:29:12.044Z: Getting session store... 2025-09-19T16:29:12.044Z: 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: { "adminApi": { "scopes": [], "storeFqdn": "stevenmcc.myshopify.com" } }

2025-09-19T16:29:12.044Z: - Token validation -> It's expired: false 2025-09-19T16:29:12.044Z: Ensuring that the user is authenticated with the Storefront API with the following scopes: []

2025-09-19T16:29:12.044Z: Getting session store... 2025-09-19T16:29:12.045Z: 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: { "storefrontRendererApi": { "scopes": [] } }

2025-09-19T16:29:12.045Z: - Token validation -> It's expired: false 2025-09-19T16:29:12.045Z: Sending HEAD request to URL https://stevenmcc.myshopify.com/?preview_theme_id=187460976970&_fd=0&pb=0 With request headers:

  • X-Shopify-Shop: stevenmcc.myshopify.com
  • User-Agent: Shopify CLI; v=3.84.1

2025-09-19T16:29:12.049Z: Reading the content of file at assets/Mattone-Regular.woff... 2025-09-19T16:29:12.049Z: Reading the content of file at assets/Mattone-Regular.woff2... 2025-09-19T16:29:12.049Z: Reading the content of file at assets/Satoshi-Bold.eot... 2025-09-19T16:29:12.049Z: Reading the content of file at assets/Satoshi-Bold.ttf... 2025-09-19T16:29:12.049Z: Reading the content of file at assets/Satoshi-Bold.woff... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/Satoshi-Bold.woff2... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/Satoshi-Medium.eot... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/Satoshi-Medium.ttf... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/Satoshi-Medium.woff... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/Satoshi-Medium.woff2... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/application.js... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/base-dawn.css... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/base.css... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/component-search.css... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/component-slider.css... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/component-slideshow.css... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/global.js... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/icon-site.svg... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/icon-social.svg... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/magnify.js... 2025-09-19T16:29:12.050Z: Reading the content of file at assets/predictive-search.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/product-media-gallery.css... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/product-media-gallery.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/product-recommendations-min.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/product-recommendations.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/product.css... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/quantity-control-min.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/quantity-control.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/section-product-assurances.css... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/section-product-tech.css... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/slideshow.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/theme-ui-min.js... 2025-09-19T16:29:12.051Z: Reading the content of file at assets/theme-ui.js... 2025-09-19T16:29:12.051Z: Reading the content of file at config/settings_data.json... 2025-09-19T16:29:12.051Z: Reading the content of file at config/settings_schema.json... 2025-09-19T16:29:12.051Z: Reading the content of file at layout/theme.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at locales/en.default.json... 2025-09-19T16:29:12.051Z: Reading the content of file at locales/en.default.schema.json... 2025-09-19T16:29:12.051Z: Reading the content of file at locales/it.json... 2025-09-19T16:29:12.051Z: Reading the content of file at locales/it.schema.json... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/collection-hero.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/contact-form.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/featured-collection.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/featured-products.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/footer.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/header.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/predictive-search.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/section-product-family.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/section-product-suggested.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/section-product-tech.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/selling-points.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/slideshow.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/photo-banners.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/template-404.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/template-cart.liquid... 2025-09-19T16:29:12.051Z: Reading the content of file at sections/template-page.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at sections/template-product.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at sections/template-collection.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at sections/template-search.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/header-search.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/pagination.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/loading-spinner.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-assurances.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-card-placeholder.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-media-gallery.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-media.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-thumbnail.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/product-card.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/products-suggested-inline.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/quantity-control.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/selling-point-item.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/404.json... 2025-09-19T16:29:12.052Z: Reading the content of file at snippets/social-icons.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/article.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/blog.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/cart.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/collection.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/gift_card.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/index.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/page.contact.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/page.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/product.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/search.json... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/customers/activate_account.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/customers/addresses.liquid... 2025-09-19T16:29:12.052Z: Reading the content of file at templates/customers/login.liquid... 2025-09-19T16:29:12.053Z: Reading the content of file at templates/customers/account.liquid... 2025-09-19T16:29:12.053Z: Reading the content of file at templates/customers/order.liquid... 2025-09-19T16:29:12.053Z: Reading the content of file at templates/customers/register.liquid... 2025-09-19T16:29:12.053Z: Reading the content of file at templates/customers/reset_password.liquid... 2025-09-19T16:29:12.260Z: Request to https://stevenmcc.myshopify.com/?preview_theme_id=187460976970&_fd=0&pb=0 completed in 215 ms With response headers:

  • cache-control: private, no-store
  • content-type: text/html; charset=utf-8
  • server-timing: processing;dur=77;desc="gc:4", db;dur=34, db_async;dur=1.316, asn;desc="1267", edge;desc="MXP", country;desc="IT", theme;desc="187460976970", pageType;desc="index", servedBy;desc="85rb", requestID;desc="a26cbd15-342a-447b-82a7-3d873b5e2428-1758299352", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_IT34_t_f_dVWqxH7GT-WyHN6zn6wjfg", cfRequestDuration;dur=116.999865
  • x-request-id: a26cbd15-342a-447b-82a7-3d873b5e2428-1758299352

2025-09-19T16:29:12.261Z: Sending POST request to URL https://stevenmcc.myshopify.com/password With request headers:

  • X-Shopify-Shop: stevenmcc.myshopify.com
  • User-Agent: Shopify CLI; v=3.84.1
  • Cookie: _shopify_essential=:AZlizuynAAH_gWU8MmWlO_TLgw26qcX3tnVYIsm9XiZLJA43OQdsjbqEyuGwiD83a0gwuw7UMAnidDY2YtihHJDMFy6rzzf5_6QZhEx0K7dlkaIykdI4I58QM-NVJSh4bxngTCDE7oBum8dMTkBhDbE2fiAlZt2i-ND3t4T7kqZMkAkaBp7GoOoQwCrpGc8AcKs_TTJ_MlO0LCKROnI0wd3eiw:

2025-09-19T16:29:12.450Z: Request to https://stevenmcc.myshopify.com/password completed in 190 ms With response headers:

  • cache-control: private, no-store
  • content-type: text/html; charset=utf-8
  • server-timing: processing;dur=78;desc="gc:3", db;dur=34, db_async;dur=1.376, asn;desc="1267", edge;desc="MXP", country;desc="IT", theme;desc="187460976970", pageType;desc="password", servedBy;desc="5rvd", requestID;desc="5ee0c73d-c846-4e8d-87d7-0bbdce5613cd-1758299352", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_IT34_t_f_oxZOR-bkTDya860-cPCD4g", cfRequestDuration;dur=120.000124
  • x-request-id: 5ee0c73d-c846-4e8d-87d7-0bbdce5613cd-1758299352

2025-09-19T16:29:12.463Z: Sending "Admin" GraphQL request: query getThemeFileChecksums($id: ID!, $after: String) { theme(id: $id) { files(first: 250, after: $after) { nodes { filename size checksumMd5 __typename } userErrors { filename code __typename } pageInfo { hasNextPage endCursor __typename } __typename } __typename } }

With variables: { "id": "gid://shopify/OnlineStoreTheme/187460976970", "after": null }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.637Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 174 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=60, verdict_flag_enabled;desc="count=30";dur=0.942, graphql;desc="admin/query/other", _y;desc="8ca685f5-1f55-4e54-b1d3-1592614dbd6c", _s;desc="9f6b40e7-2193-4596-8b31-d4c21de845ed", cfRequestDuration;dur=101.999998
  • x-request-id: 442a4f8b-cbdb-4422-9805-089e34c7451e-1758299352

2025-09-19T16:29:12.640Z: Sending "Admin" GraphQL request: mutation themeFilesUpsert($files: [OnlineStoreThemeFilesUpsertFileInput!]!, $themeId: ID!) { themeFilesUpsert(files: $files, themeId: $themeId) { upsertedThemeFiles { filename __typename } userErrors { filename message __typename } __typename } }

With variables: { "themeId": "gid://shopify/OnlineStoreTheme/187460976970", "files": [ { "filename": "layout/password.liquid", "body": { "type": "TEXT", "value": "{{ content_for_header }}{{ content_for_layout }}" } } ] }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json ╭─ success ────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ Preview your theme (t) │ │ • http://127.0.0.1:9292 │ │ │ │ Next steps │ │ • Share your theme preview (p) https://stevenmcc.myshopify.com/?preview_theme_id=187460976970 │ │ • Customize your theme at the theme editor (e) │ │ • Preview your gift cards (g) │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯

2025-09-19T16:29:12.683Z: Ensuring that the user is authenticated with the Theme API with the following scopes: []

2025-09-19T16:29:12.683Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store stevenmcc.myshopify.com: []

2025-09-19T16:29:12.684Z: Getting session store... 2025-09-19T16:29:12.684Z: 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: { "adminApi": { "scopes": [], "storeFqdn": "stevenmcc.myshopify.com" } }

2025-09-19T16:29:12.684Z: - Token validation -> It's expired: false 2025-09-19T16:29:12.689Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "ARTICLE" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.689Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "BLOG" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.689Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "COLLECTION" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "COMPANY" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "COMPANY_LOCATION" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "LOCATION" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "MARKET" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "ORDER" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "PAGE" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "PRODUCT" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.690Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "PRODUCTVARIANT" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.691Z: Sending "Admin" GraphQL request: query metafieldDefinitionsByOwnerType($ownerType: MetafieldOwnerType!) { metafieldDefinitions(ownerType: $ownerType, first: 250) { nodes { key name namespace description type { category name __typename } __typename } __typename } }

With variables: { "ownerType": "SHOP" }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:12.871Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 181 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=46, verdict_flag_enabled;desc="count=12";dur=0.604, graphql;desc="admin/query/other", _y;desc="b7b4096f-dc4d-44fb-bad1-19cb06ac4f81", _s;desc="c50f7796-2433-46a0-8e97-13329d6e4da5", cfRequestDuration;dur=92.999935
  • x-request-id: 1530900e-8981-4af8-8fa6-051a85cf2ac9-1758299352

2025-09-19T16:29:12.872Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 182 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=50, verdict_flag_enabled;desc="count=12";dur=0.615, graphql;desc="admin/query/other", _y;desc="191ce7ac-082c-41f3-8e2a-348191b00c2b", _s;desc="959c1c75-9400-4144-a1d6-02cee5eb2704", cfRequestDuration;dur=92.999935
  • x-request-id: b3b9aff1-fade-47a8-bd62-93e86ec9dbad-1758299352

2025-09-19T16:29:12.885Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 195 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=50, verdict_flag_enabled;desc="count=11";dur=0.614, graphql;desc="admin/query/other", _y;desc="089a861b-0ee6-4353-83fd-58894b6adcfa", _s;desc="a8b5d3f8-5312-45a8-a7fd-9d67914e8a36", cfRequestDuration;dur=94.000101
  • x-request-id: 928065c9-dae3-46d5-9178-9b04036c5d0e-1758299352

2025-09-19T16:29:12.886Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 195 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=52, verdict_flag_enabled;desc="count=12";dur=0.891, graphql;desc="admin/query/other", _y;desc="0ec737ae-ed1a-4da2-b939-b2c0fad6a9ad", _s;desc="44ec10a1-91a7-43e4-94c2-2a62bbf2c330", cfRequestDuration;dur=90.999842
  • x-request-id: d9a5300e-1025-4e19-b11f-751aaf7be349-1758299352

2025-09-19T16:29:12.888Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 198 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=50, verdict_flag_enabled;desc="count=12";dur=0.67, graphql;desc="admin/query/other", _y;desc="65c09398-af15-4bf8-b4c7-1762f08a5b6c", _s;desc="94b160d1-41da-4e9f-ac9c-f403b6f1dd99", cfRequestDuration;dur=92.999935
  • x-request-id: 82a89667-4ddd-47c4-814f-54d9781f1566-1758299352

2025-09-19T16:29:12.888Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 199 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=57, verdict_flag_enabled;desc="count=12";dur=0.88, graphql;desc="admin/query/other", _y;desc="b259d263-9e39-4aab-a6e0-b580cee53f7b", _s;desc="22fbe5ad-6b04-4e86-a40b-7bf5861e5cc6", cfRequestDuration;dur=106.999874
  • x-request-id: bd2cac52-495e-49ca-96c2-e120903e1c1e-1758299352

2025-09-19T16:29:12.889Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 199 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=45, verdict_flag_enabled;desc="count=11";dur=0.485, graphql;desc="admin/query/other", _y;desc="c504b97b-bc57-48dc-894b-fdfa89e363a6", _s;desc="61957379-7130-440c-b1e4-dd219f56b18b", cfRequestDuration;dur=101.000071
  • x-request-id: 93272dd2-55f7-4cca-893f-b08bf69cbf09-1758299352

2025-09-19T16:29:12.889Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 199 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=50, verdict_flag_enabled;desc="count=12";dur=0.638, graphql;desc="admin/query/other", _y;desc="cd74c4bb-a8c5-41af-97ed-0920430a50ce", _s;desc="c33bd14b-fd14-4f7d-922f-bcda96c23509", cfRequestDuration;dur=97.000122
  • x-request-id: ba92cf97-91f1-42c5-aedf-b72030b8e0a4-1758299352

2025-09-19T16:29:12.893Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 202 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=60, verdict_flag_enabled;desc="count=12";dur=1.212, graphql;desc="admin/query/other", _y;desc="16cfdd72-f23c-4780-a51e-f28253510500", _s;desc="7542cdac-fb07-45db-975e-30c08eaf6166", cfRequestDuration;dur=103.999853
  • x-request-id: bfe8aa70-e954-4fbd-b12a-40b64aa5e34e-1758299352

2025-09-19T16:29:12.904Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 214 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=53, verdict_flag_enabled;desc="count=11";dur=0.631, graphql;desc="admin/query/other", _y;desc="78dc3c99-a1f3-4759-ac95-d6ef3ab2c590", _s;desc="9b6cd8f9-f895-4768-bf43-131334da7306", cfRequestDuration;dur=115.999937
  • x-request-id: d4605cf9-b2bc-44f1-93d5-be8205bfb61c-1758299352

2025-09-19T16:29:12.938Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 248 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=51, verdict_flag_enabled;desc="count=12";dur=0.815, graphql;desc="admin/query/other", _y;desc="90f0af8f-1c8e-433b-b629-ff611995722b", _s;desc="4ed5a646-751f-4ee4-ad7f-308bb716cbed", cfRequestDuration;dur=132.999897
  • x-request-id: e0b9cd9b-2025-49aa-9fa9-ac7972db2388-1758299352

2025-09-19T16:29:12.942Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 252 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=109, verdict_flag_enabled;desc="count=11";dur=47.343, graphql;desc="admin/query/other", _y;desc="dc7663d4-18d4-4278-8629-dd701334494f", _s;desc="35a1676b-4222-47d8-b452-5a67c6d174d2", cfRequestDuration;dur=153.000116
  • x-request-id: 3ef330c2-42d0-4ac3-b661-e46c86adc1eb-1758299352

2025-09-19T16:29:12.943Z: File-writing some content to file at .shopify/metafields.json... 2025-09-19T16:29:12.950Z: Running system process: · Command: npm prefix · Working directory: /Users/stevemccluskey/Bitbucket Files/shopify-dev/monkey-base-shopify

2025-09-19T16:29:12.979Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 339 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=163, verdict_flag_enabled;desc="count=54";dur=2.061, graphql;desc="admin/mutation/other", _y;desc="1c2d215a-b7ee-4811-8f96-4264eaaa9c5e", _s;desc="1ad87bb9-16a3-4608-b1fe-9bcb55f24ba9", cfRequestDuration;dur=205.999851
  • x-request-id: 121c0ac1-c47a-4f4b-a0e8-ed7e7bbddacb-1758299352

2025-09-19T16:29:12.980Z: Files to be uploaded: -templates/404.json -templates/cart.json -templates/page.json -templates/product.json -templates/search.json -templates/page.contact.json 2025-09-19T16:29:12.983Z: Uploading the following files: -templates/404.json -templates/cart.json -templates/page.json -templates/product.json -templates/search.json -templates/page.contact.json 2025-09-19T16:29:12.984Z: Sending "Admin" GraphQL request: mutation themeFilesUpsert($files: [OnlineStoreThemeFilesUpsertFileInput!]!, $themeId: ID!) { themeFilesUpsert(files: $files, themeId: $themeId) { upsertedThemeFiles { filename __typename } userErrors { filename message __typename } __typename } }

With variables: { "themeId": "gid://shopify/OnlineStoreTheme/187460976970", "files": [ { "filename": "templates/404.json", "body": { "type": "TEXT", "value": "{"name":"Template 404","sections":{"template":{"type":"template-404"}},"order":["template"]}" } }, { "filename": "templates/cart.json", "body": { "type": "TEXT", "value": "{"sections":{"template":{"type":"template-cart"}},"order":["template"]}" } }, { "filename": "templates/page.json", "body": { "type": "TEXT", "value": "{"sections":{"template":{"type":"template-page"}},"order":["template"]}" } }, { "filename": "templates/product.json", "body": { "type": "TEXT", "value": "{"sections":{"template":{"type":"template-product"},"product-tech":{"type":"section-product-tech","settings":{"heading_desc":"Product description","heading_image":"Technical image","heading_specs":"Technical specifications","show_desc":true,"show_image":true,"show_specs":true}},"suggested":{"type":"section-product-suggested","settings":{"heading":"You may also like","intent":"related","limit":4}},"selling-points":{"type":"selling-points","settings":{"sp_heading":"Why shop with us","sp_columns":3,"use_global":true,"icon_position":true}},"product-family":{"type":"section-product-family"}},"order":["template","product-tech","suggested","selling-points","product-family"]}" } }, { "filename": "templates/search.json", "body": { "type": "TEXT", "value": "{"sections":{"template":{"type":"template-search"}},"order":["template"]}" } }, { "filename": "templates/page.contact.json", "body": { "type": "TEXT", "value": "{"sections":{"template":{"type":"template-page"},"contact-form":{"type":"contact-form"}},"order":["template","contact-form"]}" } } ] }

With request headers:

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

to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json 2025-09-19T16:29:13.062Z: Obtaining the dependency manager in directory /Users/stevemccluskey/Bitbucket Files/shopify-dev/monkey-base-shopify... 2025-09-19T16:29:13.384Z: Request to https://monorail-edge.shopifysvc.com/v1/produce completed in 222 ms With response headers:

  • x-request-id: 92054c55-341f-4e8a-912a-d3f2f47a6259

2025-09-19T16:29:13.384Z: Analytics event sent: { "command": "theme dev", "time_start": 1758299351229, "time_end": 1758299352946, "total_time": 1717, "success": true, "cli_version": "3.84.1", "ruby_version": "", "node_version": "24.8.0", "is_employee": false, "uname": "darwin arm64", "env_ci": false, "env_plugin_installed_any_custom": false, "env_plugin_installed_shopify": "["@shopify/cli"]", "env_shell": "zsh", "env_device_id": "bf9668e2d4808062724fb733c3cde38f6d653b5f", "env_cloud": "localhost", "env_package_manager": "unknown", "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_all_timing_network_ms": 1679, "cmd_all_timing_prompts_ms": 0, "cmd_all_launcher": "unknown", "cmd_all_topic": "theme", "cmd_all_plugin": "@shopify/theme", "cmd_all_force": false, "cmd_all_verbose": true, "cmd_all_path_override": true, "cmd_all_path_override_hash": "4903a8ef1ecd01ffd4cf05dd687b1bf4eb958c3a", "cmd_all_last_graphql_request_id": "121c0ac1-c47a-4f4b-a0e8-ed7e7bbddacb-1758299352", "cmd_all_timing_active_ms": 37, "cmd_all_exit": "ok", "user_id": "c184642b-f09d-4a54-9c88-4535c2eaafca", "request_ids": [ "6c09c95c-25e4-4716-822b-2872956cc97f-1758299351", "1d5316a0-0a55-45ab-b953-8dd06348cc0c-1758299351", "19da908d-ca2a-41dc-812b-b4dd3c68405d-1758299351", "442a4f8b-cbdb-4422-9805-089e34c7451e-1758299352", "1530900e-8981-4af8-8fa6-051a85cf2ac9-1758299352", "b3b9aff1-fade-47a8-bd62-93e86ec9dbad-1758299352", "928065c9-dae3-46d5-9178-9b04036c5d0e-1758299352", "d9a5300e-1025-4e19-b11f-751aaf7be349-1758299352", "82a89667-4ddd-47c4-814f-54d9781f1566-1758299352", "bd2cac52-495e-49ca-96c2-e120903e1c1e-1758299352", "93272dd2-55f7-4cca-893f-b08bf69cbf09-1758299352", "ba92cf97-91f1-42c5-aedf-b72030b8e0a4-1758299352", "bfe8aa70-e954-4fbd-b12a-40b64aa5e34e-1758299352", "d4605cf9-b2bc-44f1-93d5-be8205bfb61c-1758299352", "e0b9cd9b-2025-49aa-9fa9-ac7972db2388-1758299352", "3ef330c2-42d0-4ac3-b661-e46c86adc1eb-1758299352", "121c0ac1-c47a-4f4b-a0e8-ed7e7bbddacb-1758299352" ], "args": "--verbose", "env_plugin_installed_all": "["@shopify/cli"]", "metadata": "{"extraPublic":{},"extraSensitive":{}}" } 2025-09-19T16:29:13.385Z: Completed command theme dev 2025-09-19T16:29:13.616Z: Request to https://stevenmcc.myshopify.com/admin/api/2025-07/graphql.json completed in 631 ms With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=500, verdict_flag_enabled;desc="count=280";dur=16.874, graphql;desc="admin/mutation/other", _y;desc="daf3a9f5-0ec2-47b2-9a01-3b376577ac27", _s;desc="5856a3f5-3037-4590-8058-caf00af2edb4", cfRequestDuration;dur=553.999901
  • x-request-id: d35728b2-fcc4-47a5-a938-52f207c6acf7-1758299353

2025-09-19T16:29:13.616Z: File Upload Results: -templates/404.json: success -templates/cart.json: success -templates/page.json: success -templates/product.json: success -templates/search.json: success -templates/page.contact.json: success 2025-09-19T16:29:13.617Z: Files to be deleted:

SteveMcC71 avatar Sep 19 '25 16:09 SteveMcC71

Also experiencing this issue. Always with github sourced themes but that might be because I'm not using any themes not sourced through github. Anyways the solution to when it happens is deleting the github sourced theme in Shopify and then adding it again. Then, you just specify the re-uploaded theme's id by running:

shopify theme dev --store <id>

However, it's pretty anoying.

wake-digital avatar Sep 25 '25 11:09 wake-digital

👋 Hey @SteveMcC71,

Thanks so much for sharing your context! I took a look at the --verbose output you posted, but it doesn't seem to include the Theme ID mismatch error just yet.

Could you grab a copy of the output where that error appears and share it here? That would help a ton.

--

👋 Hey @wake-digital,

If you could share your output as well, that would be very helpful.

--

It looks like the root cause of this issue might be region-specific. Your --verbose outputs are essential for us to make sure the fix actually addresses the problem you’re encountering.

Thank you, everyone, for reporting.

karreiro avatar Sep 29 '25 08:09 karreiro

@karreiro sure. The reproducibility just isn't quite reliable. I'll try to remember to grab it once it happens though. Btw my guess is that it's related to some cache causing trouble - that seems to be a common trend with most of the Shopify bugs I've come across.

wake-digital avatar Sep 29 '25 08:09 wake-digital

@karreiro are you available right now? I've gotten the thing to happen again, but the verbose logs literally exceed my terminal's scrollback limit, so I doubt I'd be able to copy it all here.

wake-digital avatar Oct 01 '25 12:10 wake-digital

Anyways here's a bit towards the end:

2025-10-01T12:01:19.578Z: → Rendering https://intercut-eur.myshopify.com/?_fd=0&pb=0 (with config/markets.json)...
2025-10-01T12:01:20.087Z: ← 200 (request_id: e6a910b2-11f7-462b-850c-c6fddfb783a7-1759320079)
• 14:01:20 Request »    GET 200 / 75ms
2025-10-01T12:01:20.471Z: Theme ID mismatch: expected 178318639440 but got 178320474448; refreshing session...
2025-10-01T12:01:20.471Z: Refreshing theme session...
2025-10-01T12:01:20.471Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2025-10-01T12:01:20.471Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store intercut-eur.myshopify.com:
[]

2025-10-01T12:01:20.471Z: Getting session store...
2025-10-01T12:01:20.472Z: Getting current session ID...
2025-10-01T12:01:20.472Z: 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:
{
  "adminApi": {
    "scopes": [],
    "storeFqdn": "intercut-eur.myshopify.com"
  }
}

2025-10-01T12:01:20.472Z: - Token validation -> It's expired: false
2025-10-01T12:01:20.472Z: Ensuring that the user is authenticated with the Storefront API with the following scopes:
[]

2025-10-01T12:01:20.472Z: Getting session store...
2025-10-01T12:01:20.473Z: Getting current session ID...
2025-10-01T12:01:20.473Z: 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:
{
  "storefrontRendererApi": {
    "scopes": []
  }
}

2025-10-01T12:01:20.473Z: - Token validation -> It's expired: false
2025-10-01T12:01:20.473Z: Sending HEAD request to URL https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0
With request headers:
 - X-Shopify-Shop: intercut-eur.myshopify.com
 - User-Agent: Shopify CLI; v=3.85.4

2025-10-01T12:01:20.804Z: Request to https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0 completed in 331 ms
With response headers:
 - cache-control: private, no-store
 - content-type: text/html; charset=utf-8
 - server-timing: processing;dur=28;desc="gc:2", db;dur=9, db_async;dur=1.449, asn;desc="205345", edge;desc="PRG", country;desc="CZ", theme;desc="178318639440", pageType;desc="index", servedBy;desc="wdgn", requestID;desc="e1dc25d0-a006-4048-83af-38db0a7abf13-1759320080", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_CZ80_t_f_46IrCJ12TryyhzIL-hl2yg", cfRequestDuration;dur=75.000048
 - x-request-id: e1dc25d0-a006-4048-83af-38db0a7abf13-1759320080
    
2025-10-01T12:01:20.809Z: → Rendering https://intercut-eur.myshopify.com/?_fd=0&pb=0 (with config/markets.json)...
2025-10-01T12:01:21.144Z: ← 200 (request_id: 4a11ab89-ef0e-436e-a508-3bd19822d0d8-1759320081)
• 14:01:21 Request »    GET 200 / 66ms
2025-10-01T12:01:21.166Z: Theme ID mismatch: expected 178318639440 but got 178320474448; refreshing session...
2025-10-01T12:01:21.166Z: Refreshing theme session...
2025-10-01T12:01:21.166Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2025-10-01T12:01:21.166Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store intercut-eur.myshopify.com:
[]

2025-10-01T12:01:21.166Z: Getting session store...
2025-10-01T12:01:21.167Z: Getting current session ID...
2025-10-01T12:01:21.167Z: 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:
{
  "adminApi": {
    "scopes": [],
    "storeFqdn": "intercut-eur.myshopify.com"
  }
}

2025-10-01T12:01:21.167Z: - Token validation -> It's expired: false
2025-10-01T12:01:21.167Z: Ensuring that the user is authenticated with the Storefront API with the following scopes:
[]

2025-10-01T12:01:21.167Z: Getting session store...
2025-10-01T12:01:21.168Z: Getting current session ID...
2025-10-01T12:01:21.168Z: 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:
{
  "storefrontRendererApi": {
    "scopes": []
  }
}

2025-10-01T12:01:21.168Z: - Token validation -> It's expired: false
2025-10-01T12:01:21.168Z: Sending HEAD request to URL https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0
With request headers:
 - X-Shopify-Shop: intercut-eur.myshopify.com
 - User-Agent: Shopify CLI; v=3.85.4

2025-10-01T12:01:21.634Z: Request to https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0 completed in 465 ms
With response headers:
 - cache-control: private, no-store
 - content-type: text/html; charset=utf-8
 - server-timing: processing;dur=28;desc="gc:2", db;dur=10, db_async;dur=1.303, asn;desc="205345", edge;desc="PRG", country;desc="CZ", theme;desc="178318639440", pageType;desc="index", servedBy;desc="qrlr", requestID;desc="3de546ea-a350-466e-9393-d7e6457d8c27-1759320081", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_CZ80_t_f_LT7zCh0AR6GdFqTbdPlefA", cfRequestDuration;dur=73.999882
 - x-request-id: 3de546ea-a350-466e-9393-d7e6457d8c27-1759320081
    
2025-10-01T12:01:21.639Z: → Rendering https://intercut-eur.myshopify.com/?_fd=0&pb=0 (with config/markets.json)...
2025-10-01T12:01:21.970Z: ← 200 (request_id: 0fd44646-8a51-48fa-9126-4a8bc6a880ea-1759320081)
• 14:01:21 Request »    GET 200 / 102ms
2025-10-01T12:01:21.979Z: Theme ID mismatch: expected 178318639440 but got 178320474448; refreshing session...
2025-10-01T12:01:21.979Z: Refreshing theme session...
2025-10-01T12:01:21.979Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2025-10-01T12:01:21.979Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store intercut-eur.myshopify.com:
[]

2025-10-01T12:01:21.979Z: Getting session store...
2025-10-01T12:01:21.980Z: Getting current session ID...
2025-10-01T12:01:21.980Z: 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:
{
  "adminApi": {
    "scopes": [],
    "storeFqdn": "intercut-eur.myshopify.com"
  }
}

2025-10-01T12:01:21.980Z: - Token validation -> It's expired: false
2025-10-01T12:01:21.980Z: Ensuring that the user is authenticated with the Storefront API with the following scopes:
[]

2025-10-01T12:01:21.980Z: Getting session store...
2025-10-01T12:01:21.980Z: Getting current session ID...
2025-10-01T12:01:21.980Z: 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:
{
  "storefrontRendererApi": {
    "scopes": []
  }
}

2025-10-01T12:01:21.980Z: - Token validation -> It's expired: false
2025-10-01T12:01:21.981Z: Sending HEAD request to URL https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0
With request headers:
 - X-Shopify-Shop: intercut-eur.myshopify.com
 - User-Agent: Shopify CLI; v=3.85.4

2025-10-01T12:01:22.204Z: Request to https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0 completed in 223 ms
With response headers:
 - cache-control: private, no-store
 - content-type: text/html; charset=utf-8
 - server-timing: processing;dur=31;desc="gc:2", db;dur=13, db_async;dur=2.126, asn;desc="205345", edge;desc="PRG", country;desc="CZ", theme;desc="178318639440", pageType;desc="index", servedBy;desc="hx6t", requestID;desc="2f0f652f-2c59-4b2f-923f-d774c46312b1-1759320082", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_CZ80_t_f_AhfJuFU2TWyQuginir2mVw", cfRequestDuration;dur=72.000027
 - x-request-id: 2f0f652f-2c59-4b2f-923f-d774c46312b1-1759320082
    
2025-10-01T12:01:22.208Z: → Rendering https://intercut-eur.myshopify.com/?_fd=0&pb=0 (with config/markets.json)...
2025-10-01T12:01:22.445Z: ← 200 (request_id: ee5c1096-bb4e-45ee-b473-1c3a365aa228-1759320082)
• 14:01:22 Request »    GET 200 / 75ms
2025-10-01T12:01:22.464Z: Theme ID mismatch: expected 178318639440 but got 178320474448; refreshing session...
2025-10-01T12:01:22.464Z: Refreshing theme session...
2025-10-01T12:01:22.464Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2025-10-01T12:01:22.464Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store intercut-eur.myshopify.com:
[]

2025-10-01T12:01:22.464Z: Getting session store...
2025-10-01T12:01:22.464Z: Getting current session ID...
2025-10-01T12:01:22.465Z: 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:
{
  "adminApi": {
    "scopes": [],
    "storeFqdn": "intercut-eur.myshopify.com"
  }
}

2025-10-01T12:01:22.465Z: - Token validation -> It's expired: false
2025-10-01T12:01:22.465Z: Ensuring that the user is authenticated with the Storefront API with the following scopes:
[]

2025-10-01T12:01:22.465Z: Getting session store...
2025-10-01T12:01:22.465Z: Getting current session ID...
2025-10-01T12:01:22.465Z: 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:
{
  "storefrontRendererApi": {
    "scopes": []
  }
}

2025-10-01T12:01:22.465Z: - Token validation -> It's expired: false
2025-10-01T12:01:22.466Z: Sending HEAD request to URL https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0
With request headers:
 - X-Shopify-Shop: intercut-eur.myshopify.com
 - User-Agent: Shopify CLI; v=3.85.4

2025-10-01T12:01:22.661Z: Request to https://intercut-eur.myshopify.com/?preview_theme_id=178318639440&_fd=0&pb=0 completed in 195 ms
With response headers:
 - cache-control: private, no-store
 - content-type: text/html; charset=utf-8
 - server-timing: processing;dur=34;desc="gc:5", db;dur=10, db_async;dur=1.892, asn;desc="205345", edge;desc="PRG", country;desc="CZ", theme;desc="178318639440", pageType;desc="index", servedBy;desc="5h9j", requestID;desc="e7476cb9-24ce-4053-9228-ee9aed080f5d-1759320082", _y;desc="00000000-0000-0000-5000-000000000000", _s;desc="00000000-0000-0000-5000-000000000000", _cmp;desc="3.ampS_CZ80_t_f_Q4jlEVynTEy4SuodtVJp8g", cfRequestDuration;dur=85.999966
 - x-request-id: e7476cb9-24ce-4053-9228-ee9aed080f5d-1759320082
    
2025-10-01T12:01:22.666Z: → Rendering https://intercut-eur.myshopify.com/?_fd=0&pb=0 (with config/markets.json)...
2025-10-01T12:01:22.894Z: ← 200 (request_id: 1399bc63-40d8-409f-9c49-b471537e043d-1759320082)
• 14:01:22 Request »    GET 200 / 72ms
2025-10-01T12:01:22.913Z: Theme ID mismatch: expected 178318639440 but got 178320474448; refreshing session...
╭─ error ──────────────────────────────────────────────────────────────────────╮
│                                                                              │
│  Theme ID mismatch: expected 178318639440 but got 178320474448.              │
│  Request ID: 1399bc63-40d8-409f-9c49-b471537e043d-1759320082                 │
│  URL:                                                                        │
│  This is likely related to an issue in upstream Shopify APIs.                │
│  Please try again in a few minutes and report this issue:                    │
│  https://github.com/Shopify/cli/issues/new?template=bug-report.yml           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

wake-digital avatar Oct 01 '25 12:10 wake-digital

Also when I specify the theme ID it's expecting, it still fails saying it got the same ID as when not passed explicitly.

❯ shopify theme dev --store intercut-eur.myshopify.com --theme 178318639440
╭─ success ────────────────────────────────────────────────────────────────────╮
│                                                                              │
│  Preview your theme (t)                                                      │
│    • http://127.0.0.1:9292                                                   │
│                                                                              │
│  Next steps                                                                  │
│    • Share your theme preview (p) [1]                                        │
│      https://intercut-eur.myshopify.com/?preview_theme_id=178318639440       │
│    • Customize your theme at the theme editor (e) [2]                        │
│    • Preview your gift cards (g) [3]                                         │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
[1] https://intercut-eur.myshopify.com/?preview_theme_id=178318639440
[2] https://intercut-eur.myshopify.com/admin/themes/178318639440/editor?hr=9292
[3] http://127.0.0.1:9292/gift_cards/[store_id]/preview

• 14:12:42 Request »    GET 200 / 448ms
• 14:12:43 Request »    GET 200 / 75ms
• 14:12:43 Request »    GET 200 / 70ms
• 14:12:44 Request »    GET 200 / 85ms
• 14:12:44 Request »    GET 200 / 79ms
• 14:12:45 Request »    GET 200 / 590ms
╭─ error ──────────────────────────────────────────────────────────────────────╮
│                                                                              │
│  Theme ID mismatch: expected 178318639440 but got 178320474448.              │
│  Request ID: e22cdf79-2d4a-403e-8b95-6e23c078455e-1759320765                 │
│  URL:                                                                        │
│  This is likely related to an issue in upstream Shopify APIs.                │
│  Please try again in a few minutes and report this issue:                    │
│  https://github.com/Shopify/cli/issues/new?template=bug-report.yml           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

wake-digital avatar Oct 01 '25 12:10 wake-digital

Oh I see. The "got" id seems to refer to the theme which is being used for dev instead of the one that was specified ("expected") - that seems to make more sense.

wake-digital avatar Oct 01 '25 12:10 wake-digital

So yeah - TLDR:

  • "expected" in the error code refers to the implicit dev theme or the explicit theme id from the --theme flag
  • "got" refers to the main theme id.

wake-digital avatar Oct 01 '25 12:10 wake-digital

Damn so yeah the only way to run dev on the store is to run it on the main theme :d Hilarious. Doesn't seem to be a cli issue directly though, because I can run it normally on a different store right now. So it has to have something to do with the store data.

wake-digital avatar Oct 01 '25 12:10 wake-digital

Also, what I said before about removing and re-importing the theme being a solution was a hoax.

wake-digital avatar Oct 01 '25 12:10 wake-digital

I have been seeing this for around a month also. The latest version of the CLI seems significantly worse and I can no longer use the 127.0.0.1:9292 URL at all.

I am able to preview if I use the generated theme preview URL at the sites domain hostname, however this breaks hot reloading entirely.

YourWishes avatar Oct 07 '25 14:10 YourWishes

Additional context: I have the theme ID missmatch issue happening on store X. I also work on store Y which is basically a mirror with products which have the same handles - just on a different Shopify entity to have two separate stores with two separate default currencies. The thing is, when I use the CLI for shopify theme dev --store=<Y>.myshopify.com on the Y store with the Y store theme, it seems to load the store context for the X store even though it should be getting it for Y (Similar to what @YourWishes has descibed, this only happens on local-host. The shopify hosted preview is fine). I tired deleting some files from my machine which could contain some cache as well as signing off from the CLI and signing back in, but nothing helped.

All of this is convincing me strongly that this is some caching issue happening on Shopify's backend (therefore not part of this project, I'd assume)

wake-digital avatar Oct 08 '25 14:10 wake-digital

Hi everyone, thank you so much for these detailed reports. Can you please let us know starting from today if you experience this again. We have attempted to mitigate the issue on our backend. If you experience this again I would love to grab logs around the error (although I do understand it's difficult as it's intermittent).

EvilGenius13 avatar Oct 20 '25 19:10 EvilGenius13

@EvilGenius13 well I mean it didn't happen again... 'cause it still doesn't work just as it hasn't a month ago :d

wake-digital avatar Oct 22 '25 13:10 wake-digital

I'm free to give you any logs or whatever you request

wake-digital avatar Oct 22 '25 13:10 wake-digital

@wake-digital sorry to hear it's still happening. Thank you for helping out! I was looking into this yesterday and I believe something might be happening with the CLI session during a refresh, however I can't confirm it because the logs we have are partial. I know these logs can be massive but somewhere in there will show the last few requests before it falls apart with the id mismatch.

If you could get a full .txt log that I could comb through it would really help. I believe you should be able to drag and drop it into a reply here. If not, you can email it to me at [email protected] I super appreciate the support here.

EvilGenius13 avatar Oct 22 '25 13:10 EvilGenius13

@EvilGenius13 okay so just shopify theme dev with verbose, right

wake-digital avatar Oct 22 '25 14:10 wake-digital

@wake-digital Yup!

EvilGenius13 avatar Oct 22 '25 14:10 EvilGenius13

@EvilGenius13

LOG.md

Please just assure me there's no sensitive information in the logs lol

wake-digital avatar Oct 23 '25 07:10 wake-digital

Thank you! You are good. I'm going to dig in this morning.

EvilGenius13 avatar Oct 23 '25 13:10 EvilGenius13

Hey @wake-digital, I've started to dig a bit further and if you can help that would be awesome.

There are two different things I notice.

  1. Your myshopify.com domain has a force redirect to another domain.
  2. On your failed request we see Rendering https://yourshop.myshopify.com/?_fd=0&pb=0 (with config/markets.json)... <---- this config/markets.json might be pointing us somewhere else.

I'd like to try separating these to see if we can pinpoint the problem.

  • Could you try making a basic theme or use the default theme from horizon and run theme dev verbose with it on your shop.
    • If you don't experience a problem then it might have to do with the markets file and how we point to them.
    • If you still have the problem, then it might be the fact we have that forced redirect.

Please let me know if you have any questions!

EvilGenius13 avatar Oct 23 '25 20:10 EvilGenius13

@EvilGenius13

I tried some Dawn we've had on the store and that got the same error, so how do I figure out if it's because of the forced redirect, and why isn't forced redirect an issue on other stores?

Btw did you consider the fact that it works when I explicitly run it on the live theme id?

wake-digital avatar Oct 24 '25 04:10 wake-digital

@EvilGenius13 hmmm I just cloned the Horizon theme you referenced just to make sure... I didn't put it into the store directly but just ran shopify theme dev on it locally on that store and it seems to want to work (there are just some errors in the theme for some reason, but the CLI doesn't fail)

wake-digital avatar Oct 24 '25 04:10 wake-digital

Thanks @wake-digital

Btw did you consider the fact that it works when I explicitly run it on the live theme id?

No I didn't and I'll keep that in mind, I just can't think of why it would work but others wont

Thanks for trying it with Horizon. The first run will sometimes have errors but if you kill the terminal and do it again it should properly kick up a full dev session for you.

so how do I figure out if it's because of the forced redirect, and why isn't forced redirect an issue on other stores?

This is a great question! We can narrow it down further.

  • Do you work on any other stores that do a forced redirect, or just this one?
    • If you do have another store with one, do you also work with the markets.json file in it? The TLDR for now is that when we run theme dev we create a session on the your-store.myshopify.com domain. If there is some kind of forced redirect to another domain for whatever reason that might be, the session won't be attached to that domain and I believe that's why you get the mismatched ID. I've already started talking to other teams about this.

For now the important part is digging down to figure out if it's from the forced redirect, the markets setup.

EvilGenius13 avatar Oct 24 '25 13:10 EvilGenius13

@EvilGenius13 hey don't you mind phrasing what I'm supposed to do more simply?

wake-digital avatar Oct 31 '25 07:10 wake-digital

Hey @wake-digital for sure!

** Step 1: Testing on a store with a redirect:**

  • Using the store that the domain redirect (intercut-eur.myshopify.com), try a theme that does not include markets and run theme dev (you may need to run it twice because sometimes on the first run it has file upload errors). Can you update the theme, click around and have a session that runs at least 10 minutes without getting the Theme ID mismatch?

If you had a mismatch error - This is likely something weird with the domain configuration and we might need to figure out why it's behaving oddly. If you didn't have a mismatch error - I think it has to do with markets and how we send details along with them in sessions.

EvilGenius13 avatar Oct 31 '25 19:10 EvilGenius13

We were able to replicate the issue. This does have to do with having custom domains and markets enabled. We have a temporary workaround assuming your setup is similar to mine. If this does not fix the problem please let us know as there may be multiple ways to cause the error.

Go into your store admin page, click settings and then click on domains.

It's likely you have a setup that looks like this:

mystore.myshopify.com PRIMARY
|
|-> shop.mydomain.com

ca.mydomain.com
us.mydomain.com

The important part is this: If your primary domain is your myshopify.com domain, when you try developing in the CLI it will redirect to your custom domain and that is where it fails. The session won't cross domains.

However - if you make your primary domain the custom domain that matches with your markets, it will work. So making the domains page look like this instead:

shop.mydomain.com PRIMARY
|
|-> mystore.myshopify.com

ca.mydomain.com
us.mydomain.com

EvilGenius13 avatar Nov 12 '25 21:11 EvilGenius13

Hi @EvilGenius13,

I'm experiencing exactly the same issue as @wake-digital and I'm really looking forward to solving it as soon as possible.

Following up on your suggestion, I'm not really sure what exactly I should change when it comes to the domains. In my case, the domains settings tab looks like this:

www.customdomain.nl PRIMARY | |-> customdomain.nl shopify-domain.myshopify.com

So, in this case, www.customdomain.nl is our Primary domain, then customdomain.nl points to the www.customdomain.nl, and when I inspect the details about the Shopify domain (shopify-domain.myshopify.com), I see it says: "Market domain for Germany", which is a different market from our main one since we sell primarily in the Netherlands.

Also, I noticed that when I delete the markets.json file from the theme files and I run shopify theme dev --verbose, I can see that the issue is still there. But one more thing to note is that now, it seems we are selling in two markets: Germany and the Netherlands, but my markets.json file contains only this {"markets":{}}. It's basically empty, I'm not sure if this is supposed to be like that or not, but it is now.

So, having said all this, what do you suggest I do now to try to resolve this issue and how should I proceed?

Please, let me know if you need anything else from me.

MilosD15 avatar Nov 19 '25 21:11 MilosD15