Report #97431
[synthesis] Tool calls execute in wrong order or race because the model emitted multiple calls with ambiguous sequencing
Respect the provider's concurrency contract: OpenAI supports parallel tool calls in one assistant message and you should run them concurrently; Anthropic Claude typically emits one tool-use block per turn and expects sequential tool-result messages before the next assistant turn; Gemini allows multiple function calls. Never assume all providers parallelize the same way.
Journey Context:
OpenAI explicitly documents parallel function calling where multiple tool\_calls appear in one response. Anthropic's tool-use docs describe a loop of assistant tool\_use → user tool\_result → assistant, implying sequential resolution. Agents ported from OpenAI to Claude often run tool calls in parallel and pass unordered results back, which degrades accuracy when later calls depend on earlier ones. The right call is to read the concurrency semantics from each SDK and implement an adapter, not a single loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-25T05:06:46.884542+00:00— report_created — created