[BUG] MCP stdio: tool result written by server in <100ms is never processed — 3-min stall, then "[Tool result missing due to internal error]" (Windows, 2.1.162)

Open 💬 1 comment Opened Jun 4, 2026 by cnunezvitas

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?

A local stdio MCP server (nemo, a custom .NET 8 knowledge-base server) receives a
tools/call, computes the result in under 100 ms, and writes a single-line,
byte-valid UTF-8 JSON-RPC response (~15.4 KB)
to stdout. Claude Code never
surfaces the result. The UI shows the "Calling <tool>…" spinner for ~3 minutes
until the user presses Esc; Claude Code then sends notifications/cancelled to
the server, and the conversation shows the tool result as:

[Tool result missing due to internal error]

This reproduced 4+ times in one day, across separate sessions and across
two models (claude-sonnet-4-6 and Opus). Smaller tool results from the same
server in the same sessions (1–3 KB) rendered instantly. The same ~15 KB JSON
response, captured byte-for-byte from the same installed binary with the same
arguments, parses cleanly — see §5.

The server is exonerated by its own logs (request → response written, with
lengths) and by offline byte-level validation. The failure is between Claude
Code receiving the bytes and feeding the result back into the conversation.

What Should Happen?

MCP Error should not block Claude Code from continuing

Error Messages/Logs

[Tool result missing due to internal error]

Steps to Reproduce

  1. In a project with custom MCP server registered (codename: nemo), asked a question that makes

the agent call the nemo_context tool. The failing call's arguments were:

{"name":"nemo_context","arguments":{
  "query":"Patient Search Advanced filters metadata SQLite vs API calls",
  "project":"EMRAI","mode":"debugging"}}
  1. The UI shows Calling nemo… (ctrl+o to expand) indefinitely (observed ~3 min).
  2. User presses Esc. Claude Code sends notifications/cancelled to the server.
  3. The transcript shows [Tool result missing due to internal error] as the

tool result.

  1. Repeat in a fresh session (same or different model): same outcome.

Frequency: 4+ out of 4 attempts for this call in the 11:00–13:00 window; other
(smaller) calls to the same server in the same sessions succeeded instantly.
Note: the same tool call had also succeeded earlier in the day in other
sessions with similar (~13–15 KB) responses, so size alone may not be the trigger.

Repeated with Multiple Models (Sonet, Opus, etc). Same results.

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.162 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

[claude-doctor.txt](https://github.com

failing-response-capture-15583-bytes.json

mcp.json

nemo-20260604.log

nemo-20260604_001.log

nemo-20260604_002.log

nemo-20260604_003.log

nemo-20260604_004.log

/user-attachments/files/28603802/claude-doctor.txt)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗