Answer an assist task
An assist task is an agent asking a person to clear a blocker it cannot clear itself. It is raised from the middle of a coding run, against the task that run is working on, and it arrives with the evidence that the agent tried first.
Why one appeared
Section titled “Why one appeared”The agent reached something no amount of code would fix: access it does not have, infrastructure that is down, a contradiction between the task and the repository, or a choice between designs the task never settled. Its other moves are all worse. Guessing produces work nobody asked for, a workaround buries the problem in the code, and a note in a summary reaches nobody. So the blocker becomes a task with an answer expected from a person.
Only the attempt writing the code can raise one. A review or a red team cannot, which is why an assist always comes from the work itself.
What it carries
Section titled “What it carries”Three fields, all required. A request missing any of them is refused before it becomes a task, so an assist is never a vague call for help.
| Field | What it holds |
|---|---|
| What it tried | The commands the agent already ran, each with its exit code and the tail of its output |
| What it needs | What it is asking a person to do, in its own words |
| What that unblocks | What becomes possible once it is done, so you can judge whether to do it now |
The last two are written by the agent, and the page says so where it shows them.
What happens to the run
Section titled “What happens to the run”The run stops. It does not sit and wait, because a person may reasonably take a day.
Before it ends it pushes everything it has written to the task’s branch, then finishes as inconclusive with the reason that it is waiting on an assist. Its runner is free for other work at once. The task it was working on moves to blocked and names the assist as what it is waiting on.
Nothing is lost in that ending and nothing is scored either: no review runs on work the agent has said is unfinished.
Answer one
Section titled “Answer one”-
Open the assist from the blocked banner on the task it is holding up, from the task list, or from that task’s Activity tab, where a message is posted when the assist is raised and again when it is resolved.
-
Read what the agent tried and what it needs. Do that thing.
-
Write what you did in the answer and submit it. The assist moves to answered.
Answering releases the task that was waiting: the block clears and the work is dispatched again, resuming on the branch the run already pushed rather than starting over. Your answer is recorded on that task and rendered into the spec the next run reads, under a Human answers heading, with the question the agent asked beside the answer you gave. The task description itself is never rewritten.
Never paste a credential
Section titled “Never paste a credential”An answer is prose an agent reads, so a secret in one would be a secret in a prompt. The form refuses an answer that looks like a credential: an API key, a token, a password, a private key, or a line assigning any of those to a name.
Let the agent ask for the value the other way. A setup task collects it into the project environment’s write-only storage, which releases it to a single run and never shows it again. See environment variables and secrets.
Cancel one
Section titled “Cancel one”Cancelling an assist cancels the task it was raised against, because that work has no way forward without it. Cancel it when the work should not happen. Answer it when it should, even where the answer is to do something else instead.
The three states
Section titled “The three states”| State | Means |
|---|---|
pending | Raised and waiting on a person. Where it starts |
answered | Somebody acted and wrote what they did, and the blocked task is released |
cancelled | Called off, and the blocked task with it |
Both endings are terminal, the way every specialized type’s are. See task states.
Next steps
Section titled “Next steps”- Work in the Task Workspace: the blocked banner that links to the assist.
- Read a run: what the resumed run has to get through before it can finish.
- Set environment variables and secrets: where a value an agent needs actually belongs.