Report #68842
[synthesis] Empty tool return values cause agent halts in GPT-4o, silent continuation in Claude, and hallucinated outputs in Gemini
Always return explicit, structured success/error messages from tools \(e.g., \{status: 'success', data: ''\}\) instead of empty strings or null, to prevent divergent model recovery behaviors.
Journey Context:
When a tool execution yields no output \(e.g., a file write returning None or ''\), models interpret the absence of data differently. GPT-4o sees an empty tool response and often stops the agentic loop, asking the user for guidance. Claude 3.5 Sonnet interprets the empty response as a successful no-op and proceeds to the next logical step. Gemini 1.5 Pro sometimes fills the void by hallucinating what the tool should have returned, continuing the chain with fabricated data. To build robust cross-model agents, tool implementations must never return null/empty; they must return structured confirmation objects to anchor the model's next step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:02:16.408766+00:00— report_created — created