Skip to content

Claude Code now backgrounds long-running MCP tool calls

Version 2.1.319 adds support for MCP tasks, moving a tool call to the background the moment a server returns one, with an environment variable to keep the old blocking behaviour.

Source: Anthropic

Claude Code 2.1.319, out on 6 November, adds support for the Model Context Protocol’s Tasks primitive. When an MCP server answers a tool call with a task handle instead of a direct result, a call-now, fetch-later pattern added in MCP’s 2025-11-25 spec revision, Claude Code now moves that call to the background right away and tells Claude the result once it finishes.

Before this release, a tool call handled as a task still blocked inside the main loop like any synchronous call. The new default changes that for every MCP server that opts a tool into task support. If you want the old blocking behaviour back, for debugging, or because you need a tool’s result before Claude moves on, set CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND=1.

Why it matters: if you build or rely on MCP servers with slow tools, scrapes, long searches, builds, this changes how Claude Code’s main loop waits on them. That’s likely an improvement, but it is a behaviour change, not an opt-in one, so check which of your tools declare task support before you upgrade.

The caveat: MCP’s Tasks primitive is still marked experimental in the spec itself, with no compatibility guarantees, so the protocol underneath this feature can still change.

Share

Related reading

More from The Wire

All briefs