Tool call
A structured request from a model to run a function you defined, with arguments it filled in.
A tool call is how a model acts on the world. You describe the available functions and their parameters; when the model decides one applies, it emits a structured call rather than prose. Your code runs it and returns the result, which goes back into the conversation. The model never executes anything itself — every tool call is a request your code chooses to honour.
Key facts
- A tool call is a request, not an execution: nothing runs until your code decides to run it, which is where authorisation belongs.
- Tool definitions consume context on every request, so a large tool catalogue reduces the room available for conversation.
- A model can emit several tool calls in one turn, and independent calls can be executed in parallel.
- The quality of a tool description drives call accuracy more than the model does — an ambiguous parameter name produces ambiguous arguments.
Frequently asked questions
Why is the model calling the wrong tool?
Usually the descriptions overlap. If two tools could plausibly answer the same request, say in each description what it is NOT for and when to prefer the other. Naming the boundary works better than lengthening the description.
Should I validate tool arguments?
Always. Arguments are model-generated text shaped to a schema, not trusted input. Validate types, ranges and permissions in your handler exactly as you would for a request arriving from a browser.
Machine-readable copy of this page:
/glossary/tool-call.md