[BUG] Desktop app reports "This marketplace is already added" for a marketplace that is not registered anywhere
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The desktop app's "Add marketplace" dialog reports "This marketplace is already added."
for mattpocock/skills, but the marketplace does not appear in any marketplace or plugin
list in the UI. Because it is not listed, there is no way to sync it, install from it, or
remove it. The state got stuck after I cancelled an in-progress marketplace installation.
The duplicate check fires against state that exists nowhere on disk. With the app quit, none
of the following contain any reference to it:
- ~/.claude.json (entry "mattpocock-skills@mattpocock" was there; I removed it)
- ~/.claude/plugins/known_marketplaces.json (deleted)
- ~/.claude/plugins/marketplaces/mattpocock-skills/ (deleted)
- ~/.claude/settings.json (extraKnownMarketplaces removed)
- /Library/Application Support/ClaudeCode/managed-settings.json (does not exist)
- project-level .claude/settings*.json (no matches)
- ~/Library/Application Support/Claude/** including config.json, Local Storage, IndexedDB,
Session Storage, WebStorage, claude-code (no matches)
The CLI embedded in the desktop app reports no marketplaces at all, while the app's dialog
still treats this one as registered. This points to account-side state with no removal path
in the UI.
<img width="760" height="739" alt="Image" src="https://github.com/user-attachments/assets/8a4274a7-ce49-41a9-9436-d2f3acc965fa" />
<img width="712" height="407" alt="Image" src="https://github.com/user-attachments/assets/a56c22f5-617f-49d8-b1bc-50f0cb4200f6" />
Related: #49260 (same suspected server-side store, but there the entry is visible and Remove
fails silently; here the entry is invisible and blocks re-adding). #45649 closed as duplicate.
What Should Happen?
Either the marketplace is listed in the UI so it can be synced or removed, or re-adding the
same URL is allowed and repairs the registration. A marketplace that the app considers
registered must be reachable from the UI. Additionally, an aborted installation should not
leave a registration behind, and there should be a force-remove path for stuck entries.
Error Messages/Logs
UI, "Add marketplace" dialog, URL field "mattpocock/skills":
This marketplace is already added.
Sync button present but unusable, since the marketplace is in no list.
Embedded CLI shipped with the desktop app:
$ "$HOME/Library/Application Support/Claude/claude-code/2.1.247/claude.app/Contents/MacOS/claude" plugin marketplace list
No marketplaces configured
No matching entries in any local config:
$ grep -o 'mattpoc[^"]*' ~/.claude.json | sort -u
(no output)
$ grep -rls mattpoc ~/Library/Application\ Support/Claude
(only an unrelated match in Local Storage: the text of a chat message I had typed)
Steps to Reproduce
Environment: Claude Desktop 1.40609.0, macOS 26.6.1 (arm64), embedded Claude Code 2.1.247,
session logs written by the app show version 2.1.197. Terminal/model: N/A, this is the
desktop app UI. Marketplace used: mattpocock/skills (public GitHub repo).
- Open the desktop app, go to the plugin directory and choose "Add marketplace".
- Enter "mattpocock/skills" and confirm.
- Cancel/abort the installation while it is still in progress.
- Open "Add marketplace" again and enter "mattpocock/skills".
=> "This marketplace is already added."
- Look for the marketplace in the plugin/marketplace lists. It is not there, so it cannot
be synced or removed.
- Quit the app and remove every local trace (see list above), restart the app, repeat step 4.
=> Still "This marketplace is already added."
Note: I cannot verify that steps 1-3 reliably reproduce the initial state, because my account
is now stuck in the broken state and I have no way to reset it. The reproducible part is
steps 4-6: the dialog reports a registration that exists in no list and in no local file.
Even after uninstalling and reinstalling Claude Code (including removing $HOME/Library/Application Support/Claude and ~/Library/Caches/Claude) the problem persists.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Desktop 1.40609.0, embedded Claude Code 2.1.247
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_