Skip to main content
Every task has a durable task_id. To refine, expand, or fix results, continue the same task: the agent keeps the plan, the output rows, and the task-local files.
When a turn is already running, /continue queues the follow-up and returns 202 with state: "submitted" and queue_position. After it returns, the task response is the baseline for the long-poll loop. Use state to distinguish completed, failed, canceled, and input-required; see Errors for retryable failures. Queueing is unavailable only in some cases, when the legacy 409 task_executing response is used instead. The quiet status stream is another option; see Live messages.

When to continue vs. start fresh

Continue when the user references previous work: “add a column”, “find more”, “narrow to US-only”, “fix the empty fields”. Start a new task only for unrelated work. When you continue, rewrite the user’s request into a clear instruction stating the current goal, not just their raw words.

Execute and stop

  • POST /task/{task_id}/execute pushes an existing task toward producing output from its current plan. Use it after a task has been planned but is sitting idle.
  • POST /task/{task_id}/stop stops a run; the public state becomes canceled.
Continuing a task keeps the model tier it started with. version is a start-only field.

Human in the loop

Let the agent ask a clarifying question first.

Live messages

Watch each turn as it happens.