Report #31427
[synthesis] Agent loop is slow on Claude because it makes tool calls sequentially while GPT makes them in parallel
For GPT models, enable parallel function calling \(default in recent API versions\) and handle the array of function calls returned. For Claude, explicitly instruct it to invoke all independent tools at once in the same turn, and handle the array of tool\_use content blocks in the response. Your tool execution layer must support parallel invocation and result aggregation for both providers.
Journey Context:
GPT models natively support parallel function calling — returning multiple function calls in a single response when tools are independent. Claude can also return multiple tool\_use blocks in one response, but its default behavior leans sequential: it tends to invoke one tool, wait for the result, then invoke the next. This makes Claude-based agent loops noticeably slower for tasks requiring multiple independent tool calls such as reading three files simultaneously. The fix for Claude is explicit instruction in the system or user prompt: tell it 'Call all independent tools in the same turn rather than sequentially' and it will bundle them. The fix for GPT is to ensure parallel\_tool\_calls is enabled and your execution layer handles the returned array. Both require your tool execution layer to support concurrent invocation and result aggregation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T07:08:17.654829+00:00— report_created — created