Anthropic has added two Model Context Protocol features to Claude Code: Tasks for long-running server operations and Elicitations for obtaining user responses while a tool is working. This allows Claude Code to continue with other work while waiting for a result, while the server can request missing information. Tasks are in public beta.
Long-running tasks do not have to block other work
A standard synchronous tool call via MCP typically has 30 to 60 seconds to complete. However, this window may not be sufficient for CI pipelines (automated continuous integration workflows), research runs, or batch exports. These operations, like training tasks, can take minutes or hours.
Tasks separate task acceptance from delivery of the completed result. The server first quickly returns its identifier together with its status, timing information, and polling interval. In the meantime, Claude Code can work on something else and periodically check how processing is progressing. Once complete, it passes the result to Claude in the next turn.
Server and inactivity timeouts remain in effect until the server accepts the task and returns its identifier. From that point onward, Claude Code does not limit the total runtime of the background task by default.
Task resumption depends on the server's persisted state
Remote processing can continue even after Claude Code is closed if the server persistently stores the task state. The claude --resume command then makes it possible to reconnect to the same work. Upon a new connection, the server must recognize the original identifier and have the metadata and results stored.
For local processes, it also depends on what happens when the client is closed. If a server connected via stdio is terminated along with it, support for Tasks alone will not preserve the computation. Only work handed off to a separate, continuously running process can continue.
The connection settings must also remain stable during processing. Renaming the server or changing its transport causes the task to be rejected upon resumption. If the server rejects its ID after reconnection, the client attempts to determine its status for up to five minutes and then reports an unknown result. Blindly repeating the operation may duplicate work that has already been completed.
Elicitations make it possible to obtain confirmations and missing information
The second new feature addresses situations in which a tool needs a response only after work has begun. For example, a refund service may request confirmation, while a deployment tool may ask for a region to be specified. Claude Code displays the request, collects the user's response, and sends it to the server without any additional client configuration.
Two input modes are available. Form displays fields defined by the server and is intended for confirmations or entering non-sensitive structured data. URL offers to open a link in the system browser for OAuth and other web-based workflows. Passwords, access tokens, and other secrets should not be entered into forms; authentication belongs in URL mode.
Both features can also be combined for a task already in progress. The Task transitions to the input_required state and includes an inputRequests map containing the requested inputs. Claude Code obtains them and returns them through tasks/update, after which the server can continue the same task without having to maintain the original connection.
Support in the CLI, Agent SDK, and GitHub Actions
Both new features are available in the terminal CLI, Agent SDK, and GitHub Actions. They require Claude Code v2.1.304 or later and MCP protocol revision 2026-07-28. Tasks are not yet supported in the VS Code extension or the Claude desktop app; Anthropic says it plans to expand support to additional Claude environments.
On the server side, HTTP, stdio, or the claude.ai connector can be used, and the connection must negotiate the required protocol revision. Setting MCP_SDK_GENERATION=v1 or MCP_PROTOCOL_NEGOTIATION=legacy disables the protocol path required by the new features.
Automation has different execution requirements
Tasks can be created from tool calls in the main conversation, but not from subagents. They are also not supported by the standard one-off claude -p invocation. For non-interactive automation, use the Agent SDK or --input-format stream-json mode with CLAUDE_AUTO_BACKGROUND_TASKS=1 enabled.
In non-interactive operation, an Elicitation request causes the task to be canceled because no user is available to respond. Servers must therefore be able to handle this cancellation.



