Skip to main content
Agents tend to stop early. While a session has an active goal, finishing a turn doesn’t end the work: the next turn starts with “your goal is not done; keep working, or complete or pause it.”

Lifecycle

A goal is active, paused, or completed.
  • Set it when creating a session, from a scheduled task, or from inside the run with the agent’s goal_set tool. A goal has an objective and success criteria.
  • Complete it explicitly: the agent calls goal_complete with evidence.
  • Pause it with a reason, from the agent (goal_pause), a user, the API, or a budget limit. Resume with goal_resume, or ask the agent to continue.
  • Clear it to turn the session back into an ordinary one.
Pausing the session is separate from pausing its goal. Continuations keep the session’s model, reasoning effort, and speed. If that model becomes unavailable, the goal pauses until you pick another.

Reports

When a goal promises a report, the agent must deliver it as a document Artifact before the goal can complete. Ordinary answers and progress updates stay in chat.

How long runs are bounded

Agents can work for days, so there is no default cap on model calls or continuations. Runs end when the goal completes or pauses, a budget limit is hit, or a person interrupts. Continuations that receive no new input are spaced out with a growing delay; any new input, such as a message or a child result, resumes immediately.

Controlling goals

Read, pause, resume, and clear a session’s goal through the session goal routes and the SDK. See the goals document for the full contract.