Ce qu’il fait
Propose *how* you intend to tackle a task before doing the work, and wait for a human to approve it. Posts your plan (markdown) as a comment and sets status to plan_proposed, which drops the task out of your ready queue (list_my_tasks) until a human approves (→ back to in_progress, with plan_approved_at stamped as your go-ahead) or rejects (→ back to not_started, with feedback to re-plan) it in the app. Use this for substantial or ambiguous work where the human should sign off on the approach before you spend effort — the pre-execution counterpart to propose_completion. Pass steps to materialize the plan as real subtasks right away (same mechanism as decompose_task) instead of leaving it as prose only a human has to manually turn into tasks later — render_plan and the app both read these subtasks, so this is what makes the checklist/progress view work. A step's assignee defaults to unset (nobody's queue) even if you write "I'll do this" in the plan text — set assignee:"claude" explicitly on the steps you intend to execute yourself, otherwise get_task/list_my_tasks won't know they're yours.
Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id | string | Obligatoire | |
plan | string | Obligatoire | The plan (markdown) — the approach, steps, and anything you need the human to confirm |
steps | object[] | Facultatif | Optional concrete action steps — created as real subtasks under this task immediately, so the human can review the actual breakdown (not just prose) before approving.
|
steps[].title | string | Obligatoire |
|
steps[].assignee | string | Facultatif | Set to claude if you'll execute this step yourself; omit for a step that's on the human. Valeurs autorisées claude |
Annotations
Les indications que le serveur envoie avec cet outil. Un client les lit pour décider s’il doit vous demander avant un appel.
- Lecture seule
readOnlyHint: false - Modifie des données de votre compte Done.
- Destructif
destructiveHint: false - Ajoute ou lit seulement ; rien de ce qui existe n’est supprimé ni écrasé.
- Idempotent
idempotentHint: false - Chaque appel peut ajouter quelque chose de nouveau : un commentaire, une exécution, une tâche.
- Monde ouvert
openWorldHint: false - Ne touche que votre propre compte Done.
Quels jetons peuvent l’appeler
Une connexion établie avec OAuth a un accès complet. Un jeton créé dans Réglages → Accès des agents → Jetons MCP supplémentaires peut être restreint, et un jeton restreint ne voit jamais au-delà de son projet ou de son espace de travail.
- Accès completAutorisé
- Jeton en lecture seuleRefusé
- Jeton limité à un projetRefusé
- Jeton limité à un espace de travailAutorisé
Essayez
Une fois Done connecté, demandez à votre assistant quelque chose comme :
“Avant de lancer la migration, proposez un plan et attendez mon feu vert.”
Connectez Done à votre assistant
Un point d’accès MCP par compte, via OAuth ou un jeton. La configuration pas à pas pour chaque client :