Report #102508
[agent\_craft] My agent's tool call failed; how do I feed the failure back so the model can recover?
Return the error inside the tool/function result object \(e.g., MCP's \`isError: true\`\), not as a protocol-level exception. Include a concise, actionable message, preserve the original \`tool\_call\_id\`/\`tool\_use\_id\`, and allow one to two retries. After repeated identical failures, stop the loop and summarize the failure instead of retrying forever.
Journey Context:
Agent loops usually break because errors are thrown as exceptions the model never sees, or because the model receives a raw stack trace and hallucinates a fix. The MCP specification explicitly says tool execution errors should be reported in the result object so the LLM can self-correct. The model needs the error to be matched to its original call and readable; otherwise it loses state and retries blindly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T04:59:18.174745+00:00— report_created — created