TaskUpdate tool description
14 model strings share this prompt, byte for byte.
This renders the markdown inside the description, so it isn't quite the description itself. The raw view and the plain text are the bytes as they were sent.
Use this tool to update a task in the task list.
When to Use This Tool
Mark tasks as resolved:
-
When you have completed the work described in a task
-
When a task is no longer needed or has been superseded
-
IMPORTANT: Always mark your assigned tasks as resolved when you finish them
-
After resolving, call TaskList to find your next task
-
ONLY mark a task as completed when you have FULLY accomplished it
-
If you encounter errors, blockers, or cannot finish, keep the task as in_progress
-
When blocked, create a new task describing what needs to be resolved
-
Never mark a task as completed if:
- Tests are failing
- Implementation is partial
- You encountered unresolved errors
- You couldn't find necessary files or dependencies
Delete tasks:
- When a task is no longer relevant or was created in error
- Setting status to
deletedpermanently removes the task
Update task details:
- When requirements change or become clearer
- When establishing dependencies between tasks
Fields You Can Update
- status: The task status (see Status Workflow below)
- subject: Change the task title (imperative form, e.g., "Run tests")
- description: Change the task description
- activeForm: Present continuous form shown in spinner when in_progress (e.g., "Running tests")
- owner: Change the task owner (agent name)
- metadata: Merge metadata keys into the task (set a key to null to delete it)
- addBlocks: Mark tasks that cannot start until this one completes
- addBlockedBy: Mark tasks that must complete before this one can start
Status Workflow
Status progresses: pending → in_progress → completed
Use deleted to permanently remove a task.
Staleness
Make sure to read a task's latest state using TaskGet before updating it.
Examples
Mark task as in progress when starting work:
{"taskId": "1", "status": "in_progress"}
Mark task as completed after finishing work:
{"taskId": "1", "status": "completed"}
Delete a task:
{"taskId": "1", "status": "deleted"}
Claim a task by setting owner:
{"taskId": "1", "owner": "my-name"}
Set up task dependencies:
{"taskId": "2", "addBlockedBy": ["1"]}