Back
AI summary
Written by AI from the official notes. Check them for exact details.Claude Code 2.1.139 introduces new features including an agent view and several command enhancements, along with numerous bug fixes.
- New agent view lists all Claude Code sessions.
- Added
/goalcommand for setting completion conditions across turns. - Introduced
/scroll-speedcommand to adjust mouse wheel scroll speed. - Enhanced plugin details with component inventory and token cost.
- Improved transcript view navigation with keyboard shortcuts.
Why it matters: Users of Claude Code should explore these features for improved session management and enhanced functionality.
Full release notes50 changes
What's changed
- Added agent view (Research Preview): a single list of every Claude Code session — running, blocked on you, or done. Run
claude agentsto get started. See https://code.claude.com/docs/en/agent-view - Added
/goalcommand: set a completion condition and Claude keeps working across turns until it's met. Works in interactive,-p, and Remote Control. Shows live elapsed/turns/tokens as an overlay panel - Added
/scroll-speedcommand to tune mouse wheel scroll speed with a live preview - Added
claude plugin detailsto show a plugin's component inventory and projected per-session token cost - Added transcript view navigation:
?for keyboard shortcuts,{/}to jump between user prompts,vto toggle shortcut panel - Added hook
args: string[]field (exec form) that spawns the command directly without a shell, so path placeholders never need quoting - Added hook
continueOnBlockconfig option forPostToolUse— set totrueto feed the hook's rejection reason back to Claude and continue the turn - MCP stdio servers now receive
CLAUDE_PROJECT_DIRin their environment, matching hooks. Plugin configs can reference${CLAUDE_PROJECT_DIR}in commands - Compaction prompt now asks the model to preserve sensitive user instructions
/mcpReconnect now picks up.mcp.jsonedits without a restart, and shows the HTTP status and URL when reconnecting fails/context allper-skill token estimates now account for the model's tokenizer and show rounded valuesclaude plugin install @now auto-refreshes the marketplace and retries before reporting a plugin as not found/plugininstalled-plugin details now show hook event names and MCP server names cleanly/contextnow shows the providing plugin's name for plugin-sourced skills- Remote MCP server reconnect retry on transient failures is now enabled for all users
- API requests from subagents now carry
x-claude-code-agent-id/x-claude-code-parent-agent-idheaders, andclaude_code.llm_requestOTEL spans includeagent_id/parent_agent_idattributes - Remote Control,
/schedule, claude.ai MCP connectors, and notification preferences are now disabled whenANTHROPIC_API_KEY/apiKeyHelper/ANTHROPIC_AUTH_TOKENis set, even if a Claude.ai login also exists. Unset the API key to use these features - Fixed a deadlock where expired credentials and the
forceRemoteSettingsRefreshpolicy setting blockedclaude auth login/logout/statuswith no way to recover - Fixed
autoAllowBashIfSandboxednot auto-approving commands with shell expansions like$VARand$(cmd) - Fixed a bug where a hook writing to the terminal could corrupt an on-screen interactive prompt; hooks now run without terminal access
- Fixed unbounded memory growth when an HTTP/SSE MCP server streams non-protocol data — response bodies now capped at 16 MB per SSE frame
- Fixed
Skill(name *)permission rules — the wildcard form now works as a prefix match, matchingBash(ls *)behavior - Fixed settings hot-reload not detecting edits to symlinked
~/.claude/settings.json - Fixed plugin details failing to load when the marketplace key differs from the manifest name
- Fixed
/modelpicker "Default" row not reflectingANTHROPIC_DEFAULT_OPUS_MODEL/ANTHROPIC_DEFAULT_SONNET_MODELoverrides - Fixed spurious "stream idle timeout" 5 minutes after a response completed, caused by the watchdog timer not being cleared on stream cancellation
- Fixed silent
exit 1when 10+ MCP servers are configured and the cache directory is unwritable — the error message now includes the underlying cause - Fixed a typing cursor blinking on tab names, list pointers, and select rows in dialogs
- Fixed transcript view letter shortcuts not working after mouse click
- Fixed Bash-mode up-arrow history repeating the first entry and clobbering the in-progress draft
- Fixed pasting or dropping multiple images only inserting the last one
- Fixed hyperlinks using unreadable dark navy on dark themes — they now adapt to the active theme
- Fixed model picker showing a redundant "Current model" row for third-party users whose model is set to the
opusalias - Fixed legacy Opus picker entry on PAYG 3P providers resolving to the same model as the default entry
- Fixed mouse wheel scrolling speed in Cursor and VS Code 1.92–1.104; the trackpad now scrolls at a steady rate and the mouse wheel keeps ~3 lines per notch
- Fixed scroll behavior in Windows Terminal and VS Code when attached to background sessions
- Fixed MCP resources from disconnected servers lingering in
@server:autocomplete - Fixed two-file diff snippets over-reporting the number of truncated lines by one
- Fixed Grep results not relativizing Windows drive-letter paths and count mode reporting wrong totals for single-file paths
- Fixed border-embedded text overflowing on CJK/emoji due to visual cell width miscalculation
- Fixed fuzzy-match highlighting splitting emoji and astral-plane characters mid-pair
- Fixed skill argument names containing regex metacharacters breaking argument substitution
- Fixed ProgressBar rendering a full block for an almost-full fractional cell
- Fixed task polling and
fs.watchbeing resurrected when the last subscriber leaves while a fetch is in flight - Fixed plugin dependency resolution leaving a stale count when the manifest name differs from the source identifier
- Fixed Insights Time-of-Day chart skewing when a session has an unparseable timestamp
- Fixed keybindings using only the cmd/super/win modifier being flagged as unparseable
- Fixed
claude_code.active_time.totalOpenTelemetry metric not being emitted in--printmode - Fixed
claude plugin updatenot preserving cross-plugin symlinks inside a marketplace - [VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via
claudeCode.enableReopenClosedSessionShortcut