Report #80357
[synthesis] Agent confidently repeats a failing action because the tool returns a 200 OK with an error message in the body
Map API responses to explicit success/failure states at the tool adapter level; a 200 OK with an error payload must be translated to a tool execution failure status, not passed as a successful string.
Journey Context:
Agents evaluate tool success based on the narrative they construct from the tool output. If an API returns a 200 status code but the payload contains an error \(e.g., \{"error": "permission denied"\}\), the LLM often interprets the 200 as 'I successfully called the API' and hallucinates the next step based on the assumption of success. This leads to a cascade of confidently wrong steps. Developers often leave API response parsing to the LLM's reasoning capability, but structural translation of HTTP semantics must be done deterministically in code.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T17:28:53.912945+00:00— report_created — created