Claude Code v2.1.319
Claude Code v2.1.319 was released on .
Summary
Claude Code 2.1.319 is out: MCP tasks now run in the background, auto mode behaves differently behind gateways, and a new setting can deny prompts instead of waiting. Want the details?
Release Context
- This was the 259th Claude Code release of 2026 tracked by Havoptic.
- It shipped 2 days after Claude Code v2.1.318 (November 3, 2026).
- Claude Code: ships every 1.4 days — 22 releases in the last month.
Why it matters: Claude Code can now run MCP tasks in the background.
Shipped around the same time
Within 3 days of this release, other AI coding tools also shipped:
- Lovable 2026.11.09 (November 9, 2026)
- Amp 2026.11.09 (November 9, 2026)
- Devin Desktop v3.12.43 (November 9, 2026)
- Grok Build v1.0.79 (November 8, 2026)
- Lovable 2026.11.08 (November 8, 2026)
Compare Claude Code
- Claude Code vs OpenAI Codex CLI
- Claude Code vs Cursor
- Claude Code vs Gemini CLI
- Claude Code vs Kiro CLI
- Claude Code vs GitHub Copilot CLI
- Claude Code vs Devin Desktop
- Claude Code vs Antigravity CLI
- Claude Code vs Grok Build
- Claude Code vs Cline
- Claude Code vs OpenCode
- Claude Code vs Zed
- Claude Code vs Factory Droid
- Claude Code vs Devin
- Claude Code vs Lovable
- Claude Code vs Amp
- Claude Code vs GitHub Copilot in VS Code
- Claude Code vs Replit Agent
- Claude Code vs Bolt
- Claude Code vs v0
Release Notes
- Changed auto mode with telemetry or feature flags off, including behind LLM gateways: calls the server can't check are asked about or denied, with no fallback to the built-in classifier; set CLAUDECODEAUTOMODESERVER=0 to keep using it (Bedrock, Vertex and Foundry are unchanged)
- Changed auto mode behind an LLM gateway: CLAUDECODEAUTOMODESERVER=1 turns on the server-side check even with CLAUDECODEDISABLEEXPERIMENTALBETAS set; if managed settings set the latter, they must set the 1 too
- Added support for MCP tasks in the terminal: when an MCP server runs a tool call as a task, Claude Code moves it to the background right away and tells Claude the result when it finishes
- Added the CLAUDECODEDISABLEMCPTASKBACKGROUND environment variable to make Claude Code wait for an MCP task inside its tool call instead of moving it to the background right away
- Added permissions.denyInsteadOfPrompting setting: a tool call that would wait on a permission prompt is denied and the turn continues, in terminal sessions, subagents and teammates
- Added /claude-api latency-optimize to find where your Claude API code makes people wait and try faster settings against your eval
- Added the CLAUDECODEDISABLEFEATUREFLAGS environment variable, which stops feature-flag fetching without turning off telemetry; every flag then uses its built-in default
- Added spend for today, this week and this month to /usage for developers behind a Claude apps gateway who have no spend limit, when the gateway runs this version or later
- Added admin.pooledconflictrule and admin.pooledpriorityorder to the Claude apps gateway, to set which pooled group budget pays first for a developer in several groups
- Added an optional loginnotice setting to the Claude apps gateway that shows an operator-defined message on the gateway's browser verification page and on Claude Code's sign-in screen
- Added CLAUDEGATEWAYLOGFORMAT=json to the Claude apps gateway: operational log lines become JSON with severity, time and message, for log collectors that read the level from a field
- Added a Claude apps gateway boot warning for a case where another policy's availableModels also allows a custom model id that one policy lists by name
- Added start-up warnings to the Claude apps gateway for policies with no desktopHome that rely on coworkTabEnabled: false or chatSessionRetentionDays, ahead of Claude Desktop's November 10 change
- Added a warning when your claude.ai login ends and Claude Code continues on the sign-in from ant auth login, which bills usage to your Claude Console organization
- Added a line at startup naming the Claude Console organization that is billed in a case where Claude Code uses the sign-in from ant auth login
- Added an "Earlier in this session" row to /tasks that lists finished subagents, so you can reopen one and message it even after it leaves the list or you restart
- Added a note to /loop confirmations in cloud sessions that a timer stops with its container, with an offer of a loop that survives
- Fixed MCP servers on the older handshake failing to connect, or returning empty results, because Claude Code declared an extension that it only uses with newer servers
- Fixed a long-running MCP tool call on a claude.ai connector sometimes never reporting its result after --resume
- Fixed a session's diff failing to load on claude.ai and the mobile apps when the folder Claude Code runs in has a file or folder named HEAD
- Fixed the /diff pane opening blank in sessions where 64 or more turns edited files
- Fixed slash commands typed after a leading space, tab or newline being sent to Claude as plain text instead of running
- Fixed a request that kept failing with a 401 refreshing your login on every retry and causing 401s in your other sessions
- Fixed /context sending its full visual grid to Claude on every later turn; Claude now reads only the table
- Fixed claude -p exiting 0 in auto mode when its actions were refused because no safety check was available: text and JSON output now exit 1
- Fixed a case where Claude Code listed every project file at start on Linux for projects on a network file system (NFS, SMB, Lustre and similar)
- Fixed a case where auto mode was wrongly refused when a client sent a model change and a request for auto mode back to back
- Fixed /status showing "Auto mode server: Enabled" when the server-side review isn't reaching the session, for example behind an LLM gateway that drops it
- Fixed Claude-drafted feedback, surveys and /feedback continuing to appear after the server refused feedback for your organization
- Fixed Claude drafting feedback on third-party gateways, where it can't be sent
- Fixed auto mode refusing actions without saying why when permission rules or autoMode settings are very large: it now explains and, unless autoMode deny rules are set, asks you in the terminal
- Fixed a case where Bash deny and ask rules missed commands written with quoted words
- Fixed subagent hand-back reports showing an internal marker and provenance note when expanded outside verbose mode
- Fixed claude -p --resume with a prompt losing a deferred tool call when its MCP server is missing: the run now exits 1, keeps the call and refuses later input
- Fixed a case where text was dropped from informational messages sent to SDK clients
- Fixed a case where Agent SDK hosts got a generic exit-code error instead of a failed run's own error message when the disk was full
- Fixed CLAUDECODERESUMEINTERRUPTEDTURN re-running a turn that was interrupted in plan mode when the session resumes in another permission mode
- Fixed edits to a settings file being ignored when made within a few seconds of Claude Code writing that file
- Fixed a config file left at the legacy name hiding your setup with no warning: Claude Code now says on stderr when a home holds two config files, and which is in use
- Fixed ~/.claude.json, settings and edited files ending up empty or cut off when the disk fills during a save in a read-only folder or to a bind-mounted file (one session saving at a time)
- Fixed Write ending the turn as a refusal when it couldn't read the file to overwrite
- Fixed background Bash commands that finish almost instantly losing their output while being reported as completed
- Fixed the Bash tool's diff of changed files missing a file that the command wrote just before it ended
- Fixed a mistyped model name, such as opus-5-5, telling you to update Claude Code instead of suggesting the model you meant
- Fixed a case where NotebookEdit changed the wrong cell when the notebook changed while a permission prompt was open
- Fixed a ~0.5s hang after pressing Enter on the /login success screen: the dialog now dismisses immediately and the post-login refresh runs in the background
- Fixed Ctrl+G not opening the external editor while typing an "Other" answer to a question in screen reader mode
- Fixed Monitor's WebSocket watch failing with "could not resolve" behind a proxy when CLAUDECODEPROXYRESOLVESHOSTS is set and the machine has no DNS of its own
- Fixed claude plugin eval warnings suggesting max: 0 for a tool that must not be called, which could never pass
- Fixed background plugin auto-update not installing a dependency added by the updated plugin version
- Fixed Cmd+click not opening links in Ghostty over tmux in sessions opened from the agents view
- Fixed a mod's hot reload in .claude/skills missing a file that was deleted just after it appeared, and missing its return
- Fixed /rewind failing with "No files were restored" when restoring code to a checkpoint from before /branch
- Fixed the /claude-api skill saying Console web settings don't apply to Managed Agents sessions, and tightened its credential and permission examples
- Fixed needless permission prompts for read-only commands wrapped in a plain timeout DURATION, such as timeout 30 rg foo
- Fixed Artifact database calls being re-sent to artifacts without a database; errors now say whether republishing helps
- Fixed a case where artifact database reads that save to a folder (outdir) were refused
- Fixed detailed beta tracing not presenting CLAUDECODECLIENTCERT to collectors that require a client certificate
- Fixed the OpenTelemetry claudecode.session.count metric counting Agent SDK prewarm() processes that were never claimed; a pre-started process now counts once, when it is claimed
- Fixed /clear killing running commands of background agents, teammates and workflows that keep running, and foreground subagents of background agents and teammates
- Fixed a terminal whose Claude apps gateway sign-in had expired sending telemetry and managed-settings requests that the gateway refused and logged as invalidtoken
- Fixed the agents view appearing to send a reply to a background session waiting on a permission prompt; the reply now stays in the box with a hint to open the session and answer
- Fixed agent view removing a draft saved by another agent view in the same directory when exiting
- Fixed a case where agent view came back with another agent view's input text after restarting itself for an update
- Fixed the agents view preview cutting off long commands, results and status lines without an ellipsis, and dropping , backticks and tags from commands waiting for approval
- Fixed Claude in Chrome reporting the extension as not connected when the connection dropped mid-action; Claude now checks the page before repeating an action that may have run
- Fixed Remote Control sessions still showing "Limit reached" on other devices after a usage limit was lifted outside the session
- Fixed the file card sometimes missing in the Claude iOS app when Claude sent a single file
- Fixed self-hosted runner sessions failing with no explanation when the server keeps refusing to renew model access: the runner now retries sooner and posts a warning in the session
- Fixed /permissions in cloud sessions replying only that it isn't available; it now says where the session's rules live and how to change them
- Fixed cloud sessions losing session-scoped deny and ask permission rules, such as those a PermissionRequest hook adds, when the session moves to a new worker
- Fixed mod hot-reloading turning off for the session when you typed three messages instead of answering its question in a cloud session
- Fixed background tasks that keep running after /clear disappearing from the task list in Claude Code on the web until another task started or ended
- Fixed a case where /rewind could restore or delete a file through a directory symlink
- Fixed a case where a sed command could skip the permission check in accept-edits and auto mode
- Fixed a case where CLAUDECODEAUTOMODESERVER=1 in managed settings was ignored behind an LLM gateway when the gateway's URL is set only there and server-managed settings can't be fetched
- Fixed a Bash permission bypass where a crafted environment prefix could hide part of a command from permission checks
- Fixed a case where deny and ask rules, hook matchers and disallowedTools entries written with a claude.ai connector's terminal name (mcpclaudeaiSlack) were ignored in Claude Desktop (takes effect once Claude Desktop includes this version)
- Fixed a sandbox escape when creating a worktree
- Fixed self-hosted runners: --trust-workspace false now also stops hooks in the repository's settings files and skills from running
- Fixed a case where idle background sessions started through a shell-exported LLM gateway left the gateway after an update
- Fixed help links in /status and the auto mode billing notice opening only part of the address when they wrap
- Fixed a case where certificate errors behind a TLS-inspecting proxy persisted when CLAUDECODEDISABLENONESSENTIALTRAFFIC was set. With it set, Claude Code now makes a TLS handshake with the configured API host after a certificate failure, through your http:// proxy if one is set; it sends no API request
- Fixed claude remote-control exiting silently with status 0 when a first-run question gets no answer (scripts, services, batch jobs, Ctrl+C); it now says why and exits 1
- Fixed claude remote-control ignoring a piped y that has no newline after it at the first-run question; it now counts as a yes
- Fixed /rename reporting plain success when the new name could not be saved to the session transcript; it now warns that the new name may not last
- Fixed ${CLAUDEPLUGINROOT} not being substituted in a plugin-provided subagentStatusLine command, which can now reference the plugin's own scripts
- Fixed claude plugin update and /plugin "Update now" not installing dependencies added by the new plugin version
- Fixed subagents being told after compaction to expect a completion notice for background agents they neither started nor took over
- Fixed a case where a background agent's later report was lost silently: the notification now says it was refused and how to ask for it
- Improved config saves on Windows: Claude Code waits longer for a file another program has open, so a kill during a save is less likely to leave ~/.claude.json empty
- Improved Claude in Chrome after a brief disconnect: it waits up to 6 seconds for the session's own browser to return before picking another
- Improved Claude in Chrome: javascripttool results of up to 60,000 characters now stay in the conversation instead of being saved to a file
- Improved claude purge and the clean-up of old sessions to retry a folder that could not be fully deleted, and to report it as an error if it remains
- Improved the refusal for a path outside the working directories on macOS and Windows: when only its letter case differs from a path inside them, the message names that spelling
- Improved the contrast of faint gray secondary text, such as hints, details in /stats, /model and /sandbox, and rejected-action messages
- Improved the artifact database error when an update targets a document that does not exist, and when the service pauses repeated refused writes
- Improved the Claude apps gateway's warnings about a failed upstream call: each now names the upstream, not only its provider
- Improved the Claude apps gateway's spend limit error: it reads "spend limit reached · resets Dec 1", then admin.blockedmessage if one is set
- Improved the /model picker: older models are now grouped under a "More models" row instead of being listed after the current ones
- Improved /context at the terminal so the table Claude reads stays short: each list keeps its 10 largest rows, and MCP tools that load on demand share one row per server until they're called
- Improved /usage in cloud sessions: it now links to Settings → Usage on claude.ai in a case where plan limits can't be shown
- [VSCode] Improved the confirmation for removing a plugin marketplace: it now checks which of its plugins are installed at that moment
- Changed MCP tasks to work in the terminal without feature-flag fetching (Bedrock, Vertex, Foundry, LLM gateways, DISABLETELEMETRY); set CLAUDECODEDISABLEMCPTASKS=1 to turn them off
- Changed auto mode so that a project's settings files or a plugin can no longer switch its server-side check back on once you have switched it off outside the project
- Changed Monitor's WebSocket watch to follow a rule on every Bash command: a deny refuses it, and under an ask rule an allow on Monitor, bypass mode or auto mode no longer skips the prompt
- Changed CLAUDECODEPROXYRESOLVESHOSTS so that settings files can no longer set it where the host manages the network; set it in the process environment
- Changed a session's exact Bash or PowerShell ask rule to be refused, not asked about, when a broader deny rule covers the command
- Changed the Bash tool to ask for permission before running which with flags outside a lookup/display set
- Changed --add-dir directories to register plugin marketplaces only once that directory's own trust dialog has been accepted
- Changed nested skill loading: with the Bash sandbox on, skills in .claude/skills folders below the starting folder load only if you start Claude Code there or /cd there
- Changed self-paced /loop to end when a turn finishes without rescheduling, instead of scheduling a fallback wakeup; set CLAUDECODELOOPKEEPALIVE=1 to keep the old behavior
- Changed PostToolUse hooks to run, with up to 10 seconds to finish, on tool calls that finish after a new message interrupts the turn
- Changed what Claude is told after safeguards stop a subagent: retry with a narrower prompt or tell you, instead of doing the work itself
- Changed cloud sessions to drop session-scoped allow rules at a move to a new worker when their deny and ask rules can't all be kept, so you may be asked again
- Changed the automatic certificate repair behind a TLS-inspecting proxy: it no longer runs when ALLPROXY is the only proxy variable set. Set HTTPSPROXY to the proxy's http:// URL instead
- Changed artifact database saves of rows others may have written: each file gets a hidden marker file, and existing files without one, earlier versions' exports among them, are left alone and reported
- Updated /claude-api managed-agents-onboard templates to match the Claude Console: removed Performance tuner, renamed two, and turned off web search and fetch in five whose prompts don't use them
- Removed shortcutslist and shortcutsexecute, which listed and started shortcuts saved in the extension, from Claude Code's built-in Claude in Chrome tools
- Gateway: Added startup warnings for upstreams that mix AWS GovCloud with other upstreams, and for base URL variables in the gateway's environment
- Gateway: Added a start-up log warning when managed settings name an Amazon Bedrock guardrail in a header, which the gateway doesn't forward, and no bedrock upstream sets a guardrail
- Gateway: Fixed Claude Desktop offering a web search tool that always failed when every upstream is Amazon Bedrock
- Self-hosted runner: Fixed a runner started with --use-anthropic-git-proxy or --configure-git registering before a failed startup check made it exit; it now exits first
- Self-hosted runner: Changed CLAUDERUNNERCHECKOUTPATH so that each repository in a session gets its own folder: a folder name already taken in the session gets -2, -3, … at the end
- Self-hosted runner: Removed the end-of-session upload of a session's debug log; a failed session's log stays on the runner host unless --remove-session-state is set
- [VSCode] Fixed prompts over 50,000 characters being cut off silently: the prompt now stays in the chat box with a notice, and a paste over the limit is refused with a notice
- [VSCode] Fixed a click on the survey or "Report a problem" buttons sending the unfinished prompt
- [VSCode] Fixed cloud sessions opened from the extension's Web tab bringing back turns that /clear, or Retry or Edit of a typed prompt, had removed
- [VSCode] Fixed a deleted session's file coming back when that session was renamed in the extension
- [VSCode] Fixed Claude carrying out an unapproved plan after a window reload: a step interrupted in plan mode now stops with a notice when the session comes back in another permission mode
- [VSCode] Improved the "not signed in" message behind a Claude apps gateway: it now looks like an error and has a Sign in link
- [VSCode] Changed links in Claude's replies that point at Claude sign-in, connector or API addresses to show as text with the address, instead of opening in the browser
- [VSCode] Fixed a possible chat panel freeze when a dropped item's path contains a very long run of "/" characters
- [VSCode] Fixed the claude-vscode.toggleDictation command starting dictation in every open Claude view at once; it now acts only in the view you are using, and a second press stops it
- [VSCode] Fixed the chat panel slowing down while a reply with many unclosed $ math fences, each shorter than the last, streams in
- [VSCode] Improved the chat panel's diagnostics tool for large workspaces: it leaves out files with no problems, returns compact JSON, and accepts an optional minimum severity
- [Cloud sessions] Fixed scheduled tasks silently dropping a connector named memory: runs now keep it, mounted under that name plus a short suffix
- [Cloud sessions] Fixed Send now on a waiting message in cloud sessions ending running background agents; they now keep running
- [Cloud sessions] Improved the stalled-setup warning on self-hosted environments: its link now prefers your organization's default or an environment with a live runner, and names it
- [Code Review] Changed unlinking a GitHub organization to also turn off its All repositories setting in Code Review; it stays off after you relink until you turn it back on
- [Claude Tag] Fixed Claude Tag setup blocking launch when the channel list couldn't fully load; admins can now launch without picking a channel
- [Claude Tag] Added a Claude Tag row to the Models admin page for Enterprise orgs with Claude Tag connected, linking to where its model defaults are managed
- [Claude Tag] Fixed saving auto mode allow rules in Claude Tag admin settings overwriting another admin's changes; the save is now refused with a message
Other Recent Claude Code Releases
- v2.1.322 (November 10, 2026)
- v2.1.317 (November 2, 2026)
- v2.1.316 (October 31, 2026)
- v2.1.314 (October 30, 2026)
- v2.1.312 (October 27, 2026)
Upgrading from v2.1.319? See all 2 releases since.
All Claude Code releases · All AI coding tool releases on Havoptic