Was es tut
Create a task. Break work into subtasks via parent_id, or file a follow-up. Set assignee='claude' to add it to the AI agent queue. Optional: project_id, due_date (YYYY-MM-DD), due_time (local "HH:MM" on that date — a task with one is scheduled AT that time rather than fitted into a free slot), estimate_minutes, acceptance_criteria (what "done" means — the bar the result is checked against), description (long-form write-up, HTML), references (URLs/paths for context — a Google Doc, a repo file — fetch them yourself via whatever connectors you have; Done just stores the pointer), horizon. A task you create starts gated: close it with propose_completion (only a human can mark a task agent_ok). Not settable here, because they are the human's to grant: notes_for_agent (the human's one-way instructions — put your own context in notes or description) and budget_tool_calls/budget_minutes.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
title | string | Pflicht | |
notes | string | Optional | |
acceptance_criteria | string | Optional | What "done" means for this task — the checkable bar the result is judged against, not instructions. Write it as conditions someone can verify ("tests pass on the branch tip", "page loads under 200ms"). Read it before you start and check your work against it before proposing completion. |
description | string | Optional | Long-form write-up for the task, as HTML — this is what the rich-text editor reads and writes, so send HTML, not markdown. Send the tags raw — do not HTML-escape them ( |
priority | string | Optional | Erlaubte Werte urgentmediumlow |
parent_id | string | Optional | |
project_id | string | Optional | |
goal_id | string | Optional | File this task under a goal (North Star) as an action step toward it. Get ids from list_goals. |
start_date | string | Optional | YYYY-MM-DD. Optional: the day work is meant to begin. With due_date it is the task's span on the human's Gantt chart; nothing schedules or reminds off it. |
due_date | string | Optional | YYYY-MM-DD |
due_time | string | Optional | Optional local wall-clock time on due_date, 24-hour "HH:MM". A task with one is scheduled AT that time instead of being packed into a free slot. |
due_hard | boolean | Optional | true = hard deadline (must finish on/before due_date); false (default) = soft, a suggested date |
waiting | boolean | Optional | true = parked, waiting on someone else. A parked task stays on the board under "Waiting" but leaves the human's calendar feed, Plan my day and Today until its resurface_date arrives (or indefinitely, with none) — so it stops being time-blocked into every day while the ball is in someone else's court. |
resurface_date | string | Optional | YYYY-MM-DD. The day a parked (waiting) task comes back onto the human's calendar and into Today. Only meaningful alongside waiting=true. |
assignee | string | null | Optional | Erlaubte Werte claudenull |
agent | string | Optional | Only on an account with an agent roster (list_agents): pins the task to a named agent. Must be your OWN lane — a task you create lands in your queue, never another agent's; use handoff_task to pass work on. Implies assignee=claude. Without it, an assignee=claude task you create is pinned to your lane anyway. |
estimate_minutes | number | Optional | Task length in minutes |
horizon | string | null | Optional | Erlaubte Werte todaythis_weekthis_monthbacklogparking_lotnull |
impact | number | Optional | 1–5 rating of how much this moves the needle (feeds the Value/priority ranking) |
value | number | Optional | Optional payout/value of this task (dollars, points, etc.); boosts its priority ranking |
references | string[] | Optional | URLs/paths the agent should read for context |
deliverables | object[] | Optional | Structured outputs you produced — {label, url, kind, content}. |
deliverables[].label | string | Pflicht | |
deliverables[].url | string | null | Optional | |
deliverables[].kind | string | Optional | What this deliverable holds. Omit for markdown, which is the default and the right answer for a draft, summary, report or plan. Use "html" only for a page you actually generated as HTML — it is rendered in a locked-down sandbox that cannot run scripts or reach the network, so a page that depends on either will look wrong. Use "pdf" with base64 in Erlaubte Werte markdownhtmlpdfbinary |
deliverables[].content | string | null | Optional | The document itself, so a human can read it without leaving Done. Markdown or HTML as text, capped at 10,000 characters each (40,000 across the task). A pdf goes here as base64, capped at 800,000 base64 characters (about 600 kB, and 1,200,000 across the task). Put anything larger behind a |
deliverables[].artifact_id | string | null | Optional | An artifact you uploaded, instead of inline |
deliverables[].filename | string | null | Optional | What the downloaded file should be called. Ignored for the text kinds, and sanitised before use — the extension comes from an allow-list, not from you. |
idempotency_key | string | Optional | Optional. One key per operation: pass the same key only when retrying this exact call, so a retry after a timeout replays the first result (a key already used on a different tool is refused, and keys expire after 48 hours) instead of creating a duplicate task. |
Annotationen
Die Hinweise, die der Server mit diesem Tool mitschickt. Ein Client liest sie, um zu entscheiden, ob er dich vor einem Aufruf fragt.
- Nur lesen
readOnlyHint: false - Ändert Daten in deinem Done-Konto.
- Destruktiv
destructiveHint: false - Fügt nur hinzu oder liest; nichts Bestehendes wird entfernt oder überschrieben.
- Idempotent
idempotentHint: false - Jeder Aufruf kann etwas Neues hinzufügen, etwa einen Kommentar, einen Lauf oder eine Aufgabe.
- Offene Welt
openWorldHint: false - Berührt nur dein eigenes Done-Konto.
Welche Tokens es aufrufen dürfen
Eine per OAuth hergestellte Verbindung hat vollen Zugriff. Ein Token aus Einstellungen → Agentenzugriff → Weitere MCP-Tokens lässt sich einschränken, und ein eingeschränktes Token sieht nie über sein Projekt oder seinen Workspace hinaus.
- Voller ZugriffErlaubt
- Token nur zum LesenAbgelehnt
- Token für ein ProjektErlaubt
- Token für einen WorkspaceErlaubt
Probier es aus
Sobald Done verbunden ist, sag deinem Assistenten zum Beispiel:
“Leg eine dringende Aufgabe an, die Domain bis Freitag zu verlängern, und weise sie Claude zu.”
Verbinde Done mit deinem Assistenten
Ein MCP-Endpunkt pro Konto, per OAuth oder Token. Die Einrichtung Schritt für Schritt für jeden Client: