[BUG] VS Code: plugin MCP server silently dropped when a claude.ai connector has the same URL (CLI keeps the plugin)

Status Open
Reported on v2.1.283
Maintainer reply None cached
Activity 2 comments · opened Sep 27, 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?

(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 is
slack@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:slack is 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 the
claude.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.

  1. 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
`
Authenticate the plugin's Slack server once if you haven't (
/mcp` in the CLI).

  1. Open the folder in VS Code and start a new conversation in the Claude panel (send hi).
  2. Open the MCP servers dialog (/mcp) and filter for slack.

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 only claude.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 /mcp while 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

View original on GitHub ↗

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