update_todo
Update specific fields of an existing todo without affecting others. Replace tags entirely or modify title, description, due date, or status independently.
Instructions
Update an existing todo's fields. Only the fields provided are modified; omitted fields are left unchanged. For toggling completion state alone, prefer mark_todo_done / reopen_todo for clearer intent; use update_todo when you also need to change title, description, due_date, or tags. The tags array (if provided) REPLACES the existing tag set. Example: {"id":"def67890","due_date":"2026-07-01","description":"Updated context"} changes only those two fields. Side effects: idempotent for the same input; only specified fields change. Errors if the id does not exist.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | New description (optional). | |
| due_date | No | Due date in YYYY-MM-DD format, e.g. "2026-06-15" (optional). | |
| id | Yes | UUID of the todo to update. Required. | |
| status | No | Completion status: "open" (incomplete) or "done" (completed). Prefer mark_todo_done / reopen_todo for status-only changes. | |
| tags | No | New tag list (optional). Replaces existing tags entirely. | |
| title | No | New title (optional). |