
Anthropic adds MCP Tasks and Elicitations to Claude, CLI first
Plugins can now hand Claude Code long jobs that report back later and ask you questions mid-task, with more Claude products to follow "soon."
If you build plugins or MCP servers for Claude, you can now return a long job as a task that keeps running while Claude works, and ask the user for input mid-task. Anthropic says this works today in the Claude Code CLI.
What changed#
At 2:24 PM ET, Anthropic's @ClaudeDevs account posted: "We’re adding support for MCP Tasks and Elicitations in Claude." It said Tasks "let Claude give plugins long-running jobs such as deep research and report back when they’re done," and that Elicitations let plugins "ask users for input mid-task, such as confirming a refund or filling in a missing detail."
The follow-up post scopes it: "Tasks and Elicitations are available today in the Claude Code CLI, rolling out to more Claude products soon." Anthropic didn't name those products or give a date.
Without a task, a long MCP call in Claude Code moves to a plain background task after two minutes, and the docs say that kind "doesn't survive exiting the session." With an MCP task, the server runs the job itself and the call returns once the server accepts it. Per the docs, "A task on a remote server keeps running after you exit. To follow it again, resume the same session."
Parts of this were already in Claude Code. Elicitation dialogs shipped in v2.1.76 in March. The docs say "MCP tasks are in public beta in the Claude Code CLI and require Claude Code v2.1.304 or later"; that version hit npm on Oct 19, though its changelog entry doesn't mention tasks (our 2.1.304 to 2.1.306 roundup covers what it did list). What's new today is the announcement and the word that more Claude products are coming.
Why it matters#
Our read: this is what lets a connector do long work, such as a deep research run, a build or a report export, without tying up your session, then come back with the answer. Elicitations let it pause for a yes or no before an action like a refund instead of guessing.
How a task runs#
The MCP Tasks overview lays out the flow. The client says it supports the io.modelcontextprotocol/tasks extension in each request. A server that decides a request will be long-running "returns a task handle instead of the final result," with a task ID, status, TTL and suggested polling interval. The client then polls tasks/get. If the task needs input, it moves to input_required and the client answers through tasks/update. That's where Elicitations come in. The spec says "Task support requires explicit opt-in from both client and server," so existing servers don't change on their own.
How to use it#
Follow the steps above. For server authors, the docs say "Answer with a task only when the request carries the extension, or Claude gets the tool error Unsupported result type 'task' for tools/call." On HTTP or claude.ai connector servers, they say to "accept the job and answer first, then do the work." Claude Code then polls tasks/get every 2 seconds unless the server sets pollIntervalMs.
Good to know#
- Where it works. The docs list terminal CLI, Agent SDK and GitHub Actions sessions. They say the VS Code extension and desktop app "don't have MCP tasks." Bedrock and sessions with flag fetching off are out, and so are calls from subagents. And "A one-shot
claude -p "<prompt>"run doesn't get MCP tasks." - Questions need a person. Per the docs, "
elicitation/createis served only in interactive terminal sessions." In a non-interactive session, Claude Code asks the server to cancel a task that requests input, without running yourElicitationhooks. For ordinary elicitations outside a task, theElicitationhook can "respond programmatically, skipping the dialog entirely." - Stopping isn't a guarantee. Claude Code asks the server to cancel, "though the server may still finish it," the docs say. The spec agrees the server "is not obligated to stop the work."
- Lost tasks can double up. If a task ends with "outcome unknown," the docs warn "A second call may repeat the work."
- Local servers. "A stdio server's process stops when Claude Code exits," per the docs, so let those tasks finish or stop them in
/tasksfirst.
What to watch#
Which Claude products get Tasks and Elicitations next, and when. Anthropic only says "soon."
Last checked: Oct 23, 2026, 3:58 to 4:01 PM ET (the three @ClaudeDevs posts via the X API, Claude Code MCP and hooks docs, MCP Tasks overview, Claude Code CHANGELOG, GitHub v2.1.76 release, npm registry). What changed: first published Oct 23; no updates since.
Steps
- Update Claude Code to v2.1.304 or later and use it in a terminal session, an Agent SDK session or a GitHub Actions run (the docs list these as the surfaces with MCP tasks).
- Connect a server that supports the MCP tasks extension on protocol revision 2026-07-28, over HTTP, stdio or a claude.ai connector.
- Ask Claude to start the long job. Watch the footer count (for example 1 MCP task), and open /tasks to see status or press x to stop it.
- When a task asks a question, close /tasks so the elicitation dialog can show, then answer, decline or press Esc.
- Server authors: answer tools/call with resultType task only when the request carries the io.modelcontextprotocol/tasks extension, and accept the job before doing the work.
Use the [server name] tool to start the [report or export] as an MCP task. Keep working on [other job] while it runs. When the task finishes, tell me the result and the task ID. If the task fails or the outcome is unknown, do not run it again until you have checked with the server's other tools what was already done. (ours, untested)


