Claude Code 2.1.218 Backgrounds Reviews

Claude Code 2.1.218 is an official @anthropic changelog release for Claude Code published July 22, 2026. Code review, terminal editing, and path handling were getting in the way of normal repo work. The main takeaway is simple: /code-review now runs as a background subagent, so review work no longer fills the main conversation. If you are also tightening hook boundaries, the Claude Code hooks documentation is the companion reference for events and command policy, but the story here is the 2.1.218 release.
Let review run out of the transcript
The headline change is that /code-review now runs as a background subagent. That matters because review output can be noisy, especially when a developer is still using the same Claude Code session to inspect files, ask follow-up questions, and prepare a pull request.
A subagent is a separate Claude Code worker that can do a focused job without turning the main chat into a scrollback landfill. In this release, review becomes the kind of background task that feels natural: start it, keep working, then inspect the findings when they are ready.
The changelog also says stacked slash commands keep their review target. That is the small detail that makes the feature feel trustworthy. If you run a slash-command chain around the current branch, the review should not accidentally drift to a stale or broader target.
Don't treat background review as invisible review. It is quieter, not less important. A good repo habit is still to copy the review findings into the PR description or a review receipt before merge, especially for auth, billing, migrations, and generated code.
Notice the fixes that unblock boring work
The rest of 2.1.218 reads like a release built from real papercuts. The Windows path fix is the clearest example: paths with \u-prefixed segments, such as C:\Users\unicorn, could be corrupted into CJK characters in tool inputs, which made those files inaccessible. That is not glamorous. It is exactly the kind of bug that burns an afternoon.
The release also improves accessibility in --ax-screen-reader mode by announcing deleted text for word and line deletion shortcuts such as Option+Delete, Ctrl+W, Cmd+Backspace, Ctrl+U, and Ctrl+K. For developers using screen readers, deleted text is state. Losing that state makes editing risky.
Terminal handling got attention too. Multi-line paste no longer collapses into one line with j where newlines should be in terminals that encode pasted newlines as Ctrl+J. /context now avoids reporting stale pre-compact token usage after compacting from the message picker.
There are review-command fixes around /ultrareview as well. Descriptive arguments like review my auth changes now run a review of the current branch and apply the text as a note to the findings. In non-interactive sessions, /code-review ultra now launches the cloud review instead of silently running a local review.
The limit is that the changelog tells you what changed, not how your repo should interpret every result. A background review can still miss intent, flaky tests can still lie, and a fixed paste bug does not make pasted commands safe. The release removes friction; it does not remove judgment.
Keep hooks around boundaries, not opinions
Claude Code hooks are configured commands that run at specific Claude Code event boundaries, such as before or after tool use. They are best used for mechanical checks: protect files, require confirmation for risky operations, collect evidence, or stop obvious mistakes before they become repo state.
This release is a good reminder that boundaries matter. /code-review moved out of the main transcript because the review boundary was too noisy. Hooks solve a related but different problem: they make the boundary between Claude Code and your repo explicit.
In a payments repo, a useful hook policy might confirm before destructive shell commands, block writes outside the repo, and capture a short review receipt after a review command finishes. A weak hook policy tries to judge whether the review was “good enough.” That belongs in human review and repo conventions, not in a brittle shell script.
Use the official Claude Code hooks reference for the current hook types and events. Search terms like anthropic Claude Code hooks documentation or Claude Code hooks reference usually point at the same need: which boundaries exist, what data a hook receives, and where a command is allowed to say no.
Try 2.1.218 on one repo before changing habits
Pick one active branch with real review surface area. An auth-session branch is perfect: enough risk to matter, but small enough that you can tell whether the review stayed focused.
Run the workflow in a clean Claude Code session:
git checkout feature/auth-session
claude
Then use Claude Code normally:
/code-review
/ultrareview review session expiration and cookie flags
/context
The thing to watch is not whether the agent sounds smart. Watch whether the main conversation stays usable, whether /ultrareview applies your note to the current branch, and whether /context reports token state that matches what just happened.
If the repo already has Claude Code hooks, compare your hook boundaries with the Claude Code hooks documentation while the review is fresh. Keep the policy small: protect destructive actions, preserve review evidence, and require confirmation where a mistaken tool call would be expensive.
A concise CLAUDE.md note can help, but do not turn it into release notes. One durable line is enough: “Code reviews should cite changed files, commands run, and unresolved risks.” For a wider view of these repo habits, keep the Team conventions nearby.
Copy this hook policy table
Use this as a starting point for one repo. Adjust the event names and inputs against the official hook reference before you wire anything into a shared config.
| Boundary | Allow | Confirm or block | Why it exists |
|---|---|---|---|
| User prompt submitted | Normal task prompts and review requests | Prompts that paste secrets, production tokens, or private customer data | Keep sensitive data out before any tool call begins |
| Before tool use | Reads, tests, formatting, safe local inspection | rm -rf, git push --force, production deploy commands, writes outside the repo root |
Stop high-cost mistakes at the tool boundary |
| Before file write | Edits inside src/, tests/, and docs paths |
Writes to lockfiles, migrations, generated code, or security config without a note | Make risky file classes visible before they change |
| After tool use | Record changed files, test command, exit status, and review command used | Mutating code in the post-hook itself | Capture evidence without creating spooky action at a distance |
| Before compact | Save branch name, review target, and unresolved questions | Compacting while a review target is unknown | Avoid losing the thread during long sessions |
| Subagent stop | Collect review findings from background /code-review |
Treating “no findings” as automatic approval | Background review is input to judgment, not a merge button |
This table is intentionally boring. Boring hook policy is easier to debug at 5:30 p.m. than a clever policy that tries to infer intent from every prompt.