[BUG] VS Code: plugin MCP server silently dropped when a claude.ai connector has the same URL (CLI keeps the plugin)
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?
(Not the "connectors missing in VS Code" issues: here the claude.ai connectors do load in
VS Code. It's a same-URL plugin server that disappears. See "Not a duplicate of" at the end.)
In the VS Code extension, a plugin's HTTP MCP server is dropped at session start when my
claude.ai account also has a connector with the same URL. Here the plugin isslack@claude-plugins-official (plugin:slack:slack → https://mcp.slack.com/mcp) and the
connector is claude.ai Slack.
It happens in every VS Code session: 20 of 20 in a clean folder. After startup:
plugin:slack:slackis not listed at all in the panel's MCP servers dialog, not even as
failed. Only claude.ai Slack shows, with Needs Auth.
- None of the plugin's
mcp__plugin_slack_slack__*tools reach the model (checked in each
session transcript's deferred_tools_delta).
- Nothing retries, and there's nothing to reconnect.
The MCP log shows two variants:
- Mostly (15 of 20): the plugin connects, then ~150 ms later, while fetching tools,
applyConnectionResult: disposing orphaned connect (slot removed mid-flight).
- Otherwise: the log shows a clean connect and tool fetch, with no error, yet the server is
still missing from /mcp and its tools never reach the model.
So a clean MCP log doesn't mean the server survived. The removal happens regardless, and the
orphaned-connect line only appears when it catches the connection in flight.
It isn't Slack-specific. The same happens with atlassian@claude-plugins-official and theclaude.ai Atlassian MCP connector (same URL), even with the plugin not signed in, so it never
connects at all (see "What I tried").
The terminal CLI, with the same folder, account, version and plugin, gets it right every time./mcp shows:
claude.ai Slack · ◯ hidden — same URL as your server 'plugin:slack:slack'
To use this connector instead, disable the plugin server in /plugins
✔ plugin:slack:slack 27 tools
The collision is detected correctly in the CLI, but in VS Code it's resolved the other way round:
the connector is kept and the plugin removed.
What Should Happen?
Same as the CLI: keep the plugin server and its tools, and hide the same-URL claude.ai connector.
Error Messages/Logs
From `~/Library/Caches/claude-cli-nodejs/<project>/mcp-logs-plugin-slack-slack/<file>.jsonl`,
one session of the "mostly" variant (timestamps made relative; token-related lines removed):
+ 0ms Initializing HTTP transport to https://mcp.slack.com/mcp
+ 0ms HTTP transport options: {"url":"https://mcp.slack.com/mcp","headers":{"User-Agent":"claude-code/2.1.283 (claude-vscode, agent-sdk/0.3.283)", ...},"hasAuthProvider":true,"timeoutMs":60000}
+ 0ms Starting connection with timeout of 30000ms
+ 197ms Successfully connected (transport: http) in 198ms
+ 197ms Connection established with capabilities: {"hasTools":true,"hasPrompts":false,"hasResources":true,"hasResourceSubscribe":false,"serverVersion":{"name":"Slack MCP","version":"1.0.0"}, ...}
+ 345ms ERROR: Failed to fetch tools: Connection closed
+ 346ms applyConnectionResult: disposing orphaned connect (slot removed mid-flight)
+ 346ms HTTP connection dropped after 0s uptime
+ 346ms Connection error: The operation was aborted.
+ 346ms Terminal connection error 1/3
The other variant's log ends normally after the tool list loads
(`Tool "slack_read_list" description truncated from 3576 to 2048 chars`), with no disconnect.
The plugin's OAuth token is valid throughout: with connectors disabled, the same token works.
Steps to Reproduce
Prerequisite: signed in with a claude.ai account (Enterprise here) whose connectors include
Slack (claude.ai Slack). It doesn't need to be authenticated: mine shows Needs Auth.
- Create an empty folder and install the Slack plugin at project scope:
``sh`
mkdir slack-repro && cd slack-repro
claude plugin install slack@claude-plugins-official --scope project
/mcp` in the CLI).
Authenticate the plugin's Slack server once if you haven't (
- Open the folder in VS Code and start a new conversation in the Claude panel (send
hi). - Open the MCP servers dialog (
/mcp) and filter forslack.
Actual: only claude.ai Slack (Needs Auth) is listed; the plugin server is gone and its
tools aren't available.
Expected: plugin:slack:slack connected with its tools, as in the CLI.
Results in a clean folder, counted from each session's transcript (did the model get the
plugin's tools?):
| Client | Version | claude.ai connectors | Sessions with plugin tools |
|---|---|---|---|
| VS Code extension | 2.1.283 | on | 0 of 15 |
| VS Code extension | 2.1.274 | on | 0 of 5 |
| VS Code extension | 2.1.283 | off (disableClaudeAiConnectors) | 5 of 5 |
| Terminal CLI | 2.1.283 | on | works (/mcp shows the plugin with 27 tools) |
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.283 (Claude Code), VS Code extension anthropic.claude-code 2.1.283
Platform
Other
Operating System
macOS
Terminal/Shell
Other
Additional Information
What I tried
| Tried | Result | Suggests |
|---|---|---|
| Restarting VS Code | still fails | not stale extension state |
| Clean folder with only the plugin | still fails | not my project config |
| Starting sessions one at a time | still fails | not concurrent session startup |
| Extension 2.1.274 and 2.1.220 (2026-07-25) instead of 2.1.283 | still fails (0 of 5 on 2.1.274; same result on 2.1.220, where connectors load and both plugin servers are missing) | not a regression since at least 2.1.220 |
| Terminal CLI, same folder and account | works; connector hidden as a same-URL duplicate | collision handled correctly outside VS Code |
| "env": {"ENABLE_CLAUDEAI_MCP_SERVERS": "false"} in project .claude/settings.json | connectors still load; still fails (0 of 5) | the env var in settings.json doesn't gate connectors |
| "disableClaudeAiConnectors": true in ~/.claude/settings.json | fixed (5 of 5) | the claude.ai connector is the trigger |
| Reconnecting the plugin via the panel's /mcp dialog | not possible: the plugin server isn't listed at all | the server is removed from the list, not left in a failed state |
| Control: a second HTTP plugin with no matching connector (context7@claude-plugins-official) in the same folder, connectors on | context7's tools reached the model in 5 of 5 sessions; Slack's in 0 of the same 5 | specific to the same-URL collision, not plugin HTTP servers in general |
| A different plugin whose URL matches a different connector (atlassian@claude-plugins-official ↔ claude.ai Atlassian MCP, both https://mcp.atlassian.com/v2/mcp), plugin not signed in | VS Code: in 5 of 5 sessions only claude.ai Atlassian MCP (Needs Auth) is listed; plugin:atlassian:atlassian is missing from /mcp and from the session's needsAuthMcpServers. CLI: the plugin is listed (Needs authentication) and the connector is hidden | not Slack-specific, and not about connection timing: a plugin server that never connects is removed too |
Context: this began the day I switched from Vertex AI to a Claude Enterprise login, which is when
claude.ai connectors started loading. Before the switch, 9 of 10 VS Code sessions in projects with
this plugin had its tools. After it, none did while connectors were on.
Screenshot and related issues
- Screenshot: VS Code MCP servers dialog filtered to
sla, showing onlyclaude.ai Slack(Needs Auth) and no plugin server.
<img width="1203" height="1056" alt="Image" src="https://github.com/user-attachments/assets/7c89d0e1-93a3-4dda-a294-bb2e0dcbf27a" />
- Not a duplicate of (GitHub suggested these):
- #53956: all claude.ai connectors missing in VS Code. Here the connectors do show; the plugin server is what's missing.
- #41057 / #32450: a claude.ai connector (Slack) missing from the VS Code
/mcpwhile other connectors show. Here it's the reverse: the connector shows and the same-URL plugin is removed. (If that reporter also had the Slack plugin installed, it may be the other side of the same collision, but they don't say.) - #82246: connectors disconnecting after ~8 h in a long conversation, fixed by a new conversation. Here the plugin is missing from session start, and new conversations don't help.
- Related, but not the same bug:
- #58375 / #72333: the same-URL collision check hiding a connector the user wanted (CLI behaviour, by design here)
- #59470: the collision check behaving inconsistently for same-named manual servers
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗