What changed
Claude Code 2.1.153 shipped on May 28, 2026. /model now matches the IDE: your selection becomes the default for new sessions, and a current-session-only switch is now s in the picker — reversing the 2.1.144 d behavior, with a keybindings.json rename required for users who customized the binding. On security, two fixes close a regression where a custom API gateway could receive the user’s Anthropic OAuth credential and a gap where subagent frontmatter MCP servers ignored --strict-mcp-config, --bare, remote mode, enterprise managed MCP config, and managed-settings allow/deny policies. The rest is skipLfs for github/git marketplace sources, COLUMNS/LINES env vars in status line commands, broader claude agents autocomplete and PR column, macOS Privacy & Security persistence, and a wide background-session and Windows installer bug-fix sweep.
Key improvements
-
/modeldefault reversed;sfor current-session-onlyIn 2.1.144,
/modelchanged the current session only anddset the new-session default. Now/modelsaves your selection as the default for new sessions (matching the IDE), andsin the picker switches the current session only. If you customized themodelPicker:setAsDefaultkeybinding inkeybindings.json, rename it tomodelPicker:thisSessionOnly— thedaction was replaced bys. -
skipLfsoption forgithub/gitplugin marketplace sourcesMarketplace sources backed by repos with large LFS assets pulled the LFS data on every clone and update.
github/gitmarketplace sources can now setskipLfsto skip Git LFS downloads during clone and update. -
Status line commands receive
COLUMNSandLINESenv varsStatus line scripts had no clean way to size output to the terminal width. The script now receives
COLUMNSandLINESenvironment variables so it can match the terminal layout. -
claude agentsautocomplete and PR columnDispatch input autocomplete suggested only project skills, and the PR column showed a single number regardless of how many PRs the workspace had. Autocomplete now suggests native slash commands and bundled skills as well, and the PR column shows
PR #Nfor a single PR orN PRsfor multiple. -
claude doctorshows the result of the last update attemptSilent update failures left users unsure where things broke.
claude doctornow reports the result of the most recent update attempt. -
One-time notice when an npm global install can’t auto-update
Users on global npm installs could miss updates with no signal. A one-time notice now appears when auto-update is blocked, and
/doctorlists the specific fixes. -
MCP server and connector authentication notices combined
Separate startup “needs authentication” notifications for MCP servers and connectors are now combined into a single message.
-
macOS: background agents are “Claude Code” in Privacy & Security and keep their grants across upgrades
Background agents appeared under a different name in Privacy & Security and lost their permission grants on every upgrade, forcing repeated approval. They now appear as “Claude Code” and retain permission grants across upgrades.
-
/bgmid-response continues the response in the background sessionRunning
/bgwhile Claude was responding dropped the in-flight response. The response now continues in the background session.
Bug fixes
Security & enterprise
- A regression where a custom API gateway could receive the user’s Anthropic OAuth credential instead of the gateway’s own token — only the gateway’s token is used.
- 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 — all policies are now enforced. --strict-mcp-configstripping inlinemcpServersfrom explicitly-passed agent definitions (--agents/ SDKagents) — inline definitions are preserved, and blocked subagent MCP servers surface a visible warning.
MCP & plugins
- Stateful MCP servers without the optional GET SSE stream reconnect-looping on
tools/list(regression in v2.1.147) — fixed. - MCP tool progress notifications not rendering in the collapsed tool view — they now render.
Installer & updates
- Windows PowerShell installer reporting “Installation complete!” when installation actually failed — failures are reported clearly.
claude updateinstalling the latest version instead of the configured release channel’s version for npm installations — the channel setting is respected.- Windows update rollback — if an update fails, the original executable is restored by copy and recovery guidance is shown.
Sessions & agents
- Excessive memory usage (multiple GB) when resuming a session by transcript file path on machines with many stored sessions — usage stays bounded.
claude agentsandclaude --bgrunning on a stale daemon started before binary-takeover support, even after upgrading — the upgraded daemon is used.- CLI hang when stdin was closed without EOF in stream-json mode, leaving a stale session marker behind — exits cleanly.
- Agent tool with
subagent_type: 'claude'running in an undocumented temporary worktree, which could silently discard outputs written to gitignored paths — runs in the documented worktree.
Background sessions
/btwkeyboard shortcuts unresponsive in background sessions while a task is running — they respond.- Background sessions writing temp files to
$CLAUDE_JOB_DIRtriggering a “sensitive file” permission prompt — no prompt is triggered. - Recovering a background agent whose working directory was deleted showing a truncated stack trace — a clear error message is shown instead.
EnterWorktreenot available immediately in background sessions (previously requiredToolSearchfirst) — available immediately.cmd+kin iTerm2/Terminal.app not repainting attached background sessions — repaints correctly.- IME candidate window appearing at the bottom of the screen instead of next to the input caret in attached background sessions on Windows — positions next to the caret.
- Background-color bleed when attaching to a background agent from 256-color-only terminals after the agent had rendered file diffs — cleaned up.
/copyand copy-on-select silently failing to update the system clipboard when attached to a background session inside tmux — clipboard updates.- Opening
claude agentswith Remote Control enabled leaving zombie session entries on the Code tab after exiting — entries are cleaned up. /renamein background sessions not updating the session banner immediately — the banner updates.
Terminal & UI
- Malformed
file://links in Claude’s responses not being clickable in the terminal — they are now clickable. claude --helprendering unwrapped output on terminals narrower than 92 columns — wraps properly.
Windows & VS Code
- Claude Code processes not shutting down cleanly when VS Code closed on Windows, causing false “unclean exit” reports and orphaned MCP servers — clean shutdown.
Notes
/modelreversed from 2.1.144: 2.1.144 made/modelcurrent-session-only withdsetting the new-session default. 2.1.153 flips that — selection saves as the new-session default andsis the current-session-only switch. Anyone who customizedmodelPicker:setAsDefaultmust rename it tomodelPicker:thisSessionOnlyinkeybindings.json.- Two security patches worth prompt upgrade: the custom API gateway OAuth credential leak and the subagent frontmatter MCP policy bypass both cross credential or policy boundaries; enterprise deployments should upgrade promptly.
skipLfsis a marketplace-source option: it applies togithub/gitmarketplace source definitions, not user settings. Only meaningful when a marketplace repo carries large LFS assets.- macOS permission grant reset: users who had to re-approve background agents on every upgrade should approve once more after this release; grants then persist across future upgrades.
- Broad background-session stability work: keyboard shortcuts, IME positioning, clipboard, zombie entries, deleted-directory recovery — many attached-session regressions are addressed together. Workflows that rely on background sessions should feel noticeably more stable.