← All questions
Agent Protocols & ToolsEasy· Tool Calling

What is parallel tool calling, and when would you actua...

When an agent needs several independent pieces of information — the weather, a stock portfolio, and today’s top news, say — a model can request all three tool calls in a single response rather than issuing them one at a time. The application then runs them concurrently, using something like asyncio.gather in Python or Promise.all in JavaScript, and returns all the results together.

The reason this is worth doing rather than just calling tools as they come up: total latency for parallel calls is roughly the time of the slowest individual call, not the sum of all of them. Three calls taking a second each in sequence cost three seconds; run in parallel, they cost about one.

The one condition that matters: independence. This only works when none of the calls needs another one’s output first. A morning briefing of weather, portfolio, and news is fully parallelizable because nothing in one depends on the others; a flight search followed by a seat-availability check for the specific flight found isn’t, because the second call needs a result the first one hasn’t produced yet.

Code playground (Python)