cli icon indicating copy to clipboard operation
cli copied to clipboard

[Bug]: Shopify CLI v3.79.0: theme push Silently Fails (Reports Success, File Not Updated - Verified via Pull)

Open ovenbird-dev opened this issue 9 months ago • 0 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?

App

Expected behavior

After successfully authenticating (implicitly, when prompted) and running shopify theme push --development --store=, the command should accurately synchronize local file changes to the specified development theme on Shopify's servers.

If the push command outputs the success message, it should guarantee that all intended file uploads/updates/deletions were successfully completed and persisted on the remote theme.

Subsequently running shopify theme pull --force --only <path/to/changed_file> should download the version of the file from the server that reflects the changes just pushed. The local file should not be reverted to its pre-push state.

Changes pushed successfully should be immediately visible in the corresponding Theme Editor and Preview link (allowing for normal browser/server cache delays).

Actual behavior

The shopify theme push --development --store= command (using v3.79.0) executes and incorrectly outputs the success message, even when file synchronisation fails.

Modified local files (e.g., sections/header.liquid after adding test content) are not uploaded or updated on the remote development theme server-side.

Running shopify theme pull --development --store= --only <path/to/changed_file> --force immediately after the "successful" push reverts the local file back to its state before the changes were made, confirming the push did not actually update the file on the server.

Changes made locally are therefore not reflected in the Theme Preview or Theme Editor for the target development theme, despite the CLI indicating a successful push operation. This makes iterative development impossible as the state reported by the CLI is unreliable.

Verbose output

verbose

Reproduction steps

  1. Ensure Node v22 LTS and Shopify CLI v3.79.0 are installed globally via npm.
  2. Initialise a theme locally or use an existing one (e.g., cd ~/Developer/my-dawn-project).
  3. Ensure a corresponding development theme exists on the target store (e.g., via an initial successful push or manual upload). Note the theme ID. Let's assume the store is your-dev-store.myshopify.com.
  4. Make a clear, verifiable change to a specific local theme file (e.g., add a unique comment or text string at the top of sections/header.liquid). Save the file.
  5. Run the push command from the local theme directory: shopify theme push --development --store=your-dev-store.myshopify.com
  6. Observe: The command completes and outputs the success message, indicating the push was successful and providing links for the development theme ID.
  7. Immediately Verify: Run the pull command for the exact same file you just modified, forcing it to overwrite your local copy: shopify theme pull --development --store=your-dev-store.myshopify.com --only sections/header.liquid --force
  8. Inspect: Open the local sections/header.liquid file in a code editor.

Operating System

macOS Sonoma 14.4.1

Shopify CLI version (shopify --version)

3.79.0

Shell

zsh

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

v22.15.0 (LTS)

What language and version are you using in your application?

No response

ovenbird-dev avatar May 05 '25 14:05 ovenbird-dev