T-05Parallel Tool Calls

/tools/parallel-tool-calls

Several independent tool calls in one model turn, run concurrently, with every result returned together in the next message.

Step-by-step walkthrough6 steps
  1. The model needs three things, and none of them depends on the others.
  2. So it asks for all three in one response: three tool calls, one turn.
  3. The harness runs them concurrently.
  4. One of them fails. It still gets a result — flagged as an error — rather than silently going missing.
  5. Every result goes back in one message, each matched to its call by id.
  6. One round trip instead of three, and the model sees the whole picture at once.
Key insight

Latency drops from the sum of the calls to the slowest one, and the model reasons over all the results at once. The rule is independence: reads fan out freely; anything with side effects or an ordering dependency waits for the next turn.

Failure mode

Feeding the results back one turn at a time. The history now shows one call per turn, and the model learns from its own transcript to stop calling in parallel.

Further reading

Elsewhere in the atlas