Report #74601
[synthesis] Agent loses state or drops context when processing parallel tool calls
When returning parallel tool results, map them strictly by tool\_call\_id. Do not rely on the order of results. For Gemini, explicitly disable parallel tool calls if state mutation is involved, using parallel\_tool\_calls: false \(OpenAI\) or equivalent prompting \('Execute tools sequentially'\) for Claude/Gemini.
Journey Context:
GPT-4o natively supports and frequently triggers parallel tool calls \(returning an array of tool calls\). Claude 3.5 can be prompted for parallel but often defaults to sequential. Gemini supports it but occasionally drops subsequent tool results if they return at slightly different times. The critical cross-model failure is assuming the order of returned results matches the order of called tools. You must map by ID. Furthermore, if Tool B depends on the state change of Tool A, parallel execution causes race conditions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T07:48:56.352008+00:00— report_created — created