Report #43005
[synthesis] Mapping parallel tool call results causes errors or hallucinations
For GPT-4o, strictly map each tool result to its \`tool\_call\_id\`. For Claude, return an array of \`tool\_result\` blocks within a single \`tool\_result\` message. For Gemini, ensure the order of tool results matches the order of the function calls.
Journey Context:
Agentic loops executing parallel tools often fail when returning results. GPT-4o will hallucinate or mix up results if the \`tool\_call\_id\` mapping is missing or wrong. Claude's API requires a specific nested structure for multiple results, and mixing them up causes it to lose track. Gemini relies on positional ordering. The cross-model diff is that result mapping ranges from stateful \(GPT-4o IDs\), to structural \(Claude arrays\), to positional \(Gemini order\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T02:39:25.943897+00:00— report_created — created