[BUG] Claude Desktop - MCP servers disconnect immediately after initialize on macOS 26.2 Tahoe beta
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?
Environment
- Device: MacBook (Apple Silicon)
- macOS: Tahoe 26.2 beta (Build 25C56)
- Claude Desktop: 1.1.7714
- Node.js: v25.8.1 (Homebrew)
What's wrong?
All MCP servers disconnect immediately after Claude Desktop sends the initialize
message. The hammer icon never appears. This affects every MCP server tested,
including the official @modelcontextprotocol/server-filesystem — ruling out any
server-specific issue.
Log pattern (repeats for every server):
[info] Server started and connected successfully
[info] Message from client: {"method":"initialize",...,"protocolVersion":"2025-11-25",...}
[info] Server transport closed ← ~33ms later, no response read
[error] Server disconnected
What Should Happen?
After Claude Desktop sends the initialize message, the MCP server should respond
with an initialize result containing the negotiated protocolVersion andcapabilities. Claude Desktop should then send an initialized notification,
complete the handshake, and display the 🔨 hammer icon in the chat UI indicating
MCP tools are available. The full expected exchange is:
Claude Desktop → server: {"method":"initialize","params":{"protocolVersion":"2025-11-25",...}}
Server → Claude Desktop: {"result":{"protocolVersion":"2025-11-25","capabilities":{...},...}}
Claude Desktop → server: {"method":"notifications/initialized"}
[hammer icon appears in UI]
When tested from Terminal using the exact same initialize payload, the server
responds correctly within ~300ms and the handshake completes successfully.
Error Messages/Logs
MCP log (`~/Library/Logs/Claude/mcp-server-postgres.log`) — same pattern for every server tested:
2026-03-20T20:18:45.446Z [info] [filesystem] Server started and connected successfully
2026-03-20T20:18:45.746Z [info] [filesystem] Message from client: {"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{"extensions":{"io.modelcontextprotocol/ui":{"mimeTypes":["text/html;profile=mcp-app"]}}},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0}
2026-03-20T20:18:45.779Z [info] [filesystem] Server transport closed
2026-03-20T20:18:45.779Z [info] [filesystem] Client transport closed
2026-03-20T20:18:45.779Z [info] [filesystem] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. `console.error('...')` in JavaScript, `print('...', file=sys.stderr)` in python) and it will appear in this log.
2026-03-20T20:18:45.779Z [error] [filesystem] Server disconnected. For troubleshooting guidance, please visit our debugging documentation
2026-03-20T20:18:45.779Z [info] [filesystem] Client transport closed
Note: transport closes ~33ms after `initialize` is sent — before the server has
any chance to respond. No response from the server is ever logged.
Terminal test confirming server works correctly in isolation:
$ echo '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{"extensions":{"io.modelcontextprotocol/ui":{"mimeTypes":["text/html;profile=mcp-app"]}}},"clientInfo":{"name":"claude-ai","version":"0.1.0"}}}' \
| /opt/homebrew/bin/dbhub --dsn "postgresql://postgres@localhost/claude_poc" 2>/dev/null
{"result":{"protocolVersion":"2025-11-25","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"DBHub MCP Server","version":"0.19.0"}},"jsonrpc":"2.0","id":0}
EXIT CODE: 0
Steps to Reproduce
- Install Claude Desktop 1.1.7714 on macOS 26.2 Tahoe beta (Build 25C56)
- Add any MCP server to
~/Library/Application Support/Claude/claude_desktop_config.json - Fully quit Claude Desktop (right-click Dock → Quit) and relaunch
- Hammer icon never appears in chat UI
- Check
~/Library/Logs/Claude/mcp*.log— shows initialize sent, transport closed 33ms later
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
1.1.7714
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
- Fresh reinstall of Claude Desktop does not fix the problem
- Tested servers:
@modelcontextprotocol/server-filesystem,@bytebase/dbhubv0.19.0 - Both servers support
protocolVersion: "2025-11-25"and work correctly from Terminal - Used absolute npx path (
/opt/homebrew/bin/npx) to avoid legacy/usr/local/bin/npx - Also tested with globally installed binary (
/opt/homebrew/bin/dbhub) — same result - Claude Desktop is closing the pipe before reading the server's response
- Issue is specific to Claude Desktop launching the process — identical invocation works from Terminal
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗