Shopify CLI node version issue

Topic summary

Issue: App scaffolding via “npm init … @latest” fails because the CLI flags an invalid Node.js version.

Key compatibility info (Shopify CLI v3.61.2):

  • Supported Node.js: >= 18.20.0 or >= 20.10.0 (per shared screenshot).
  • The reporter’s Node 20.6.0 falls below 20.10.0, so the CLI correctly treats it as unsupported.

Command note:

  • Use lowercase “shopify” in the init command; capitalization may cause failures.

Context and advice:

  • CLI v3 had worked for months before this version check failure appeared.
  • Caution against using the “latest” dist-tag in npm commands due to potential breaking changes; pin specific versions instead.

Outcome/status:

  • Answer marked as solution. Resolution implies upgrading Node.js to a supported version and correcting command casing.
  • No specific npm version requirement was provided.
  • Reporter indicated they will sort it out; no final confirmation of fix, but guidance is clear and discussion is effectively resolved.
Summarized with AI on December 26. AI used: gpt-5.

I am trying to run

$ npm init @Shopify_77 [email removed]

but the process fails because the cli script believes I have an invalid node version.

What version of node & npm work with the current shopify cli (v3.61.2)?

Hi @tomadelaney ,

I just modify ‘Shopify’ into ‘shopify’ and create app execution works. Maybe you just type wrong characters. For further informations, Shopify CLI v3.61.2 only work on Node >= 18.20.0 or >= 20.10.0 like the following picture.

If it helps you, please like and mark it as the solution.

Best Regards

1 Like

Thanks, I appreciate your reply.

My issue is deeper; CLI3 has worked flawlessly for 6 months, but it
now errors out, thinking that I am running invalid Node v20.6.0.
I’ll sort it out!

Thank you for marking my answer as a solution.

Ya, I think using the tag “latest” is quite dangerous for developers. I didn’t get the issue with Shopify cli as you did but I have met version issue with other package recently while using “latest” tag because that package just has some major updates. Anw, hope you fix the issue soon.

2 Likes