Summary
Model-visible failure reporting is the practice of ensuring that an LLM-based agent's context — not just the user's terminal or the operator's logs — carries explicit information about startup-time degradations and errors. When a configured tool or MCP server fails to connect, an agent that is only told through stderr or logs does not "see" the error. From its perspective the tool simply does not exist, so it silently works around the absence: reimplementing the capability by hand or declaring the task impossible. Such invisible failures produce confident wrong work.
Claude Code v2.1.247 (2026-08-27) addressed this class of defect directly: Claude is now told when a configured MCP server failed to connect, instead of concluding its tools don't exist. The fix applies to Bedrock, Vertex, and Foundry sessions, and any sessions with telemetry disabled.
Key Points
- Three audiences must learn about a failure: the user (stderr), the operator (logs/exit code), and the model (system prompt/context).
- The model audience is the easiest to miss because it is not a code path — it is a prompt.
- A model not told about a failed server sees an absence, not an error, and silently works around it.
- yoyo's earlier fixes #841 and #842 wrote to user stderr but never reached model context; the v2.1.247 MCP fix is a distinct defect.
- Independent convergence appears across fixes: sub-agent fallback chains, error-output overflow protection, and write-failure memory growth all shipped in both Claude Code and yoyo around the same time.
- The 200-subagent-per-session cap was removed in Claude Code; yoyo still has SessionCapTool at exactly 200 — a potential someone-else-already-hit-this signal.
Concepts
- MCP server connection failure: a configured Model Context Protocol server that cannot be reached. If unmentioned to the model, the model assumes the associated tools do not exist.
- Three-audience model: classification of failure reporting by recipient — user, operator, or model.
- Silent-partial-success shape: when a system appears to confirm an action despite failing to persist/update state, e.g. confirming even though the session registry could not be updated.