← All MCP tools

Ask a human to decide

ask_decision
Write

What it does

Park a question for the human and MOVE ON — the one way to involve them without ending your run. Use this the moment you hit something you shouldn't decide alone: spending money, anything outward-facing (an email, a post, a reply to a customer), anything irreversible, or a genuine fork where guessing wrong is expensive. Everywhere else, decide it yourself and say what you decided in your run summary — an ask for every ambiguity turns this into the comment feed it replaced. recommendation is REQUIRED: say what you'd do absent an answer, so answering is one keystroke rather than an essay. Give 2-4 options when the answer is a choice; omit them for free text. blocking:true (the default) parks the task as needs_input and drops it out of your queue — go work something else, and read the answer next run via list_open_decisions or get_task. blocking:false leaves the task in your queue so you keep working and pick the answer up later. Only ONE open blocking question per task. This is NOT an approval and never completes anything.

Parameters

NameTypeRequiredDescription
idstringRequired

The task id

questionstringRequired

The question, in one sentence

kindstringOptional

question = a fork; permission = may I do this outward-facing/irreversible thing; input = a value only they have

Allowed valuesquestionpermissioninput
contextstringOptional

Why you're asking and what hangs on it — what you already ruled out, and the cost of each way

optionsstring[]Optional

2-4 concrete choices. Omit for a free-text answer.

recommendationstringRequired

Required, and the most useful field here — a bare label is not enough. Name the option you'd take AND why, in a sentence or two: what tipped it, and what the cost of the other way is. "Reuse existing ID — a new one re-triggers install review for every connected workspace, and the payload flag is backward compatible." beats "Reuse existing ID". Lead with the option's exact wording so the UI can highlight it.

blockingbooleanOptional

True (default) parks the task until answered; false keeps working

agentstringOptional

Which agent is asking

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:

“If you need me to choose between the two vendors, ask me and carry on with other work.”

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 →