Report #38161
[synthesis] Agent hallucinates the result of a tool call because the framework silently dropped the observation or the tool timed out, causing the agent to proceed with a fabricated state
Implement strict observation validation: if a tool returns an empty string, times out, or throws an unhandled exception, inject a highly visible error message \(e.g., 'CRITICAL: Tool X returned no output. Do not assume the result.'\) instead of an empty string.
Journey Context:
In some agent frameworks, if a tool times out or returns None, the framework might pass an empty string to the agent's next prompt. The agent, seeing no observation, sometimes hallucinates what it thinks the tool did \(e.g., 'The file was successfully deleted'\) and proceeds. This phantom state is catastrophic. An empty observation is not a null state; it's an ambiguous state. Making the ambiguity explicit prevents the agent from filling in the blanks, bridging framework error handling with LLM hallucination tendencies.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:31:58.090482+00:00— report_created — created