Report #98956
[synthesis] Parallel tool calls in one assistant message cause race conditions in agent loops expecting one call per turn
Treat every assistant response as a batch of zero or more tool\_calls keyed by id; execute idempotent calls in parallel and return all results in one tool message.
Journey Context:
GPT-4o can return multiple tool\_calls in a single response, and newer Claude versions support parallel tool use too. Older agent loops built around one-call-per-turn mutate shared state between turns and create races or ordering bugs. The robust design is to batch execute tool calls from each assistant message and map results back by call\_id, regardless of provider.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T05:04:12.993057+00:00— report_created — created