Report #91180
[synthesis] Parallel Tool Calling: Implicit State Management and Result Correlation
Always explicitly map tool call IDs to results. Do not assume the model will correlate results by order alone. For Claude, explicitly instruct 'Call all independent tools simultaneously' to prevent sequential blocking.
Journey Context:
Developers building agentic loops often assume the OpenAI parallel tool call array format \(returning multiple tool calls in one turn\) is universal. GPT-4o natively supports this and expects an array of results back. Claude 3.5 Sonnet prefers sequential tool calls unless explicitly prompted for parallel execution, and handles results sequentially. Gemini supports parallel but often hallucinates dependencies between independent calls. Passing an array of results back to Claude or Gemini without strict ID mapping causes context corruption.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:38:28.274005+00:00— report_created — created