Second `marketplace add` of the same marketplace drops autoUpdate
Preflight Checklist
- [x] I have searched existing issues and found no duplicate.
- [x] This is a single bug report.
- [x] I have reproduced this on the version stated below.
What's Wrong?
claude plugin marketplace add <owner>/<repo> rewrites an existing extraKnownMarketplaces entry in ~/.claude/settings.json and drops its autoUpdate key. The command reports the marketplace as already present and exits 0, so nothing signals the removal. Third-party marketplaces default to auto-update disabled, so a second add silently turns auto-update off.
What Should Happen?
When the marketplace is already declared, marketplace add should leave its settings entry unchanged.
Error Messages/Logs
No error. The command reports success:
$ jq -c '.extraKnownMarketplaces["acme/plugins"]' ~/.claude/settings.json
{"source":{"source":"github","repo":"acme/plugins"},"autoUpdate":true}
$ claude plugin marketplace add acme/plugins
Adding marketplace…✔ Marketplace 'acme/plugins' already on disk — declared in user settings
$ jq -c '.extraKnownMarketplaces["acme/plugins"]' ~/.claude/settings.json
{"source":{"source":"github","repo":"acme/plugins"}}
Steps to Reproduce
- Declare a third-party marketplace in
~/.claude/settings.jsonunderextraKnownMarketplaces, with"autoUpdate": true. - Run
claude plugin marketplace add <owner>/<repo>for that same marketplace. - Read
~/.claude/settings.jsonagain. TheautoUpdatekey is gone.
Is this a regression?
Unknown. I have not tested earlier versions.
Claude Code Version
2.1.236
Platform
Claude Code CLI and Desktop, both affected (the write happens in the CLI command).
Operating System
macOS 15, darwin-arm64
Terminal/Shell
fish
Additional Information
~/.claude/plugins/known_marketplaces.json keeps autoUpdate: true, so live behaviour looks unaffected. The declared configuration is what loses the setting, which surfaces later on a fresh install or after clearing the plugin cache.
This hurts idempotent provisioning scripts most. A script that calls marketplace add to repair a machine disables auto-update on every run, and the users who never re-run it are exactly the ones who never get the setting back.
Related: #85844 asks to surface and read this field. I have filed a separate request to make it settable from the CLI, which is the workaround this bug currently forces into shell-level JSON editing.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗