Skip to content

Claude Code v2.1.319

Released · Anthropic

Changes hooks, MCP server config, permission rules

What the release notes say

What's changed

  • 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 CLAUDE_CODE_AUTO_MODE_SERVER=0 to keep using it (Bedrock, Vertex and Foundry are unchanged)
  • Changed auto mode behind an LLM gateway: CLAUDE_CODE_AUTO_MODE_SERVER=1 turns on the server-side check even with CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 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 CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND 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 CLAUDE_CODE_DISABLE_FEATURE_FLAGS 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.pooled_conflict_rule and admin.pooled_priority_order to the Claude apps gateway, to set which pooled group budget pays first for a developer in several groups
  • Added an optional login_notice 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 CLAUDE_GATEWAY_LOG_FORMAT=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 /diff showing "Diff unavailable" when a git repository has a file or folder named HEAD at its top level
  • 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 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 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