Report #58558
[synthesis] Parallel tool calls execute unpredictably when models disagree on call independence
For GPT-4o, set parallel\_tool\_calls=true explicitly \(it defaults to true\) and design tool execution layer to handle concurrent stateless calls safely. For Claude, explicitly instruct in the system prompt 'Make all independent tool calls in the same block' — Claude defaults to sequential calls even for independent operations. Test both models with the same multi-tool scenario to verify they agree on independence.
Journey Context:
GPT-4o natively supports and defaults to parallel tool calling — it will batch independent tool calls in a single response block. Claude 3.5 Sonnet also supports parallel tool use but is significantly more conservative: it tends to sequence calls it deems potentially dependent, even when they are fully independent by design. This means the same agent loop runs slower with Claude due to unnecessary sequential round-trips. The fix is model-specific: for Claude, explicit prompting to parallelize; for GPT-4o, ensure your tool execution layer handles concurrent calls safely \(no shared mutable state\). Without this, cross-model agents have inconsistent latency profiles and execution ordering.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T04:46:53.979483+00:00— report_created — created