task_update
Change a task's status for parallel coding agents: mark done, hand back to todo, block with reason, or claim in_progress by id, avoiding conflicts and tracking ownership.
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, lead-only while a swarm has a lead. 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 |
|---|---|---|---|
| lead | No | On a lead-only conflict: the lead to message. | |
| 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, or force is lead-only. not_found: no such task. invalid: bad status or an ambiguous id prefix. | |
| message | No | Human-readable detail, on most outcomes other than ok. |