This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Affected surfaces
ReleasePort's take
Moderate signalThe release adds a `skipLfs` option to GitHub/git plugin sources and fixes several critical bugs across MCP servers, authentication flows, installers, and background logic.
Why it matters: Security fix prevents custom API gateways from leaking user Anthropic OAuth credentials; bugfixes stop reconnect loops, installer false‑success reports, version misinstalls, memory bloat, and stale daemon issues. Severity 80 for the credential regression indicates high impact.
Summary
AI summaryFixed update channel selection bug and numerous background‑session stability issues.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | High |
Fixed regression where custom API gateway received user's Anthropic OAuth credential instead of its own token Fixed regression where custom API gateway received user's Anthropic OAuth credential instead of its own token Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Low |
Added `skipLfs` option to github/git plugin sources to skip Git LFS downloads Added `skipLfs` option to github/git plugin sources to skip Git LFS downloads Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Low |
Claude Code shows a one-time notice when npm global install can't auto-update; `/doctor` lists fixes Claude Code shows a one-time notice when npm global install can't auto-update; `/doctor` lists fixes Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Feature | Low |
Status line commands now receive `COLUMNS` and `LINES` environment variables for terminal sizing Status line commands now receive `COLUMNS` and `LINES` environment variables for terminal sizing Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Feature | Low |
`claude agents` autocomplete suggests native slash commands and bundled skills, not just project skills `claude agents` autocomplete suggests native slash commands and bundled skills, not just project skills Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Feature | Low |
PR column in `claude agents` shows `PR #N` for single PR or `N PRs` for multiple PR column in `claude agents` shows `PR #N` for single PR or `N PRs` for multiple Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Feature | Low |
`claude doctor` now displays result of last update attempt `claude doctor` now displays result of last update attempt Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Feature | Low |
macOS background agents appear as "Claude Code" in Privacy & Security and retain permission grants across upgrades macOS background agents appear as "Claude Code" in Privacy & Security and retain permission grants across upgrades Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Performance | Medium |
Fixed excessive memory usage when resuming a session by transcript file path with many stored sessions Fixed excessive memory usage when resuming a session by transcript file path with many stored sessions Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Fixed stateful MCP servers reconnect-looping on `tools/list` regression in v2.1.147 Fixed stateful MCP servers reconnect-looping on `tools/list` regression in v2.1.147 Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Fixed subagent MCP servers ignoring strict config flags and policy settings Fixed subagent MCP servers ignoring strict config flags and policy settings Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
`--strict-mcp-config` no longer strips inline `mcpServers` from agent definitions and shows a visible warning for blocked servers `--strict-mcp-config` no longer strips inline `mcpServers` from agent definitions and shows a visible warning for blocked servers Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Fixed Windows PowerShell installer falsely reporting "Installation complete!" when installation failed Fixed Windows PowerShell installer falsely reporting "Installation complete!" when installation failed Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Fixed `claude update` installing latest version instead of configured release channel's version for npm installs Fixed `claude update` installing latest version instead of configured release channel's version for npm installs Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Fixed `claude agents` and `claude --bg` running on stale daemon after binary‑takeover upgrade Fixed `claude agents` and `claude --bg` running on stale daemon after binary‑takeover upgrade Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
/bg while Claude is responding now continues the response in background session instead of dropping it /bg while Claude is responding now continues the response in background session instead of dropping it Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Low |
Fixed CLI hang when stdin closed without EOF in stream-json mode, leaving stale session marker Fixed CLI hang when stdin closed without EOF in stream-json mode, leaving stale session marker Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed malformed `file://` links in Claude's responses not being clickable in terminal Fixed malformed `file://` links in Claude's responses not being clickable in terminal Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `claude --help` rendering unwrapped output on terminals narrower than 92 columns Fixed `claude --help` rendering unwrapped output on terminals narrower than 92 columns Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed MCP tool progress notifications not rendering in collapsed tool view Fixed MCP tool progress notifications not rendering in collapsed tool view Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `Agent` tool with `subagent_type: 'claude'` running in undocumented temporary worktree, discarding outputs to gitignored paths Fixed `Agent` tool with `subagent_type: 'claude'` running in undocumented temporary worktree, discarding outputs to gitignored paths Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `/btw` keyboard shortcuts becoming unresponsive in background sessions while a task runs Fixed `/btw` keyboard shortcuts becoming unresponsive in background sessions while a task runs Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed background sessions writing temp files to `$CLAUDE_JOB_DIR` triggering sensitive‑file permission prompt Fixed background sessions writing temp files to `$CLAUDE_JOB_DIR` triggering sensitive‑file permission prompt Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed recovering a background agent whose working directory was deleted showing truncated stack trace instead of clear error Fixed recovering a background agent whose working directory was deleted showing truncated stack trace instead of clear error Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `EnterWorktree` not available immediately in background sessions (previously required `ToolSearch` first) Fixed `EnterWorktree` not available immediately in background sessions (previously required `ToolSearch` first) Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `cmd+k` in iTerm2/Terminal.app not repainting attached background sessions Fixed `cmd+k` in iTerm2/Terminal.app not repainting attached background sessions Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed IME candidate window appearing at bottom of screen instead of next to input caret in Windows background sessions Fixed IME candidate window appearing at bottom of screen instead of next to input caret in Windows background sessions Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed background‑color bleed when attaching to a background agent from 256‑color terminals after file diffs rendered Fixed background‑color bleed when attaching to a background agent from 256‑color terminals after file diffs rendered Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Bugfix | Low |
Fixed `/copy` and copy‑on‑select silently failing to update clipboard inside tmux background sessions Fixed `/copy` and copy‑on‑select silently failing to update clipboard inside tmux background sessions Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
| Refactor | Low |
Combined separate “needs authentication” startup notifications for MCP servers and connectors into a single message Combined separate “needs authentication” startup notifications for MCP servers and connectors into a single message Source: granite4.1:30b@2026-05-28-audit Confidence: low |
— |
Full changelog
What's changed
- Added
skipLfsoption togithub/gitplugin marketplace sources to skip Git LFS downloads during clone and update - Claude Code now shows a one-time notice when your npm global install can't auto-update;
/doctorlists the fixes - Status line commands now receive
COLUMNSandLINESenvironment variables so scripts can size output to the terminal width claude agents: autocomplete in the dispatch input now suggests native slash commands and bundled skills, not just project skillsclaude agents: PR column now showsPR #Nfor a single PR orN PRsfor multipleclaude doctornow shows the result of your last update attempt- Combined the separate "needs authentication" startup notifications for MCP servers and connectors into a single message
- macOS: background agents now appear as "Claude Code" in Privacy & Security and keep their permission grants across upgrades
- Fixed stateful MCP servers without the optional GET SSE stream reconnect-looping on
tools/list(regression in v2.1.147) - Fixed a regression where a custom API gateway could receive the user's Anthropic OAuth credential instead of the gateway's own token
- Fixed subagent (Agent tool) frontmatter MCP servers ignoring
--strict-mcp-config,--bare, remote mode, enterprise managed MCP config, and managed-settings MCP server allow/deny policies --strict-mcp-configno longer strips inlinemcpServersfrom explicitly-passed agent definitions (--agents/ SDKagents), and blocked subagent MCP servers now surface a visible warning- Fixed the Windows PowerShell installer reporting "Installation complete!" when installation actually failed
- Fixed
claude updateinstalling the latest version instead of the configured release channel's version for npm installations - Fixed excessive memory usage (multiple GB) when resuming a session by transcript file path on machines with many stored sessions
- Fixed
claude agentsandclaude --bgrunning on a stale daemon started before binary-takeover support, even after upgrading - Fixed a hang where the CLI could fail to exit when stdin was closed without EOF in stream-json mode, leaving a stale session marker behind
- Fixed malformed
file://links in Claude's responses not being clickable in the terminal - Fixed
claude --helprendering unwrapped output on terminals narrower than 92 columns - Fixed MCP tool progress notifications not rendering in the collapsed tool view
- Fixed
Agenttool withsubagent_type: 'claude'running in an undocumented temporary worktree, which could silently discard outputs written to gitignored paths /bgwhile Claude is responding now continues the response in the background session instead of dropping it- Fixed
/btwkeyboard shortcuts becoming unresponsive in background sessions while a task is running - Fixed background sessions writing temp files to
$CLAUDE_JOB_DIRtriggering a "sensitive file" permission prompt - Fixed recovering a background agent whose working directory was deleted showing a truncated stack trace instead of a clear error message
- Fixed
EnterWorktreenot being available immediately in background sessions (previously requiredToolSearchfirst) - Fixed
cmd+kin iTerm2/Terminal.app not repainting attached background sessions - Fixed the IME candidate window appearing at the bottom of the screen instead of next to the input caret in attached background sessions on Windows
- Fixed background-color bleed when attaching to a background agent from 256-color-only terminals after the agent had rendered file diffs
- Fixed
/copyand copy-on-select silently failing to update the system clipboard when attached to a background session inside tmux - Fixed opening
claude agentswith Remote Control enabled leaving zombie session entries on the Code tab after exiting - Fixed
/renamein background sessions not updating the session banner immediately - Fixed Windows update rollback: if a Windows update fails, Claude Code now restores the original executable by copy and tells you how to recover
- [VSCode] Fixed Claude Code processes not shutting down cleanly when VS Code closed on Windows, causing false "unclean exit" reports and orphaned MCP servers
/modelnow saves your selection as the default for new sessions (matching the IDE). Presssin the picker to switch models for the current session only.- If you customized the
modelPicker:setAsDefaultkeybinding, rename it tomodelPicker:thisSessionOnlyin keybindings.json (thedaction was replaced bys)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About claude-code
All releases →Related context
Related tools
Earlier breaking changes
- v2.1.160 Renames dynamic‑workflow trigger keyword from `workflow` to `ultracode`; `workflow` no longer triggers a run
- v2.1.160 Deprecates and removes the `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` environment variable; it is now a no‑op
- v2.1.147 Renames /simplify to /code-review; removes cleanup-and-fix behavior.
Beta — feedback welcome: [email protected]