[BUG] Local MCP tool calls approved but never forwarded to server (Desktop + Claude Code in Desktop)
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?
Summary
Local custom MCP servers initialize and list tools successfully, but tools/call messages never reach the server process. Tool permissions are granted in the UI, but the actual invocation is silently dropped. Remote MCPs (e.g., Atlassian) work fine.
Environment
- Claude Desktop 2.1.92 (macOS Darwin 25.4.0)
- Node.js 24.14.0 (system and built-in identical)
- MCP SDK: @modelcontextprotocol/sdk ^1.10.0
- Custom MCP server: stdio transport,
nodecommand
Evidence
Server initializes correctly — mcp-server-aha.log shows successful initialize, notifications/initialized, and tools/list handshakes. 21 tools registered.
Permissions granted — main.log shows:
Emitted tool permission request ... for mcp__aha__aha_list_epics
Received permission response ... always
Calls never reach server — Zero tools/call entries in the entire 880-line mcp-server-aha.log. Grep for tools/call, error, Error, fail returns nothing.
Remote MCPs work — Same main.log shows Atlassian remote MCP succeeding:
Making remote MCP tool call: fetchAtlassian
Remote tool call succeeded: fetchAtlassian
No equivalent Making local MCP tool call log line exists for the local aha server.
Claude Code CLI works — The same MCP server, same config, same auth token successfully returns data when called from the Claude Code CLI process (within Desktop). The failure is specific to Desktop's conversation-to-MCP routing path.
API is reachable — curl to the Aha API from the same machine returns HTTP 200.
Repro steps
- Configure a local stdio MCP server in
claude_desktop_config.json - Restart Desktop, open a new Claude Code session
- Ask Claude to call one of the MCP tools
- Tool permission prompt appears, approve it
- Claude reports "fetch failed" — server logs show no
tools/callreceived
Additional context
- First noticed around 2026-04-09, initially in Cowork sessions (where custom MCP forwarding was already broken)
- Now also affects regular Claude Code in Desktop sessions
- Previously working — the same MCP server worked in Desktop prior to early April 2026
What Should Happen?
The Aha! connector was working fine when initially built - so it should work again :)
Error Messages/Logs
Steps to Reproduce
- Configure a local stdio MCP server in
claude_desktop_config.json - Restart Desktop, open a new Claude Code session
- Ask Claude to call one of the MCP tools
- Tool permission prompt appears, approve it
- Claude reports "fetch failed" — server logs show no
tools/callreceived
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unsure - there's been almost daily updates to Claude Desktop
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗