Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All releases Home olderv2.1.138 v2.1.140newer

Claude Code v2.1.139

19 entries read diff v2.1.138 → v2.1.139 Markdown

Claude Code 2.1.139 adds several user-visible workflow and administration improvements: a new plugin details command, a built-in Proactive output style, interactive terminal scroll-speed tuning, and new Cloud gateway authentication plumbing for enterprise deployments. It also tightens /goal, hook/plugin execution, Remote Control diagnostics, MCP eligibility messages, shell safety checks, and several plugin and transport edge cases.

Find
Pick an entry · j / k steps through
11 entries

Changesopen

Plugin Details Command#

What

claude plugin details <name> shows what a plugin contributes and estimates how much context its components add.

Usage
claude plugin details my-plugin
claude plugin details my-plugin --json
Details
  • Lists component inventory for skills, commands, agents, hooks, and MCP servers.
  • Shows estimated always-on token cost added to each session.
  • Breaks down per-component always-on and on-invoke costs when available.
  • Supports JSON output for scripting.
Evidence

Plugin details subcommand and report output (search for "Show a plugin's component inventory and projected token cost", "Component inventory", "Projected token cost")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Proactive Output Style#

What

A new built-in Proactive output style makes Claude act more autonomously: execute immediately, minimize interruptions, and prefer action over planning.

Usage
claude
# Open /config and set Output style to Proactive
Details
  • Adds Proactive alongside existing built-in output styles.
  • Uses a dedicated style prompt, not just a generic reminder.
  • Adds a shorter per-turn reminder: Execute autonomously, minimize interruptions, prefer action over planning.
  • This is a fully built-in style; no plugin is required.
Evidence

Built-in output style definition (search for "Proactive Style Active", "Claude executes immediately, minimizes interruptions, and prefers action over planning")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Terminal Scroll Speed Setup#

What

/terminal-setup now includes an interactive scroll-speed control for tuning mouse wheel behavior in the terminal.

Usage
claude
# Run /terminal-setup, then use left/right to adjust scroll speed
Details
  • Shows current terminal/editor scroll behavior.
  • Lets users adjust with left/right arrows, reset with r, save with Enter, or cancel with Esc.
  • Saves the selected value to user settings as CLAUDE_CODE_SCROLL_SPEED.
  • Detects terminal context such as VS Code, Cursor, Windows Terminal, xterm.js, and high-rate wheel events.
Evidence

Interactive scroll-speed UI (search for "Scroll speed", "Scroll to feel it · ←/→ adjust · r reset to auto · Enter save · Esc cancel", "CLAUDE_CODE_SCROLL_SPEED")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Cloud Gateway Authentication [Gradual Rollout]#

What

Claude Code now has first-class plumbing for an enterprise Cloud gateway backend.

Usage
claude auth login
# Select Cloud gateway when that option is available for your environment
Details
  • Adds Cloud gateway as a distinct API provider.
  • Stores gateway URL/status in account and diagnostics views.
  • Refreshes gateway JWTs through the gateway OAuth token endpoint.
  • Pins and verifies TLS fingerprints on restore, warning users to re-login if trust changes.
  • Loads managed settings through the gateway and surfaces actionable re-authentication messages when they fail.
Evidence

Cloud gateway provider and login flow (search for "Cloud gateway", "Gateway URL", "Connected to Cloud gateway.", "[gateway-refresh] refreshed gateway JWT")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

/goal Status and Completion Behavior#

/goal is not new in this release, but its UX is clearer. Active goals now show a richer panel with elapsed time, turns, token count, last check, and /goal clear to stop early. Completed goals show Goal achieved and the stop-hook instruction now says the goal auto-clears after success, instead of telling the user to clear it manually.

Evidence

Goal status panel and updated hook instruction (search for "Goal active", "/goal clear to stop early", "It auto-clears once the condition is met")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Hook and Plugin Commands Gain Safer Exec Form#

Hook command definitions can now use an explicit args array for exec-style invocation. Claude Code validates the common mistake of putting both whitespace in command and also supplying args, and explains how to split executable and arguments correctly.

Usage
{
  "command": "node",
  "args": ["script.js"]
}
Details
  • command is resolved as an executable when args is present.
  • Arguments avoid shell parsing for quotes, $, and backticks.
  • Plugin and hook substitutions now include ${CLAUDE_PROJECT_DIR} in more places, including monitor hooks and plugin command paths.
Evidence

Exec-form hook schema and validation (search for "Argument list for exec form", "Exec form treats \"command\" as a single executable name", "${CLAUDE_PROJECT_DIR}")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Remote Control Diagnostics Are More Specific#

Remote Control now tells users why it is unavailable in more cases, especially when the session is using API-key auth or a non-first-party backend.

Details
  • Distinguishes ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, apiKeyHelper, and ANTHROPIC_UNIX_SOCKET cases.
  • Explains that Remote Control requires claude.ai subscription auth.
  • Adds a specific message when the active backend is not api.anthropic.com.
Evidence

Remote Control auth diagnostics (search for "Remote Control requires claude.ai subscription auth", "ANTHROPIC_API_KEY is set", "Remote Control is only available when using Claude via api.anthropic.com")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Claude.ai MCP Connector Diagnostics#

Claude.ai MCP connector setup now reports clearer disabled states for third-party providers, API-key precedence, and missing user:mcp_servers scope.

Details
  • Clarifies that claude.ai org connectors are disabled when the inference token lacks MCP scope.
  • Explicitly says locally configured MCP servers in managed-mcp.json, .claude.json, and .mcp.json are not affected.
  • Adds clearer provider-specific messages for third-party backends.
Evidence

MCP eligibility messages (search for "[claudeai-mcp] Disabled on third-party provider", "inference token lacks user:mcp_servers scope")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Agent View Disable Setting Renamed#

The managed setting/environment-variable wording changed from “background-agents fleet” to “agent view.”

Details
  • New setting field: disableAgentView.
  • New environment variable: CLAUDE_CODE_DISABLE_AGENT_VIEW.
  • Old wording referenced CLAUDE_CODE_DISABLE_AGENTS_FLEET; administrators should update managed settings and environment overrides.
Evidence

Setting rename (search for "Disable agent view", "CLAUDE_CODE_DISABLE_AGENT_VIEW", and compare old "CLAUDE_CODE_DISABLE_AGENTS_FLEET")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Configurable Max Turns Environment Variable#

Claude Code now reads CLAUDE_CODE_MAX_TURNS as a default max-turn override when max turns are not otherwise supplied.

Usage
CLAUDE_CODE_MAX_TURNS=50 claude
Details
  • The value must be a positive integer.
  • Invalid values fail early with a clear error.
Evidence

Max-turn environment parsing (search for "CLAUDE_CODE_MAX_TURNS must be a positive integer")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Supervised Mode Exits on Fatal Runtime Errors#

When CLAUDE_CODE_SUPERVISED is set, uncaught exceptions and unhandled rejections now cause the process to exit after logging. This is useful for service managers or wrapper processes that should restart a crashed CLI instead of letting it limp along.

Usage
CLAUDE_CODE_SUPERVISED=1 claude
Evidence

Supervised fatal-error handling (search for "Uncaught exception under CLAUDE_CODE_SUPERVISED — exiting", "Unhandled rejection under CLAUDE_CODE_SUPERVISED — exiting")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

1 entry

Bug Fixesopen

#

  • Bash safety analysis now detects ambiguous heredoc terminators, including <<- tab-prefixed delimiters and heredoc body lines that can be mistaken for terminators with shell metacharacters. Evidence: heredoc safety checks (search for "ambiguous heredoc terminator", "Heredoc uses <<- with a tab-prefixed delimiter")
  • Plugin ZIP loading now handles archives with a wrapper directory instead of failing or choosing the wrong root. Evidence: inline plugin ZIP handling (search for "Inline plugin zip had wrapper directory; using")
  • Missing plugin errors are more actionable and now suggest claude plugin list or --plugin-dir <path>. Evidence: plugin lookup error (search for "not found. Run claude plugin list to see installed plugins")
  • Marketplace plugin cache misses now explain that the plugin may have been removed and tell users to disable it via /plugin. Evidence: plugin source cache-miss message (search for "the plugin may have been removed. Disable it via /plugin to clear this warning")
  • Settings-file watching now tracks symlink targets so atomic-save edits to the target file are detected. Evidence: symlink target watcher (search for "also watching", "so atomic-save edits to the target are detected")
  • Plugin directory copying now handles cyclic symlinks, non-regular symlink targets, and symlinks escaping the containment root more carefully. Evidence: symlink materialization safeguards (search for "copyDir: skipping cyclic symlink target", "copyDir: skipping symlink escaping containment root")
  • HTTP/SSE transport now aborts streams that exceed the body limit without an SSE event boundary, preventing unbounded memory growth when a server returns non-protocol data. Evidence: SSE body overflow guard (search for "without an SSE event boundary", "HttpBodyOverflowError")
  • Proxy and TLS connection setup now has explicit timeout/failure errors for gateway-style connections. Evidence: connection error strings (search for "TLS connection timed out", "proxy CONNECT failed", "proxy CONNECT timed out")
1 entry

Notesopen

#

The main migration item is for administrators or wrapper authors: update disableAgentView / CLAUDE_CODE_DISABLE_AGENT_VIEW if you previously depended on the older background-agents fleet setting name. For normal interactive users, this release is backward-compatible.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.139. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

  • Added agent view (Research Preview): a single list of every Claude Code session — running, blocked on you, or done. Run claude agents to get started. See https://code.claude.com/docs/en/agent-view
  • Added /goal command: 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-speed command to tune mouse wheel scroll speed with a live preview
  • Added claude plugin details <name> to show a plugin's component inventory and projected per-session token cost
  • Added transcript view navigation: ? for keyboard shortcuts, {/} to jump between user prompts, v to 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 continueOnBlock config option for PostToolUse — set to true to feed the hook's rejection reason back to Claude and continue the turn
  • MCP stdio servers now receive CLAUDE_PROJECT_DIR in their environment, matching hooks. Plugin configs can reference ${CLAUDE_PROJECT_DIR} in commands
  • Compaction prompt now asks the model to preserve sensitive user instructions
  • /mcp Reconnect now picks up .mcp.json edits without a restart, and shows the HTTP status and URL when reconnecting fails
  • /context all per-skill token estimates now account for the model's tokenizer and show rounded values
  • claude plugin install <name>@<marketplace> now auto-refreshes the marketplace and retries before reporting a plugin as not found
  • /plugin installed-plugin details now show hook event names and MCP server names cleanly
  • /context now 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-id headers, and claude_code.llm_request OTEL spans include agent_id / parent_agent_id attributes
  • Remote Control, /schedule, claude.ai MCP connectors, and notification preferences are now disabled when ANTHROPIC_API_KEY / apiKeyHelper / ANTHROPIC_AUTH_TOKEN is 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 forceRemoteSettingsRefresh policy setting blocked claude auth login/logout/status with no way to recover
  • Fixed autoAllowBashIfSandboxed not auto-approving commands with shell expansions like $VAR and $(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, matching Bash(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 /model picker "Default" row not reflecting ANTHROPIC_DEFAULT_OPUS_MODEL/ANTHROPIC_DEFAULT_SONNET_MODEL overrides
  • 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 1 when 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 opus alias
  • 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.watch being 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.total OpenTelemetry metric not being emitted in --print mode
  • Fixed claude plugin update not 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
System prompt

8 added and 5 removed, of 221 lines, about 158 words, in the prompt all 27 arms receive. 1 of 24 tool descriptions changed.

Claude Code, interactive mode