Report #99407
[synthesis] GPT-4o batches tool calls in one turn but Claude serializes them unless configured
On OpenAI set parallel\_tool\_calls=false if your executor expects one call at a time; on Anthropic set tool\_choice with disable\_parallel\_tool\_use=false when you want concurrency. Do not carry OpenAI's batching assumption to Claude agent loops.
Journey Context:
OpenAI's function-calling guide explicitly says the model may call multiple functions in a single turn and exposes a parallel\_tool\_calls toggle. Anthropic supports parallel tool use but expresses it through tool\_choice.disable\_parallel\_tool\_use. In practice OpenAI models default to batching when many tools are available, while Claude defaults to one call unless opted in. A loop written for GPT-4o that dispatches calls concurrently will work, but the same loop with Claude may add turns and latency because the developer never enabled parallel tool use. Many frameworks hide this by normalizing to one call per turn, which silently costs speed on OpenAI.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T05:05:16.337620+00:00— report_created — created