[BUG] MCP connector stuck on disambiguation UUID after conflicting plugin is uninstalled
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?
When a plugin is installed that re-ships an MCP connector the user already has installed directly, Cowork disambiguates the collision by renaming the existing direct-install record to a generated UUID identifier (mcp__<uuid>__*). The plugin's copy takes over the original declared slug.
When the conflicting plugin is later uninstalled, the original slug becomes free again, but the direct-install record is never restored to that slug. The connector remains stuck on the UUID identifier indefinitely. Disabling and re-enabling the connector does not restore it; reconnecting does not restore it; refreshing the tools list does not restore it. There is no user- or admin-facing UI to rename or reset the stuck record.
What Should Happen?
Once the plugin is gone and nothing is competing for the original slug, the direct-install record reclaims it. Tool names return to mcp__<slug>__*.
Error Messages/Logs
Steps to Reproduce
- Have an MCP connector installed under its declared slug, e.g. tools exposed as
mcp__<slug>__list_runs,mcp__<slug>__health_check, etc. - Install a plugin that bundles the same MCP server. Cowork renames the existing direct-install record to a UUID-style identifier, e.g.
mcp__c7a0d0d5-2e28-48e8-910e-98a28f52bbe0__*. The plugin's copy claims the original slug. - Disable or uninstall the plugin.
- Disable and re-enable the direct-install connector. Refresh the tools list. Restart the app.
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
1.9659.2
Platform
Other
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗