What it does
Propose changes to a task's fields WITHOUT making them: a diff a human reads as current-vs-proposed and accepts or dismisses one field at a time. Use it when you would otherwise call update_task on something a human is likely to want a say in — retitling their task, moving a date they set, rewriting their acceptance criteria. Nothing changes until a person accepts, and they can take the three edits that were right and drop the one that wasn't, instead of rejecting the lot and making you redo all four. Each edit carries a reason, which is what the person is actually deciding on. You may only propose fields you could already set yourself: a field that is refused to you is not yours to propose either. A proposal records the field's current value, so if somebody edits that same field before your proposal is read, accepting it is refused rather than quietly overwriting their work — re-read the task and propose again.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | Task id |
edits | object[] | Required | One entry per field. Proposing the value a field already has is dropped rather than queued.
|
edits[].field | string | Required | The task field to change, e.g. title, notes, due_date, acceptance_criteria |
edits[].value | unknown | Optional | The proposed value. null proposes clearing the field. |
edits[].reason | string | Optional | Why — one line. This is what the human is deciding on. |
Annotations
The hints the server sends with this tool. A host reads them to decide whether to ask you before a call.
- Read-only
readOnlyHint: false - Changes data in your Done account.
- Destructive
destructiveHint: false - Only adds or reads; nothing already there is removed or overwritten.
- Idempotent
idempotentHint: false - Each call can add something new, such as a comment, a run or a task.
- Open world
openWorldHint: false - Touches only your own Done account.
Which tokens can call it
A connection made with OAuth has full access. A token from Settings → Agent access → Extra MCP tokens can be narrowed, and a narrowed token never sees beyond its project or workspace.
- Full accessAllowed
- Read-only tokenRefused
- Single-project tokenRefused
- Single-workspace tokenAllowed
Try it
With Done connected, ask your assistant something like:
“Suggest a clearer title and due date for the website task, but let me approve the change.”
Connect Done to your assistant
One MCP endpoint per account, over OAuth or a token. Step-by-step setup for each client: