What's changed
- Added
/resumesupport for background sessions — sessions started viaclaude --bgor agent view now appear alongside interactive ones, marked withbg - Added elapsed duration to background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s")
- The
/pluginbrowse and discover panes now show when a plugin was last updated /modelnow changes the model for the current session only; pressdin the model picker to set a default for new sessions- Renamed "extra usage" to "usage credits" across CLI copy;
/extra-usageis now/usage-credits(old name still works) - Fixed startup hanging up to 75s when
api.anthropic.comis unreachable (captive portal, firewall, VPN issues) — side-channel API calls now time out after 15s - Fixed garbled terminal output after a missed window-resize event (e.g. dragging a VS Code split-pane divider) — now self-heals on the next frame instead of requiring Ctrl+L
- Fixed progressive terminal display corruption (stale/garbled glyphs) that could appear in very long sessions and only cleared on terminal resize or restart
- Reduced terminal rendering glitches in VS Code by reducing spinner animation color count
- Fixed macOS background sessions crashing with "exit 1 before init" when the project lives under a Full Disk Access-protected folder (regression in 2.1.143)
- Fixed an unrecoverable conversation when reading a file whose image extension doesn't match its contents (e.g. HTML saved as .png) — now falls back to text
- Fewer spurious tool errors during search:
head/tailfile views now satisfy the read-before-edit check, and a "no matches" result (exit code 1) fromegrep,fgrep,git grep, orgit diffis no longer reported as a command failure - Fixed
/branchfailing with "No conversation to branch" after entering a worktree or in some background sessions - Fixed pressing Escape in the AskUserQuestion notes field aborting the turn instead of returning to answer selection
- Fixed model selection not applying when changed via the IDE model picker or
applyFlagSettingsafter startup - Resumed sessions now keep the model they were using instead of picking up another session's
/modelchoice - Fixed Bedrock and Vertex users unable to select "Opus (1M context)" from the
/modelpicker (regression in v2.1.129) - Fixed remote-session login failing with "Can't access this organization" for users with
forceLoginMethodandforceLoginOrgUUIDset - Fixed MCP servers with paginated
tools/listresponses only returning the first page, silently dropping tools - Fixed MCP images with unsupported MIME types (e.g. SVG) breaking the conversation — now saved to disk and referenced in the tool result
- Fixed file descriptor exhaustion when a build runs inside a skill directory — non-
.mdfiles no longer trigger skill reloads - Fixed session title being generated from plugin monitor output instead of the user's first prompt
- Fixed Skill tool failing with permission error in headless mode (regression in v2.1.141)
- Fixed plugins enabled in your own settings showing "not cached" errors after first load on a fresh machine; plugins enabled only by a project's
.claude/settings.jsonnow show an actionableclaude plugin installhint - Fixed
claude mcp listsilently reporting no servers when.mcp.jsoncan't be parsed (e.g. using VS Code's"servers"key instead of"mcpServers") — now shows configuration errors - Fixed background side-queries on custom
ANTHROPIC_BASE_URLsetups and Bedrock Mantle not using Haiku — now falls back correctly when a first-party API key is configured or no Haiku model is set - Fixed scrolling in attached background sessions on Windows — PgUp/PgDn, mouse wheel, and Ctrl+O transcript navigation now work
- Fixed a crash when closing the terminal while attached to a background session
- Fixed
! <cmd>exec sessions not responding to Ctrl+C while attached — now interrupts the running command - Fixed agent view shell-command rows lingering under Working after completion, and pressing Enter on a completed row re-running the command after its output expired
- Fixed on Windows, pressing ← in
claude agentsleaving the list unresponsive to keyboard input - Fixed ghost characters at the left edge when switching panes in Agent View on Windows Terminal with CJK content
/bgand←-detach now preserve directories added via/add-dir- Fixed Edit/Write refusing with "background session hasn't isolated its changes yet" right after detaching a session that was already editing in place
- Fixed
claude respawn <id>on a stopped background session showing "stopped" instead of running - Fixed
/resumepicker not showing sessions forked from a background session - Fixed opening a session from
claude agentsor runningclaude logs <id>hanging when the background service is unresponsive — now times out after 10s with a recovery hint - Fixed background Bash tasks spawned by subagents staying "Running" in SDK task panels after the process exits
- Fixed completed or stopped background sessions briefly failing to wake being permanently marked as a startup crash
- Fixed markdown links in
claude agentsattached sessions rendering as plain text instead of clickable hyperlinks - Fixed custom
spinnerVerbsapplying to the post-turn duration message — past-tense built-ins like "Worked for 5s" are restored there claude agents/--bgrejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic messageclaude --bg --name <label>now echoes the name in the post-spawn confirmationclaude agents: renaming a background session with Ctrl+R now updates the attached session's banner immediately- Background session worktree isolation guard now applies for non-git VCS users with
WorktreeCreatehooks configured - Plugin marketplace add/update now respects
CLAUDE_CODE_PLUGIN_PREFER_HTTPS /pluginnow returns to the Installed list after enabling, disabling, or uninstalling a plugin/doctornow shows an exec-form example when a command hook is missing thecommandfield- Skill-listing truncation is no longer shown as a startup notification — run
/doctorfor the full breakdown - Improved recovery from rare pre-response stream stalls — now retries streaming once instead of falling back to a slower non-streaming request
- Improved SDK/headless MCP startup: pre-wait now overlaps startup instead of blocking before the first turn (up to 2s faster with slow MCP servers)
- The post-survey follow-up hint now appears after every non-dismiss survey response with context-aware copy, making it easier to share more detail via /feedback.