Report #74199
[synthesis] Model hallucinates or crashes when tool returns empty string or null
Always return a descriptive status string from tools \(e.g., "Success: No rows returned" instead of "" or null\) and define this expectation in the tool description.
Journey Context:
When a tool returns an empty string, Claude 3.5 Sonnet often assumes the tool failed and apologizes or hallucinates a plausible result. GPT-4o usually halts and asks the user for guidance. Gemini 1.5 Pro may throw an internal parsing error or return a generic refusal. Returning empty/null breaks the implicit contract for Claude and Gemini, causing divergent agentic loops. A descriptive string normalizes the behavior across all providers, preventing both hallucinations and crashes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T07:08:36.312852+00:00— report_created — created