What changed
Claude Code 2.1.222 shipped on August 4, 2026. The center of the release is closing paths where isolation and permission checks were not actually being applied: worktree-isolated sessions could reach the main checkout with destructive git commands, and PreToolUse auto-allow hooks could bypass tool restrictions in background agent tasks. Alongside those, a set of environment-dependent behaviors gets corrected — connectivity checks behind a proxy, /usage attribution, and org-restricted model family aliases — Remote Control auto-start changes scope, and the ultraplan feature is removed.
Key improvements
-
SendMessagegoes through the permission classifier in auto modeMessages dispatched to other agent sessions were not evaluated against permissions at all. Auto mode safety is improved: messages sent to other agent sessions via
SendMessageare now evaluated by the permission classifier before dispatch. -
Better refusal for skills with
disable-model-invocationWhen Claude tried to invoke a skill marked
disable-model-invocation, the refusal left the next step undefined, and Claude sometimes replicated the skill’s workflow itself. Claude is now told to ask you to run the skill instead of replicating its workflow. -
Diffs use raw git blob content
The
/diffview, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions followed workspace-configured diff drivers and textconv, so transformed content could be shown. All three now use raw git blob content, ignoring those settings. -
Remote Control auto-start moves to user scope
Repo-local settings (
.claude/settings.jsonor.claude/settings.local.json) could turn Remote Control auto-start on. They can no longer turn it on — only off. Enable it at user scope via/config. -
Removed ultraplan feature
The ultraplan feature is removed in this release.
Bug fixes
Isolation & permissions
- Worktree-isolated sessions and their subagents being able to run destructive git commands against the main checkout — fixed; isolation now applies to file edits and Bash in every session type.
- PreToolUse auto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames) — fixed.
Network & connectivity
- The startup connectivity check hanging and then failing behind an HTTPS proxy — fixed; it now uses the same proxy-aware transport as API requests and times out with a clear message.
- “Connection closed mid-response” errors being reported on responses that had actually completed — fixed.
- Stream idle timeout firing on custom
ANTHROPIC_BASE_URLgateways despite server keep-alive pings arriving on the wire — fixed. - claude.ai connectors being falsely marked as needing authorization when the session token is invalid — fixed; they now show a
/loginhint instead.
Usage & model selection
/usage-creditson Team and Enterprise showing “you’ve already sent a usage credit request” for members whose earlier request was dismissed — fixed; it no longer blocks them from sending a new one./usageoverattributing usage to MCP servers — fixed; a server’s share now reflects only the requests that actually consumed its tool results, instead of every turn after any call to it.- Org-restricted
model: opus-style subagent and teammate family aliases dropping to the parent model — fixed; they now step down to the newest org-allowed model in the family. - Host model-selection keys not taking precedence over a stale on-disk
managed-settings.jsonwhenCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTis set — fixed.
Sessions & display
- Sessions not linking to pull requests created after the branch was pushed, including through the GitHub REST API — fixed.
- Tool errors not being displayed for tools no longer available locally, for example after an MCP server is removed — fixed.
SendMessagerejecting a long summary — fixed; it now truncates instead, so sends no longer fail on a character limit.- The spinner’s effort label in a subagent’s transcript view showing the session’s effort level instead of the subagent’s own
effort:setting — fixed. - Rare crashes when a file watcher hit a filesystem error or during file-watcher teardown — fixed.
- Screen readers re-reading the whole input line on every backspace in
--ax-screen-readermode — fixed; end-of-line deletions now echo just the deleted characters.
Notes
- Isolation now covers more than git — it applies to file edits and Bash in every session type. Work in an isolated session that reached back into the main checkout will be blocked after upgrading.
- Re-check PreToolUse auto-allow hooks — the path that let them bypass tool restrictions in background agent tasks is closed, so setups relying on hook-based auto-allow may behave differently after upgrading.
- Remote Control auto-start must be enabled at user scope — if it was turned on from repo-local settings, it will not start after upgrading. Re-enable it via
/configat user scope; repo-local settings can still turn it off. /usageMCP numbers will shift — the attribution rule changed, so a server’s share can read lower than before. Don’t compare pre- and post-upgrade numbers directly.- ultraplan is gone — the release notes list no replacement path for it.