Repository navigation
Releases
Releases · Shopify/cli
5.0.1
What's Changed
App
- Fix Cloudflare tunnel shutdown errors on Windows
- Prevent intermittent app deploy failures when UI extensions in the same folder build concurrently.
- Remove
[extensions.capabilities.network_access] allowed_sourcesfrom theme app extensions; declare network origins with[network_access] allowed_sourcesinshopify.app.tomlinstead.
Store
store create devno longer fails with "Unable to determine store creation status."
Theme
- Fix
shopify theme check --jsonfailing when Theme Check reports an offense without a known position - Fix links to other sites in
theme devand theme app extension previews
CLI
- Better error description for revoked or expired service account tokens.
5.0.0
Shopify CLI 5.0.0
Shopify CLI 5.0 is your agent-ready Shopify development tool. It now features a standardized JSON output format for nearly all commands, and an app dev command optimized for agentic workflows.
⚠️ Breaking Changes
Review the migration guide for details on these changes and how to adapt existing scripts and workflows.
General
- Existing JSON output structures have changed on some commands. See the migration guide for details.
App
- The
app logsandapp logs sourcescommands have been removed. Use log output from theapp devcommand instead for Shopify Functions.
Theme
- The
--pollflag has been removed fromtheme dev.
New Features
App
app devrecords sessions, preview status, and JSONL logs to the filesystem, so agents can reuse a runningdevsession.app devnow supports streaming--jsonoutput for direct agent use.- Shared namespace metafield warnings added to agentic checks in
app security check(SHARED_NAMESPACE_METAFIELD_RENDER). - App security checks now account for theme app extension settings types when checking liquid rendering safety (#8935).
Theme
- When needed, theme commands prompt for identity in the browser for security verification. In CI, with
--no-inputor with--json, they stop and print a verification link.
General
- The
SHOPIFY_SERVICE_ACCOUNT_TOKENcan be used with Service Accounts to automate app releases and dev store management. TheSHOPIFY_APP_AUTOMATION_TOKENandSHOPIFY_CLI_PARTNERS_TOKENenvironment variables are now deprecated. - JSON output is now supported in over 90% of Shopify CLI commands.
- New Shopify loading indicator (#8136).
Patch Changes
App
app devwatches fewer files: it skips Cargotargetdirectories, Function build output,.shopifyfiles and editor temp files (#8993).app config linkno longer drops Shop scopes such asshop_app:oauth(#8977).- Fix migration detection for legacy Checkout and POS UI extensions in App Management apps (#8854).
- Bundle every UI extension
should_rendertarget instead of only the last one (#8862).
Theme
theme devshows the development theme instead of the live theme on stores where every market uses a subfolder (#8880).- Theme Access authentication works with all of a store's domains (#8822).
theme pullkeeps files inside the selected theme directory (#8834).- Show the missing-scope message for theme changes, as theme reads already do (#8897).
theme check --config <directory>reports a user error instead of crashing with EISDIR (#8988).- Fix
theme profilefailing with "Bad response: 301" when--urlhas a query string (#8989).
General
- Retry throttled API requests with exponential backoff, respecting
Retry-After(#8956). auth loginno longer crashes when the browser can't open; it prints the login link and waits (#8886).- Explain which access a token is missing for dev stores instead of printing a raw 401 (#8999).
- Fail clearly when
SHOPIFY_APP_AUTOMATION_TOKENorSHOPIFY_CLI_PARTNERS_TOKENis set but empty (#8731). - Report process startup failures and signal termination instead of exit code 0.
- Graceful shutdown and child-process cleanup on Windows (#8926).
- Security hardening: hide webhook secrets in debug output, partition the GraphQL cache by endpoint and token (#8888), and serialize GraphiQL inline scripts safely (#8887).
4.9.5
4.9.4
What's Changed
App
- Require Git 2.38 or later when
shopify app security checkuses Git, because its protections against untrusted repositories depend onsafe.bareRepository. Scans that don't use Git, such as--no-git-ignorewith no Git-dependent secret candidate, still run without it by @jek in #8856 - Stop
shopify app security checkfrom running a command that a scanned repository names through an empty Git remote helper by @jek in #8856 - Add
--print-instructionstoshopify app security checkto print coding-agent instructions.--yesstill works but is deprecated, because it only selected printed instructions by @nickwesselman in #8878 - Add usage examples to
shopify app security check --helpfor common scan layouts, such as an external backend, a configuration in a subdirectory, exclusions, Git-ignored files, and listing the scan scope by @nickwesselman in #8875 - State in the
shopify app security check,record, andreviewhelp that each command reports the number of findings, but not finding details, to Shopify as usage telemetry by @nickwesselman in #8882
CLI
- Fix the check that stops the CLI from running a program found in the working directory on Windows, which covered only the CLI's own current directory by @jek in #8856
Full Changelog: 4.9.3...4.9.4
4.9.3
What's Changed
App
- Skip lockfiles in every
shopify app security checkscan directory, including--include-dirpaths, so large repository-root lockfiles no longer leave the secret checkunresolvedby @jplhomer in #8825 - Check Dependabot and Renovate configuration at the app's Git repository root when the app is nested below it by @jplhomer in #8826
- Detect React Router code in additional directories, such as servers added with
--include-dirandweb/directories, so the relevant source checks can run by @jplhomer in #8827 - Clarify agent-check instructions for React Router authentication, metafield writes, and
frame-ancestorsCSP policies, including when to report completed checks versus unresolved investigations by @jplhomer in #8830 - Clarify the
--blockinglevels and itsnonedefault, and when to use--skip-instructions, inshopify app securityhelp by @jplhomer in #8853
Full Changelog: 4.9.2...4.9.3
4.9.2
4.9.1
What's Changed
CLI
- Fix event subscription handle validation in stable/4.9 by @isaacroldan in #8849
Full Changelog: 4.9.0...4.9.1
4.9.0
What's Changed
App
- Add
shopify app securitycommands to check an app's source code for Shopify-specific security issues:checkruns deterministic rules and generates checks for your coding agent to investigaterecordsaves the agent's findingsreviewshows the combined resultsinstructionsprints the workflow for a coding agentcleanremoves local results
- Add
app subscription-migrationscommands by @tyler-eon in #8660 - Add
shopify app import channel-configfor partner channel spec import by @suzkiee in #8360 - Move import commands under a new
app importtopic by @nickwesselman in #8569 - Support target-level input query variables on functions by @saga-dasgupta in #8471
- Support optional owner_type in UI extension metafields by @kumar303 in #8534
- [Feature] Relative url patching on contract app extensions by @EliasJRH in #8362
- Stop reporting developer project errors as CLI crashes in build steps by @Suleimanlatrsh in #8627
- Fix repeated event config diffs when API versions are inherited by @cdarne in #8690
- Add --unsafe-validation to app dev by @dmerand in #8258
- Allow --config with --client-id on app deploy and dev by @isaacroldan in #8735
- Improve help for app config link flags by @gonzaloriestra in #8787
CLI
- Add
--no-inputto all commands by @gonzaloriestra in #8407 - Add --json-schema flag to commands by @gonzaloriestra in #8413
- Define JSON output schema for some commands (store commands, app versions list, organization list, version, config, auth)
- Print errors and events as JSON when using --json
- Fix text prompt underlines in Windows consoles by @amcaplan in #8489
- Recover gracefully when pnpm blocks build scripts during extension generation by @amcaplan in #8491
- Fix startup crash when the OS can't look up the current user's shell by @craigmichaelmartin in #8496
- Fix false success message when CLI self-upgrade installs the wrong version by @craigmichaelmartin in #8473
- [Feature] Add --language to doc fetch by @jplhomer in #8517
- Fix loading bar cleanup when tasks log messages by @gonzaloriestra in #8531
- Fix local storage initialization permission errors by @gonzaloriestra in #8572
- Retry gateway failures during device authorization by @gonzaloriestra in #8573
- Report unavailable shops and Admin API server errors instead of unknown CLI bugs by @Suleimanlatrsh in #8612
- Resolve
store list --organization-idwithout listing every organization by @amcaplan in #8577 - hydrogen/Bump cli-hydrogen to 13.0.5 by @fredericoo in #8656
- Bump Shopify/theme-tools packages by @karreiro in #8668
- Write interactive prompts to stderr by default by @isaacroldan in #8812
- Remove lax Shopify API key secret check by @francisbeaudoin in #8503
Full Changelog: 4.8.0...4.9.0
4.8.5
4.8.4
What's Changed
Theme
- [4.8] Bump Shopify/theme-tools packages by @karreiro in #8719
- [4.8] Restore theme documentation sync by @karreiro in #8723
Full Changelog: 4.8.3...4.8.4