← All MCP tools

Propose plan

propose_plan
Write

What it does

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.

Parameters

NameTypeRequiredDescription
idstringRequired
planstringRequired

The plan (markdown) — the approach, steps, and anything you need the human to confirm

stepsobject[]Optional

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.

  • Up to 50 items
steps[].titlestringRequired
  • Up to 500 characters
steps[].assigneestringOptional

Set to claude if you'll execute this step yourself; omit for a step that's on the human.

Allowed valuesclaude

Annotations

The hints the server sends with this tool. A host reads them to decide whether to ask you before a call.

Read-onlyreadOnlyHint: false
Changes data in your Done account.
DestructivedestructiveHint: false
Only adds or reads; nothing already there is removed or overwritten.
IdempotentidempotentHint: false
Each call can add something new, such as a comment, a run or a task.
Open worldopenWorldHint: 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:

“Before you start the migration, propose a plan and wait for my go-ahead.”

Connect Done to your assistant

One MCP endpoint per account, over OAuth or a token. Step-by-step setup for each client:

MCP setup overview →