← All questions
Agent Protocols & ToolsEasy· Tool Calling & Function Execution

What is parallel tool calling, and when should you use...

Modern models can request multiple tool calls in a single response rather than one at a time. When those calls don’t depend on each other’s results, the application can execute them concurrently — asyncio.gather or a thread pool — instead of one after another, and feed all the results back to the model together.

The gain is straightforward: four independent calls run sequentially take the sum of their individual latencies; run in parallel they take roughly the time of the slowest one. A morning-briefing agent pulling weather, news, calendar, and stock prices might take three seconds sequentially and just over one running in parallel — the same work, noticeably faster.

The condition that matters is independence. If a later call needs the output of an earlier one — checking seat availability only makes sense after a flight search returns a specific flight number — that pair has to stay sequential regardless of how the rest of the plan is parallelized. Parallelism is a property of the dependency graph between calls, not a setting to flip on for the whole agent.

Code playground (Python)