[BUG] MCP connector stuck on disambiguation UUID after conflicting plugin is uninstalled

Resolved 💬 2 comments Opened Jun 1, 2026 by nick-youngblut Closed Jul 5, 2026

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

  1. Have an MCP connector installed under its declared slug, e.g. tools exposed as mcp__<slug>__list_runs, mcp__<slug>__health_check, etc.
  2. 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.
  3. Disable or uninstall the plugin.
  4. 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_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗