(Arm Mac) - Shopify CLI Hanging on Getting Development Theme

Hi all!

Presently, I am trying to just get started with the shopify CLI. I have set up my shopify site, etc. everything and installed the shopify-cli with homebrew. (For exactly what I did in terms of setting up the site, I followed all of the directions from this video: https://www.youtube.com/watch?v=1dznKWXkL3E&list=PLsr48ksn9_9Bzii-fRXRTVAo3OPYTtMAU but diverged after the CLI was installed)

However, when I attempt

shopify theme pull --verbose --store=https://not-my-actual-site.myshopify.com/

I am getting this

2025-06-22T23:58:22.321Z: Running command theme pull
2025-06-22T23:58:22.325Z: Running system process in background:
  · Command: /opt/homebrew/Cellar/node/24.2.0/bin/node /opt/homebrew/bin/shopify notifications list --ignore-errors
  · Working directory: /home/Projects/Shopify/theme

2025-06-22T23:58:22.330Z: Notifications to show: 0
2025-06-22T23:58:22.341Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2025-06-22T23:58:22.341Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store not-my-actual-site.myshopify.com:
[]

2025-06-22T23:58:22.341Z: Getting session store...
2025-06-22T23:58:22.342Z: 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": "not-my-actual-site.myshopify.com"
  }
}

2025-06-22T23:58:22.342Z: - Token validation -> It's expired: false
2025-06-22T23:58:22.342Z: Getting development theme...

It hangs forever on this last line.

I saw a post here (https://community.shopify.dev/t/shopify-cli-theme-pull-error-relating-to-graph/7424), which is pretty dang close to the identical issue. The resolution to the problem was to simply reinstall and uninstall

  • Node and npm (using nvm)

  • Git (using homebrew)

  • Shopify CLI

  • Homebrew

However, this didn’t work for me, and I am still encountering the above error. (I also verified all of these were uninstalled before reinstalling them too)

Any help on this would be appreciated! Thanks!

Hello @anwalker293 !

Sorry to hear that you’re dealing with this issue. Here are my recommendations for this problem:

Step 1: Check Authentication

Run:

shopify auth logout
shopify auth login --store=your-store.myshopify.com

Reason: Your logs show the CLI attempting to validate tokens and scopes — but no scopes are showing up as granted. Logging out and back in usually forces a new OAuth session with correct scopes.

Step 2: Use the --store Flag Without https://

You wrote:

shopify theme pull --verbose --store=https://not-my-actual-site.myshopify.com/

Try:

shopify theme pull --verbose --store=not-my-actual-site.myshopify.com

Reason: The --store flag expects just the domain.myshopify.com part — not the full https:// URL.

Step 3: Ensure You Have Theme Access

If you’re using a staff or collaborator account:

  • Make sure you have the Themes permission.

  • Log into the admin and make sure you can manually edit the theme (Online Store > Themes > Edit code).

To test CLI access:

shopify theme list --store=not-my-actual-site.myshopify.com

If this also hangs or errors, it further points to a permissions or scope issue.

Step 4: Try Debug Mode to Get More Clarity

Run:

SHOPIFY_FLAG_VERBOSE=1 shopify theme pull --store=not-my-actual-site.myshopify.com

or

DEBUG=* shopify theme pull --store=not-my-actual-site.myshopify.com

This might reveal where exactly it’s getting stuck — for example, an API timeout, authentication error, or filesystem issue.

Step 5: Try a Fresh Theme Pull in a New Directory

Try:

mkdir ~/Desktop/test-theme && cd ~/Desktop/test-theme
shopify theme pull --store=not-my-actual-site.myshopify.com

Reason: Sometimes a corrupted .shopify folder in your working directory (like /home/Projects/Shopify/theme) can cause indefinite hangs.

You can also try removing that hidden config:

rm -rf .shopify

Then try again in that same directory.

Step 6: Try Downgrading Shopify CLI (as a workaround)

There are known issues in some versions — especially the newer v3 CLI versions that are more strict about theme linking and store permissions.

You can try:

brew uninstall shopify-cli
npm install -g @shopify/[email removed]

Or whatever is the last known stable version for theme commands.

Step 7: Use Dev Themes Only

Run:

shopify theme pull --development --store=not-my-actual-site.myshopify.com

If your store has multiple themes and you’re not working on the live theme, this forces the CLI to work with a temporary dev theme, which often avoids stuck sessions.

If this reply was useful to you, we would really appreciate it if you gave us a LIKE and mark the issue as SOLVED!

Hi there! Thank you so much for your help / debugging support!

Step 1, ok logging out worked!

  • shopify auth login isn’t a thing, only logout

  • I was able to log in again by doing your adjusted theme command! There was much more output in terms of the logging in side of things, but it still kept hanging at the same last line (the terminal also froze, and I was not able to copy and paste / I had to force shut down it). I can get you these logs if you think they are helpful, but they look to be largely same except for the logging in portion (I also would only be able to screenshot it / not copy, paste, and edit out any personal details…)

Step 3 did not hang, and I received

╭─ info ───────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ name role id │
│ ─────────────────────────────── ────────────────────── ────────────── │
│ test-data [live] #177727308141 │
│ Dawn [unpublished] #177727275373 │
│ debut-vintage-theme [unpublished] #177727340909 │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

Step 4, Step 5

All of these seem to be the same exact logs as above… :confused:

Step 6

Done!

Step 7: Uhm, whoa. I did the verbose version of that command, here is what I found in the logs

SHOPIFY_FLAG_VERBOSE=1 shopify theme pull --development --store=lgwd-test-development.myshopify.com
2025-06-23T21:54:06.529Z: 'Did you mean' options: [{"score":2,"cmd":"kitchen-sink:prompts"}]
Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.

  ERROR  Cannot read properties of null (reading 'useState')

 /Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/@shopify/cli-kit/node_modules/react/cjs/react.development.js
 :1622:21

 1619: }
 1620: function useState(initialState) {
 1621:   var dispatcher = resolveDispatcher();
 1622:   return dispatcher.useState(initialState);
 1623: }
 1624: function useReducer(reducer, initialArg, init) {
 1625:   var dispatcher = resolveDispatcher();

 -useState (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/@shopify/cli-kit/node_modules/react/cjs/react.dev
          elopment.js:1622:21)
 -usePrompt (file:///Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/@shopify/cli-kit/dist/private/node/ui/hoo
           ks/use-prompt.js:11:43)
 -SelectPromp (file:///Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/@shopify/cli-kit/dist/private/node/ui/c
             omponents/SelectPrompt.js:12:64)
 -renderWithHook (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.devel
                opment.js:6659:18)
 -mountIndeterminateCompo (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconci
  ent                    ler.development.js:11276:13)
 -beginWork (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.developmen
           t.js:12799:16)
 -beginWork$ (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.developme
            nt.js:19608:14)
 -performUnitOfWo (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.deve
  k              lopment.js:18742:12)
 -workLoopSyn (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.developm
             ent.js:18648:5)
 -renderRootSyn (/Users/alex.walker/.nvm/versions/node/v24.2.0/lib/node_modules/@shopify/cli/node_modules/react-reconciler/cjs/react-reconciler.develo
               pment.js:18616:7)