Plugin marketplace update/upgrade path is unreliable and MCP/plugin config sources conflict
Problem
Plugin marketplace upgrades don't work reliably. After publishing a plugin update to a custom marketplace (version bumped in both marketplace.json and plugin.json on the default branch), claude plugin update <plugin>@<marketplace> reports "already at the latest version" with the old version number.
claude plugin marketplace update <marketplace> does not resolve the issue. The only workaround is a full nuke-and-reinstall:
claude plugin uninstall <plugin>@<marketplace>
claude plugin marketplace remove <marketplace>
claude plugin marketplace add <owner>/<repo>
claude plugin install <plugin>@<marketplace>
Broader issue: too many config surfaces that collide
There are multiple overlapping ways to configure plugins and MCP servers, and they can fight each other:
- Plugins: marketplace install, local plugin dirs,
.claude/plugins/, project-level plugins - MCP servers:
.mcp.json(project),~/.claude/mcp.json(user), plugin-bundled.mcp.json,claude mcp addCLI, VS Code settings
These sources can conflict — e.g., a plugin-bundled MCP config vs a user-level MCP config for the same server, or a marketplace-installed plugin caching state that blocks upgrades. It's unclear which source wins, how caching interacts with versioning, and how to debug when things get stuck.
Environment
- Claude Code CLI
- macOS
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗