Description
When removing a marketplace via /plugin marketplace remove, the associated plugin entries in ~/.claude/plugins/installed_plugins.json are not cleaned up. This leaves orphaned records that cause persistent "Plugin not found in marketplace" errors.
Steps to Reproduce
- Install a plugin from a marketplace (e.g.,
universal-dev-standards from universal-dev-standards marketplace)
- Later, rename or change the marketplace (e.g., from
universal-dev-standards to asia-ostrich)
- Remove the old marketplace via
/plugin marketplace remove universal-dev-standards
- Claude Code reports "✔ Removed 1 marketplace"
- However, the plugin entry remains in
~/.claude/plugins/installed_plugins.json:
{
"plugins": {
"universal-dev-standards@universal-dev-standards": [
{
"scope": "user",
"installPath": "...",
"version": "3.3.0-beta.2"
}
]
}
}
- Open the plugin management page - see error:
1 error:
Plugin 'universal-dev-standards' not found in marketplace 'universal-dev-standards'
→ Plugin may not exist in marketplace 'universal-dev-standards'
Expected Behavior
When removing a marketplace, Claude Code should either:
- Automatically clean up all plugin entries associated with that marketplace from
installed_plugins.json
- Or prompt the user: "This marketplace has X installed plugins. Remove them as well?"
Actual Behavior
- Only the marketplace reference is removed
- Plugin entries in
installed_plugins.json become orphaned
- Claude Code continues to validate these orphaned plugins against the non-existent marketplace
- Users see confusing error messages
Workaround
Manually edit ~/.claude/plugins/installed_plugins.json to remove the orphaned plugin entries.
Environment
- OS: macOS (Darwin 24.6.0)
- Claude Code version: Latest (as of 2026-01-09)
Description
When removing a marketplace via
/plugin marketplace remove, the associated plugin entries in~/.claude/plugins/installed_plugins.jsonare not cleaned up. This leaves orphaned records that cause persistent "Plugin not found in marketplace" errors.Steps to Reproduce
universal-dev-standardsfromuniversal-dev-standardsmarketplace)universal-dev-standardstoasia-ostrich)/plugin marketplace remove universal-dev-standards~/.claude/plugins/installed_plugins.json:{ "plugins": { "universal-dev-standards@universal-dev-standards": [ { "scope": "user", "installPath": "...", "version": "3.3.0-beta.2" } ] } }Expected Behavior
When removing a marketplace, Claude Code should either:
installed_plugins.jsonActual Behavior
installed_plugins.jsonbecome orphanedWorkaround
Manually edit
~/.claude/plugins/installed_plugins.jsonto remove the orphaned plugin entries.Environment