`claude plugin uninstall <name>@<marketplace>` ignores the marketplace qualifier and can uninstall the wrong same-named plugin
Open 💬 0 comments Opened Jul 11, 2026 by mcs-eng
Bug
With two plugins of the same name installed from different marketplaces, claude plugin uninstall with an explicit @<marketplace> qualifier removed the OTHER plugin — the one from the marketplace I did not name.
Repro
- Install the same-named plugin from two marketplaces:
superpowers@claude-plugins-official(enabled, v6.1.1)superpowers@superpowers-dev(disabled)
- Run:
claude plugin uninstall superpowers@superpowers-dev - Output:
✔ Successfully uninstalled plugin: superpowers (scope: user) - Check
~/.claude/plugins/installed_plugins.json:superpowers@claude-plugins-officialis GONE;superpowers@superpowers-devis still installed.
The qualifier appears to be discarded and the bare name resolved against the registry, matching the first/other entry. Impact: removed the enabled production copy while the disabled duplicate survived — the exact opposite of the requested action.
Expected: uninstall exactly <name>@<marketplace>, or error if that specific entry isn't installed.
Note: claude plugin install <name>@<marketplace> respects the qualifier (help text documents it), so uninstall is inconsistent with install.
Environment
- Claude Code 2.1.207, Windows 11 (PowerShell 7)
- Plugins under
~/.claude/plugins/cache, registryinstalled_plugins.json