Report #13898
[gotcha] Infinite reasoning loops when MCP tool returns unstructured error text
Return structured errors with an \`isError: true\` flag and include a \`suggested\_fix\` or \`retry\_strategy\` field in the error content block.
Journey Context:
When a tool fails, it often returns a generic string error \(e.g., '404 Not Found'\). The LLM reads it, tweaks the prompt slightly, and tries again, looping endlessly. If the error doesn't tell the LLM \*why\* it failed fundamentally, it cannot escape the loop. By using the MCP \`isError\` flag and providing explicit instructions on whether to retry, ask the user, or abort, the LLM can break out of the loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:11:14.552599+00:00— report_created — created