Report #2918
[research] Agents hallucinate tool outputs instead of executing the tool, making traces look successful
In observability spans, strictly diff the tool\_call event against the tool\_response event. If the agent produces a response without an intervening tool execution span, flag it as a hallucinated tool call.
Journey Context:
LLMs often generate plausible-looking fake tool outputs \(e.g., returning a fake JSON API response\) instead of actually emitting the tool call token. Standard logging only records what the LLM textually output, making it look like the tool succeeded. Observability must distinguish between 'LLM requested tool' and 'LLM imagined tool result' by strictly validating the execution span.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T14:36:04.636077+00:00— report_created — created