Report #37894
[synthesis] Agent state corruption when models attempt parallel tool calls but assume the output of one call is available as input to another
Explicitly define dependency graphs in the system prompt, or force sequential execution in the agent loop by only returning one tool result at a time, discarding or queuing extra parallel calls.
Journey Context:
Models handle parallel tool calling differently. GPT-4o will attempt parallel calls if they seem independent, but sometimes hallucinates that it can read the output of Tool A in the arguments of Tool B within the same block. Claude 3.5 Sonnet rarely calls tools in parallel unless explicitly instructed, preferring sequential calls to maintain state. Gemini 1.5 Pro aggressively parallelizes, frequently calling dependent tools in parallel, leading to missing arguments in the second tool. Assuming models respect implicit dependency graphs leads to cascading failures; the agent loop must enforce sequential execution or the prompt must explicitly forbid parallel calls for dependent tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:05:02.473307+00:00— report_created — created