anthropics / anthropics/claude-code
[BUG] Desktop Commander MCP fails for Cowork/Code sessions (shared-pool): "Version negotiation failed"
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 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?
The locally-configured "Desktop Commander" MCP server fails to start for Cowork and Code sessions (the "shared-pool" connection path), while its normal chat/renderer connection continues to work fine.
Confirmed right now via get_device_info on this device (mac-mini-de-lobo-local, app version 1.52386.6):
localMcpServers: [{ "name": "Desktop Commander", "state": "failed", "lastErrorUntrustedServerOutput": "Version negotiation failed: the connection closed during the server/discover probe (this transport probed in place — the disposable sibling probe requires the SDK's base StdioClientTransport)" }]
Note a second, lowercase-named entry "desktop-commander" shows state "announced" (working) — so there appear to be two separate registrations of the same server, and only the capitalized "Desktop Commander" one hits this failure.
From the app's own internal MCP connection log (pasted by the user from the desktop app UI), this failure is isolated to a specific mechanism used only for Cowork/Code sessions: an "Era probe" ("Era probe verdict: legacy (sibling did not complete the exchange)") followed by a "disposable sibling probe" using a StdioClientTransport. Example from the log:
2026-08-17T20:02:20.743Z [Desktop Commander] [info] Initializing server...
2026-08-17T20:02:20.743Z [Desktop Commander] [info] Using built-in Node.js for MCP server: Desktop Commander
2026-08-17T20:02:26.754Z [Desktop Commander] [info] Era probe verdict: legacy (sibling did not complete the exchange)
2026-08-17T20:02:28.787Z [Desktop Commander] [info] Using built-in Node.js for MCP server: Desktop Commander
2026-08-17T20:02:28.802Z [Desktop Commander] [info] Server started and connected successfully
...
2026-08-17T20:03:27.625Z [Desktop Commander] [error] Couldn't start this server for Cowork and Code sessions (they run their own copy of it), so they can't use its tools: Request timed out { metadata: { context: 'shared-pool', stack: undefined } }
The error wording later shortened (around 2026-08-25) and has stayed like this since, recurring on effectively every app start/session since:
2026-09-14T11:22:11.008Z [Desktop Commander] [error] Couldn't start for Cowork and Code sessions. Error: Version negotiation failed: the connection closed during the server/discover probe (this transport probed in place — the disposable sibling probe requires the SDK's base StdioClientTransport) { metadata: { context: 'shared-pool', stack: undefined } }
Key observations:
- The main Desktop Commander connection (used by regular chat) succeeds every time, including today — full initialize/tools-list/resources-list handshake completes normally.
- - Only the shared-pool connection (used to give Cowork and Code sessions their own copy of the server) fails, on essentially every attempt since 2026-08-17.
- - - Restarting the app resets the retry counter but does not fix it — same error recurs.
- - - - This is still happening today (2026-09-15), confirmed live via get_device_info.
- - - - - The "Era probe" / "disposable sibling probe" / StdioClientTransport mechanism does not appear anywhere in the log before 2026-08-17 — it looks like it was introduced in an app update around that date, and the failure has been effectively 100% reproducible since.
There may be a related report already open: #27492 ("Claude cowork MCP Issue continues") — possibly the same root cause, possibly not; flagging for triage.
### What Should Happen?
The "Desktop Commander" MCP server should connect for Cowork and Code sessions the same way it already does for the regular chat connection, which works fine right now.
### Error Messages/Logs
```shell
Version negotiation failed: the connection closed during the server/discover probe (this transport probed in place — the disposable sibling probe requires the SDK's base StdioClientTransport)
```
### Steps to Reproduce
1. Open the Claude desktop app on macOS with the "Desktop Commander" local MCP server already configured (it works fine in the normal chat connection).
2. Start a Cowork or Code session.
3. Observe that Desktop Commander fails to become available for that session.
4. Check the desktop app's MCP connection log or call get_device_info: the "Desktop Commander" entry shows state "failed" with the error above, under metadata context "shared-pool".
This has been reproducible on effectively every app start/session since around 2026-08-17, independent of restarting or reinstalling the extension. The regular chat connection to Desktop Commander continues to work throughout.
### Claude Model
None
### Is this a regression?
Yes, this worked in a previous version
### Last Working Version
Unknown exact version — desktop app auto-updates. Last confirmed working: before ~2026-08-17 (when the "Era probe"/shared-pool mechanism first appears in the app's MCP log)
### Claude Code Version
N/A — this is the Claude desktop app (Cowork/Code), not the claude CLI. Desktop app version: 1.52386.6, Electron 44.2.0, Node 24.20.0 (confirmed live via get_device_info)
### Platform
Anthropic API
### Operating System
macOS
### Terminal/Shell
Other
### Additional Information
Possibly related: #27492 ("Claude cowork MCP Issue continues") — may or may not share the same root cause, flagging for triage.
Device: mac-mini-de-lobo-local, macOS, arm64.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.