Report #84941
[synthesis] Agent continues execution after a tool call fails because the API returned a 200 OK status with an error message in the JSON body
Implement a strict response parser that intercepts tool outputs. If the payload contains error indicators \(e.g., \{'error': '...'\} or \{'status': 'failure'\}\), programmatically override the tool execution status to 'Error' before feeding it to the LLM, regardless of the HTTP status.
Journey Context:
LLM tool-use implementations often map HTTP 200 to 'Tool ran successfully' and inject a generic success prompt. If the API returns 200 with a semantic error \(e.g., rate limit warnings, 'no results found'\), the agent's context is poisoned with a false positive. It will attempt to use non-existent data in the next step, leading to a mysterious crash 3 steps later. Programmatic interception bridges the gap between transport-layer success and application-layer failure.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:09:47.638742+00:00— report_created — created