Theme dev "Keep local" overwrites local files & no rate limit handling

I have reproduced the issue on the latest CLI version.

Yes, I am on the latest version

I have searched existing posts and this report is not a duplicate.

Yes, this isn’t a duplicate

In which of these areas are you experiencing a problem?

Theme

Expected behavior

  1. Selecting “Keep the local version” during reconciliation should not download/overwrite local files with remote versions
  2. When the Admin GraphQL API returns THROTTLED errors on themeFilesUpsert, the CLI should retry with backoff rather than failing silently and moving on

Actual behavior

  1. “Keep the local version” still downloads remote files, resulting in 170+ modified files in the git working tree
  2. themeFilesUpsert requests get THROTTLED errors with no retry - the CLI just fails and skips those files, leaving the dev theme incomplete/inaccurate

Reproduction steps

  1. Have a theme with 170+ template files
  2. Run shopify theme dev
  3. Select “Keep the local version” at the reconciliation prompt
  4. Observe remote files being downloaded and overwriting local files despite the selection
  5. Observe multiple THROTTLED errors on themeFilesUpsert with no retry attempts

Verbose output

Unable to share because content is too long.

Operating system

macOS Sequoia 15.1

CLI version

3.92.1

Shell

zsh

Nodejs version

v20.19.4

Thanks for the report Luke. We’ll have a look at it and see if there’s something we can do. I have a feeling that perhaps the throttling is interfering with the “keep local version” choice in some edge-case kind of way.

Thanks Gray, is that connected to remote downloading and overwriting too?

I can’t say for sure, sorry.