claudekit / updates / claude-code-2-1-218
[ PATCH · ]

Claude Code 2.1.218

`/code-review` now runs as a background subagent, so review work no longer fills your conversation and stacked slash commands stay as its review target. `/ultrareview` no longer fails on descriptive arguments like "review my auth changes", and `/code-review ultra` no longer silently runs a local review in non-interactive sessions — it launches the cloud review. Auto mode now lets the classifier adjudicate the dangerous-rm, background-`&`, and suspicious-Windows-path checks instead of opening permission dialogs, and skills with `context: fork` run in the background by default. The release also fixes Windows `\u`-prefixed paths corrupting into CJK characters, the left arrow key discarding the conversation with no undo, and a retry loop that re-sent identical doomed requests after a context-overflow error, alongside a large batch of session, input, and accessibility fixes.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.218 shipped on July 22, 2026, and centers on the code-review workflow. /code-review moves to the background so review work no longer fills your conversation, and the argument handling and non-interactive behavior of /ultrareview and /code-review ultra are fixed. Auto mode and plan mode now hand dangerous-command decisions to the classifier instead of the static analyzer, and skill and plugin frontmatter handling is more forgiving. On top of that comes a large batch of fixes for Windows paths, session resume, accessibility, and remote sessions.

New features

  • Diagnostics when an MCP server fails to connect

    When an MCP server failed to connect, there was no signal about why, making it hard to debug. claude mcp list and /mcp now show the HTTP status and error text on a failed connection, plus a warning for MCP config values with hidden leading or trailing whitespace.

  • More accepted values for skill and plugin frontmatter booleans

    Frontmatter boolean fields only accepted true/false, so common spellings like yes or on were treated as errors. yes/no/on/off/1/0 (case-insensitive) are now accepted alongside true/false.

  • Announcement when fast mode changes on a model switch

    Switching models via /config model=<x> or Remote Control could silently change fast mode. There is now an announcement when fast mode changes as a result of that switch.

  • Screen-reader announcements of deleted text

    In --ax-screen-reader mode, word and line deletions (Option+Delete, Ctrl+W, Cmd+Backspace, Ctrl+U, Ctrl+K) gave no indication of what was removed. Deleted text is now announced to the screen reader.

Key improvements

  • /code-review runs as a background subagent

    Running review in the main conversation filled it with review output and pushed stacked slash commands out of the review target. /code-review now runs as a background subagent, so review work no longer fills your conversation and stacked slash commands stay as its review target.

  • Auto mode routes dangerous-command checks through the classifier

    In auto mode, the dangerous-rm, background-&, and suspicious-Windows-path checks still opened permission dialogs on every hit. Those three checks no longer open dialogs; the auto-mode classifier adjudicates them instead. Plan mode with auto likewise no longer prompts for Bash commands the static analyzer can’t prove read-only — the classifier judges them.

  • Skills with context: fork run in the background by default

    Fork-context skills held the foreground and blocked the conversation. Skills with context: fork now run in the background by default; opt out per skill with background: false.

  • /deep-research starts only when invoked manually

    Claude could launch /deep-research on its own, starting research you didn’t ask for. It now starts only when you invoke it manually.

  • Trust dialogs name the repository root

    It wasn’t clear exactly what scope a workspace-trust grant covered. Trust dialogs now name the repository root the grant covers.

  • Fewer settings-approval prompts for server-managed settings

    Server-managed settings triggered the approval prompt even for minor feature and cost toggles. Benign feature and cost toggles no longer trigger the settings-approval prompt.

  • Agent names reject :

    The colon (:) is reserved for plugin namespacing, so an agent name containing : could collide. Agent markdown files now reject agent names containing :.

Key bug fixes

Code review

  • /ultrareview failing on descriptive arguments like “review my auth changes” — it now runs a review of your current branch with the text applied as a note to the findings. Error feedback on an invalid argument was also improved so Claude can correct it instead of retrying it unchanged.
  • /code-review ultra silently running a local review in non-interactive sessions — it now launches the cloud review.

Sessions and context

  • /context reporting stale pre-compact token usage after compacting from the message picker — fixed.
  • A retry loop that re-sent identical doomed requests after a context-overflow error with a large thinking budget — fixed. Ctrl+B backgrounding now applies the same background-shell caps as other paths.
  • An engine teardown race that could start and abandon a phantom turn — fixed; input pushed after close is now consistently rejected.
  • Spurious “[Request interrupted by user]” messages after interrupted tool calls — fixed, along with an unpaired tool_use block left in the transcript when a tool aborted mid-response.
  • Fork-session lineage being lost after compaction in headless and SDK sessions — fixed.
  • A resumed session failing every turn, or crashing on resume, when its history held a malformed delta attachment — fixed.

Terminal and input

  • Windows paths with \u-prefixed segments (like C:\Users\unicorn) being corrupted into CJK characters in tool inputs, which made those files inaccessible — fixed.
  • The left arrow key discarding the conversation with no undo — fixed: presses right after editing now ask to confirm, and Esc in the agent view returns to the conversation it backgrounded.
  • Multi-line paste collapsing into one line with j in place of newlines in terminals that encode pasted newlines as Ctrl+J — fixed.
  • Mojibake when a long IDE selection was truncated mid-emoji — fixed, along with a case where a tool executor error could be silently dropped.

Accessibility

  • VoiceOver reading “new line” instead of echoing the typed space at the end of the input in --ax-screen-reader mode — fixed.
  • Plugin and settings panels not moving the terminal cursor to the focused row, so screen readers and magnifiers couldn’t follow arrow-key navigation — fixed.

MCP and remote sessions

  • The “N MCP servers need authentication” startup notice over-counting claude.ai connectors that aren’t connected in claude.ai — fixed.
  • Remote sessions continuing to send heartbeats after their worker was replaced, which left long-lived desktop and IDE processes retrying a rejected request every few seconds forever — fixed.
  • Pull request events occasionally being lost when a session exited immediately after creating or linking a PR — fixed.

Bedrock and gateway

  • Gateway spend metering not pricing Bedrock application-inference-profile ARNs and other config-mapped upstream model IDs at the configured model’s rates — fixed.
  • The Bedrock setup wizard failing profile verification for assume-role profiles in partitioned AWS regions and on proxy-only networks — fixed.

Trust and stability

  • Agent frontmatter hooks running from untrusted folders — fixed: hooks now require the agent file’s own folder to have accepted workspace trust.
  • Crashes (maximum call stack exceeded) when a deeply nested watched directory tree was deleted or moved, and when rendering deeply nested UI trees — fixed.
  • Rare negative or incorrect turn duration measurements after a system clock adjustment — fixed by timing turns with a monotonic clock.
  • Prompt history entries being dropped or duplicated when history writes raced or failed — fixed.

Notes

  • /code-review now runs in the background — review output no longer fills your conversation, and slash commands you stack after starting a review stay as its review target.
  • context: fork skills default to the background — set background: false on a skill to keep it in the foreground.
  • /deep-research no longer starts on its own — Claude won’t launch it autonomously, so invoke it manually when you need it.
  • Agent names can’t contain : — the colon is reserved for plugin namespacing. Rename any existing agent whose name contains : to avoid load failures after updating.
  • Frontmatter booleans accept yes/no/on/off/1/0 — skill and plugin settings now recognize these alongside true/false.