task_pull
Get work by claiming the highest-priority todo whose dependencies are done, making it in_progress for your agent. It prefers unclaimed paths and can wait server-side, avoiding polling.
Instructions
Take the next task: the highest-priority todo whose dependencies are done becomes in_progress and yours, preferring tasks whose paths nobody else holds. Use to get work; to look without taking use task_list, and to change a named task use task_update. none means nothing is unblocked; a task that comes with waiting_on overlaps paths others hold, so coordinate before editing them. wait_secs waits server-side for work instead of you polling.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | Your stable agent name. | |
| wait_secs | No | Wait up to this many seconds (max 120) while todo tasks are claimed or wait on dependencies. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | The task you now own: 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). | |
| status | Yes | ok: the task is yours, in_progress. none: no todo task is unblocked. cancelled: a wait whose caller left. invalid: bad input. | |
| message | No | Human-readable detail, on most outcomes other than ok. | |
| waiting_on | No | Present when the task's paths overlap what others hold: path, owner. Coordinate before editing those. |