What Anthropic added

Anthropic has added support for two newer parts of the Model Context Protocol, the open standard Claude uses to talk to plugins and outside tools. In a post on 23 October 2026, the ClaudeDevs account said tasks let Claude give plugins long-running jobs, such as deep research, and report back when they are done, while elicitations let plugins ask users for input mid-task, such as confirming a refund or filling in a missing detail.

Both features are available first in Claude Code, Anthropic's coding agent, in its command-line version. Anthropic says they are rolling out to more Claude products soon but has not given dates. The task support is labelled a public beta and needs Claude Code v2.1.304 or later; CellCog, which wrote up the launch, dates that release to 19 October.

The news was first previewed on stage. According to Upstash, David Soria Parra, a co-creator of MCP at Anthropic, announced task support in Claude Code during his keynote at the AGNTCon and MCPCon North America conference in San Jose on 22 October, a day before the official post.

How an MCP task works

Until now, a plugin call in Claude Code was a single request and answer. If a tool needed ten minutes to export a report or run a build, the call stayed open the whole time. Claude Code already softened that by moving any main-conversation tool call still running after two minutes into the background, but the server had to keep the connection open, and the job did not survive the user closing the session.

An MCP task changes the shape of the call. The Tasks extension of the protocol lets a server answer a slow request with a task handle instead of the final result. The handle carries an ID, a status, a time to live and a suggested polling interval, and the server must create the task durably before it replies. The client then asks for updates with a tasks/get request until the task reaches a final state: completed, failed or cancelled. A fourth state, input_required, means the server is waiting for the user.

In Claude Code, that means Claude gets the handle straight away and keeps working on something else. A counter such as 1 MCP task appears in the footer, the job is listed under the /tasks command, and when it ends a line in the transcript reports that it completed. The result itself goes to Claude rather than into the transcript, and if Claude is idle when it arrives, it starts on it unprompted. Upstash, which tested the feature against its own server, reports that Claude Code polled every two seconds, the interval its server suggested.

The more practical change is persistence. Anthropic's MCP documentation says a task on a remote server keeps running after you exit Claude Code, and resuming the same session picks it up again. If the job finished while you were away and the server still remembers it, Claude gets the result. Starting a fresh session, forking one, or using a one-shot claude -p run does not reconnect to the task.

Elicitations: when a plugin needs an answer

Elicitation is the other half. It lets an MCP server pause and ask the person at the keyboard for something it cannot work out itself. Claude Code shows the request in one of two ways. In form mode it opens a dialog with fields the server defines, such as a yes or no confirmation or a missing value. In URL mode it asks whether to open a link in the browser, for flows such as signing in to a service.

The two features are designed to work together. A running task can switch to input_required and open an elicitation dialog, so a long job can stop before a risky step and wait for approval. Declining or pressing Escape counts as an answer, and the server then decides whether the task continues. Upstash's example is a publishing tool that asks whether to publish a post now and only goes ahead on an explicit yes.

This fits a broader shift at Anthropic toward fewer, better-placed questions. The company recently said Claude apps will run in auto mode by default, replacing a permission prompt for every step with an automated check. Elicitations give plugin makers their own way to ask at the moments that matter, such as a refund or a deployment, rather than relying on the client to interrupt.

Users who want no dialog at all can set an Elicitation hook in Claude Code to answer requests automatically. In non-interactive runs, where nobody is there to answer, Claude Code asks the server to cancel any task that requests input.

Where it works today

Support is narrower than the announcement might suggest. According to the documentation, a tool call becomes an MCP task only when several conditions hold. The server must support tasks and connect on protocol revision 2026-07-28. The session must be a terminal CLI session, an Agent SDK session or a GitHub Actions run. The call must come from the main conversation, not from a subagent.

The VS Code extension and the Claude desktop app do not have MCP tasks yet. Sessions on third-party providers such as Amazon Bedrock are excluded, as are sessions with feature-flag fetching or telemetry turned off. Any call that does not meet the conditions falls back to an ordinary tool call, so nothing breaks for servers or users that have not adopted the extension.

A few settings change the behaviour. Setting CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS to 0 makes Claude wait for every MCP call to finish, and CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND set to 1 makes it wait for task results specifically. By default, a task running in the background has no time limit set by Claude Code.

What server authors have to do

Nothing changes unless the plugin's server opts in. A server advertises the io.modelcontextprotocol/tasks extension, checks that the client declared it in the same request, and only then answers with a task. It also has to serve tasks/get, accept answers through tasks/update and acknowledge tasks/cancel. The specification says cancellation is cooperative: the server should honour it when it can, but the job may still finish.

Upstash used the launch to ship a helper in its @upstash/mcp-toolkit package that implements those methods. Its write-up also shows the main practical problem for serverless hosting: a function cannot keep working after it replies and cannot share memory between calls, so tasks need to be stored and run somewhere durable. Upstash's answer is its own Redis and QStash services, and it reports that a task survived the app being killed and restarted mid-run.

Durable execution is a theme across agent tooling this month. Vercel recently open-sourced a harness that keeps coding agents alive through crashes, and Google Cloud launched Agent Compute Engine, which gives each agent its own microVM. MCP tasks push the same idea down to individual tool calls.

Why it matters for agents

Most useful agent work is slow: research across many sources, test suites, data exports, deployments and anything that needs a human sign-off. Before tasks, a plugin either blocked the conversation or had to invent its own job-ID scheme and teach the model to check back. A shared protocol mechanism means a plugin written once can behave the same way in any client that supports the extension.

MCP itself is hosted by the Agentic AI Foundation, which this week took in four more projects when Anthropic, OpenAI, Hugging Face and Alibaba handed it new agent projects. The Tasks extension is published as a protocol extension rather than a Claude-only feature, so which other clients adopt it will decide whether plugin makers bother to build for it.

Limits and open questions

The feature is a public beta in one product surface, the command-line tool, and Anthropic has not said when the desktop app, the VS Code extension or Claude on the web will follow. Plugin makers who rely on tasks still need a plain-call fallback for every other client.

Stopping a task is not a guarantee. The documentation says that when you stop one, Claude Code asks the server to cancel it, but the server may already have done some of the work or may still finish it. If Claude Code loses track of a task, it reports the outcome as unknown and warns that calling the tool again may repeat the work, which matters for anything that sends money, emails or deployments.

Elicitation also gives plugins a new way to ask users for things. Anthropic's documentation gives a username and password prompt as an example of a form, while URL mode sends sign-in to the service's own page in the browser. Users should think twice before typing credentials into a dialog from a plugin they do not fully trust, and prefer the browser route where a service offers it.

Common questions

What are MCP Tasks in Claude Code?

A way for a plugin's MCP server to answer a slow request with a task handle instead of making Claude wait. Claude keeps working, checks on the task, and gets the result when it finishes.

Which version of Claude Code supports MCP Tasks?

Claude Code v2.1.304 or later, in terminal CLI sessions, Agent SDK sessions and GitHub Actions runs. The VS Code extension and the desktop app do not support tasks yet.

Do I need to configure anything to answer elicitation requests?

No. Claude Code shows elicitation dialogs automatically when a server requests input. You can set an Elicitation hook if you want requests answered without a dialog.

Sources & further reading

  1. We're adding support for MCP Tasks and Elicitations in Claude ↗
  2. Connect Claude Code to tools via MCP ↗
  3. MCP Tasks extension ↗
  4. MCP Tasks and Elicitations in Claude Code: Long-Running Tools That Can Ask You Things ↗
  5. Claude Code MCP Tasks: Long Jobs That Report Back ↗
How this story was made

Written by Kristian Kostov with AI assistance and checked against the linked sources. Company performance claims are attributed to the company. Analysis reflects AiLookout’s interpretation; we have not independently tested the products discussed. The cover places the companies’ own logos, taken from public-domain or openly licensed files credited in the caption, on a plain background. It is not a product photograph, a screenshot, or an endorsement.

Our editorial standards
Back to all stories