task_update
Change a task's status to done, todo, blocked with reason, or in_progress. Resolve conflicts with other agents by force, then get the full task.
Instructions
Change one task's status: done to finish it, todo to hand it back, blocked to park it with note as the reason, in_progress to take it by id. Changing a task another agent has in_progress is a conflict naming the owner, unless force, which is recorded in the task's notes. To get the next task without naming one use task_pull. Returns the task in full.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | A note to append. For `blocked`, this is the reason. | |
| agent | Yes | Your stable agent name. | |
| force | No | Take or close a task another agent has in progress. | |
| status | Yes | One of `todo`, `in_progress`, `blocked`, `done`. | |
| task_id | Yes | The task's id, or a unique prefix of it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | The task after the change: id, title, description, priority, depends_on, paths, created_by, created_at, updated_at, notes, and state: its status with owner (in_progress), owner and reason (blocked), or by (done). | |
| owner | No | On conflict: the agent that has the task in_progress. | |
| since | No | On conflict: RFC 3339 time that agent took it. | |
| status | Yes | ok. conflict: another agent has it in_progress and force was not set. not_found: no such task. invalid: bad status or an ambiguous id prefix. | |
| message | No | Human-readable detail, on most outcomes other than ok. |