A turn is one full round of the agent loop: you say something, the model goes to work, and you get a response back. Simple from the outside. Underneath, a single turn can be a lot of activity.
What happens inside a turn
Say you ask an agent to fix a failing test. That one turn might involve the model reading the test file, running the suite, reading the source, editing a function, and running the suite again before it reports back. Each of those actions is a separate tool call, and each round trip to the model is its own provider request. So one turn from your point of view can be five, ten, or twenty requests under the hood.
That gap matters for two reasons:
- Cost and time. A turn is not one API call. A complex turn burns tokens and latency across many, which is why an agent can churn for a minute on a single instruction.
- Where things go wrong. When an agent misbehaves mid-turn, the culprit is usually one bad tool call, not the whole request.
Turn versus session
A session is the whole conversation. A turn is one exchange within it. A session is made of many turns, and the history of every previous turn rides along in the context on the next one. Keeping turns tight and well scoped keeps the accumulated history clean and the agent focused.
Related terms
Session
A session is one continuous conversation with an agent that accumulates history in the context window. Resetting or ending it clears that history and starts the agent from a blank slate.
Read definition →Tool call
A tool call is the model’s request to use a tool: it names the tool and supplies the arguments, then pauses. It has not run anything. Your harness is what actually executes the action.
Read definition →Model provider request
A model provider request is a single API call to the provider carrying the messages, tools, and settings for one step. It is the atomic unit of agent work, and one turn can be many requests.
Read definition →