vikunja_update_task
Update an existing task by changing only the provided fields while preserving all other values. Opt into full replacement to reset unspecified fields to their defaults.
Instructions
Update an existing task with PATCH-style semantics. By default only the fields you pass are changed; every other field keeps its current value (the MCP server reads the task first and merges your input on top). Set _replace: true to opt out and use Vikunja's native full-replacement behavior, which resets every unspecified field to its type default.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| done | No | Mark task as done. | |
| title | No | Task title. | |
| task_id | Yes | Task ID. | |
| _replace | No | Opt-out escape hatch. When true, skip the read-then-merge step and post only the fields you pass, which causes Vikunja to reset any unspecified field to its default. Leave unset for safe partial updates. | |
| due_date | No | Due date in ISO 8601 format. | |
| end_date | No | End date in ISO 8601 format. | |
| position | No | Task position. | |
| priority | No | Task priority. | |
| bucket_id | No | Bucket ID inside the current view. | |
| hex_color | No | Task color. | |
| project_id | No | Move task to another project. | |
| start_date | No | Start date in ISO 8601 format. | |
| description | No | Task description. | |
| is_favorite | No | Favorite state. | |
| percent_done | No | Completion percentage. | |
| repeat_after | No | Repeat interval in seconds. |