mirror of
https://github.com/anthropics/claude-code.git
synced 2026-04-23 04:22:47 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
925200dffc | ||
|
|
9afdfd7dc0 | ||
|
|
2fa67717b8 | ||
|
|
fe53778ed9 | ||
|
|
0385848b4e | ||
|
|
71366ecf5d | ||
|
|
2b53fac3b2 |
145
CHANGELOG.md
145
CHANGELOG.md
@@ -1,5 +1,150 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.118
|
||||
|
||||
- Added vim visual mode (`v`) and visual-line mode (`V`) with selection, operators, and visual feedback
|
||||
- Merged `/cost` and `/stats` into `/usage` — both remain as typing shortcuts that open the relevant tab
|
||||
- Create and switch between named custom themes from `/theme`, or hand-edit JSON files in `~/.claude/themes/`; plugins can also ship themes via a `themes/` directory
|
||||
- Hooks can now invoke MCP tools directly via `type: "mcp_tool"`
|
||||
- Added `DISABLE_UPDATES` env var to completely block all update paths including manual `claude update` — stricter than `DISABLE_AUTOUPDATER`
|
||||
- WSL on Windows can now inherit Windows-side managed settings via the `wslInheritsWindowsSettings` policy key
|
||||
- Auto mode: include `"$defaults"` in `autoMode.allow`, `autoMode.soft_deny`, or `autoMode.environment` to add custom rules alongside the built-in list instead of replacing it
|
||||
- Added a "Don't ask again" option to the auto mode opt-in prompt
|
||||
- Added `claude plugin tag` to create release git tags for plugins with version validation
|
||||
- `--continue`/`--resume` now find sessions that added the current directory via `/add-dir`
|
||||
- `/color` now syncs the session accent color to claude.ai/code when Remote Control is connected
|
||||
- The `/model` picker now honors `ANTHROPIC_DEFAULT_*_MODEL_NAME`/`_DESCRIPTION` overrides when using a custom `ANTHROPIC_BASE_URL` gateway
|
||||
- When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in `/doctor` and the `/plugin` Errors tab
|
||||
- Fixed `/mcp` menu hiding OAuth Authenticate/Re-authenticate actions for servers configured with `headersHelper`, and HTTP/SSE MCP servers with custom headers being stuck in "needs authentication" after a transient 401
|
||||
- Fixed MCP servers whose OAuth token response omits `expires_in` requiring re-authentication every hour
|
||||
- Fixed MCP step-up authorization silently refreshing instead of prompting for re-consent when the server's `insufficient_scope` 403 names a scope the current token already has
|
||||
- Fixed an unhandled promise rejection when an MCP server's OAuth flow times out or is cancelled
|
||||
- Fixed MCP OAuth refresh proceeding without its cross-process lock under contention
|
||||
- Fixed macOS keychain race where a concurrent MCP token refresh could overwrite a freshly-refreshed OAuth token, causing unexpected "Please run /login" prompts
|
||||
- Fixed OAuth token refresh failing when the server revokes a token before its local expiry time
|
||||
- Fixed credential save crash on Linux/Windows corrupting `~/.claude/.credentials.json`
|
||||
- Fixed `/login` having no effect in a session launched with `CLAUDE_CODE_OAUTH_TOKEN` — the env token is now cleared so disk credentials take effect
|
||||
- Fixed unreadable text in the "new messages" scroll pill and `/plugin` badges
|
||||
- Fixed plan acceptance dialog offering "auto mode" instead of "bypass permissions" when running with `--dangerously-skip-permissions`
|
||||
- Fixed agent-type hooks failing with "Messages are required for agent hooks" when configured for events other than `Stop` or `SubagentStop`
|
||||
- Fixed `prompt` hooks re-firing on tool calls made by an agent-hook verifier subagent
|
||||
- Fixed `/fork` writing the full parent conversation to disk per fork — now writes a pointer and hydrates on read
|
||||
- Fixed Alt+K / Alt+X / Alt+^ / Alt+_ freezing keyboard input
|
||||
- Fixed connecting to a remote session overwriting your local `model` setting in `~/.claude/settings.json`
|
||||
- Fixed typeahead showing "No commands match" error when pasting file paths that start with `/`
|
||||
- Fixed `plugin install` on an already-installed plugin not re-resolving a dependency installed at the wrong version
|
||||
- Fixed unhandled errors from file watcher on invalid paths or fd exhaustion
|
||||
- Fixed Remote Control sessions getting archived on transient CCR initialization blips during JWT refresh
|
||||
- Fixed subagents resumed via `SendMessage` not restoring the explicit `cwd` they were spawned with
|
||||
|
||||
## 2.1.117
|
||||
|
||||
- Forked subagents can now be enabled on external builds by setting `CLAUDE_CODE_FORK_SUBAGENT=1`
|
||||
- Agent frontmatter `mcpServers` are now loaded for main-thread agent sessions via `--agent`
|
||||
- Improved `/model`: selections now persist across restarts even when the project pins a different model, and the startup header shows when the active model comes from a project or managed-settings pin
|
||||
- The `/resume` command now offers to summarize stale, large sessions before re-reading them, matching the existing `--resume` behavior
|
||||
- Faster startup when both local and claude.ai MCP servers are configured (concurrent connect now default)
|
||||
- `plugin install` on an already-installed plugin now installs any missing dependencies instead of stopping at "already installed"
|
||||
- Plugin dependency errors now say "not installed" with an install hint, and `claude plugin marketplace add` now auto-resolves missing dependencies from configured marketplaces
|
||||
- Managed-settings `blockedMarketplaces` and `strictKnownMarketplaces` are now enforced on plugin install, update, refresh, and autoupdate
|
||||
- Advisor Tool (experimental): dialog now carries an "experimental" label, learn-more link, and startup notification when enabled; sessions no longer get stuck with "Advisor tool result content could not be processed" errors on every prompt and `/compact`
|
||||
- The `cleanupPeriodDays` retention sweep now also covers `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, and `~/.claude/backups/`
|
||||
- OpenTelemetry: `user_prompt` events now include `command_name` and `command_source` for slash commands; `cost.usage`, `token.usage`, `api_request`, and `api_error` now include an `effort` attribute when the model supports effort levels. Custom/MCP command names are redacted unless `OTEL_LOG_TOOL_DETAILS=1` is set
|
||||
- Native builds on macOS and Linux: the `Glob` and `Grep` tools are replaced by embedded `bfs` and `ugrep` available through the Bash tool — faster searches without a separate tool round-trip (Windows and npm-installed builds unchanged)
|
||||
- Windows: cached `where.exe` executable lookups per process for faster subprocess launches
|
||||
- Default effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now `high` (was `medium`)
|
||||
- Fixed Plain-CLI OAuth sessions dying with "Please run /login" when the access token expires mid-session — the token is now refreshed reactively on 401
|
||||
- Fixed `WebFetch` hanging on very large HTML pages by truncating input before HTML-to-markdown conversion
|
||||
- Fixed a crash when a proxy returns HTTP 204 No Content — now surfaces a clear error instead of a `TypeError`
|
||||
- Fixed `/login` having no effect when launched with `CLAUDE_CODE_OAUTH_TOKEN` env var and that token expires
|
||||
- Fixed prompt-input undo (`Ctrl+_`) doing nothing immediately after typing, and skipping a state on each undo step
|
||||
- Fixed `NO_PROXY` not being respected for remote API requests when running under Bun
|
||||
- Fixed rare spurious escape/return triggers when key names arrive as coalesced text over slow connections
|
||||
- Fixed SDK `reload_plugins` reconnecting all user MCP servers serially
|
||||
- Fixed Bedrock application-inference-profile requests failing with 400 when backed by Opus 4.7 with thinking disabled
|
||||
- Fixed MCP `elicitation/create` requests auto-cancelling in print/SDK mode when the server finishes connecting mid-turn
|
||||
- Fixed subagents running a different model than the main agent incorrectly flagging file reads with a malware warning
|
||||
- Fixed idle re-render loop when background tasks are present, reducing memory growth on Linux
|
||||
- [VSCode] Fixed "Manage Plugins" panel breaking when multiple large marketplaces are configured
|
||||
- Fixed Opus 4.7 sessions showing inflated `/context` percentages and autocompacting too early — Claude Code was computing against a 200K context window instead of Opus 4.7's native 1M
|
||||
|
||||
## 2.1.116
|
||||
|
||||
- `/resume` on large sessions is significantly faster (up to 67% on 40MB+ sessions) and handles sessions with many dead-fork entries more efficiently
|
||||
- Faster MCP startup when multiple stdio servers are configured; `resources/templates/list` is now deferred to first `@`-mention
|
||||
- Smoother fullscreen scrolling in VS Code, Cursor, and Windsurf terminals — `/terminal-setup` now configures the editor's scroll sensitivity
|
||||
- Thinking spinner now shows progress inline ("still thinking", "thinking more", "almost done thinking"), replacing the separate hint row
|
||||
- `/config` search now matches option values (e.g. searching "vim" finds the Editor mode setting)
|
||||
- `/doctor` can now be opened while Claude is responding, without waiting for the current turn to finish
|
||||
- `/reload-plugins` and background plugin auto-update now auto-install missing plugin dependencies from marketplaces you've already added
|
||||
- Bash tool now surfaces a hint when `gh` commands hit GitHub's API rate limit, so agents can back off instead of retrying
|
||||
- The Usage tab in Settings now shows your 5-hour and weekly usage immediately and no longer fails when the usage endpoint is rate-limited
|
||||
- Agent frontmatter `hooks:` now fire when running as a main-thread agent via `--agent`
|
||||
- Slash command menu now shows "No commands match" when your filter has zero results, instead of disappearing
|
||||
- Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for `rm`/`rmdir` targeting `/`, `$HOME`, or other critical system directories
|
||||
- Claude Code and installer now use `https://downloads.claude.ai/claude-code-releases` instead of `https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases`
|
||||
- Fixed Devanagari and other Indic scripts rendering with broken column alignment in the terminal UI
|
||||
- Fixed Ctrl+- not triggering undo in terminals using the Kitty keyboard protocol (iTerm2, Ghostty, kitty, WezTerm, Windows Terminal)
|
||||
- Fixed Cmd+Left/Right not jumping to line start/end in terminals that use the Kitty keyboard protocol (Warp fullscreen, kitty, Ghostty, WezTerm)
|
||||
- Fixed Ctrl+Z hanging the terminal when Claude Code is launched via a wrapper process (e.g. `npx`, `bun run`)
|
||||
- Fixed scrollback duplication in inline mode where resizing the terminal or large output bursts would repeat earlier conversation history
|
||||
- Fixed modal search dialogs overflowing the screen at short terminal heights, hiding the search box and keyboard hints
|
||||
- Fixed scattered blank cells and disappearing composer chrome in the VS Code integrated terminal during scrolling
|
||||
- Fixed an intermittent API 400 error related to cache control TTL ordering that could occur when a parallel request completed during request setup
|
||||
- Fixed `/branch` rejecting conversations with transcripts larger than 50MB
|
||||
- Fixed `/resume` silently showing an empty conversation on large session files instead of reporting the load error
|
||||
- Fixed `/plugin` Installed tab showing the same item twice when it appears under Needs attention or Favorites
|
||||
- Fixed `/update` and `/tui` not working after entering a worktree mid-session
|
||||
|
||||
## 2.1.114
|
||||
|
||||
- Fixed a crash in the permission dialog when an agent teams teammate requested tool permission
|
||||
|
||||
## 2.1.113
|
||||
|
||||
- Changed the CLI to spawn a native Claude Code binary (via a per-platform optional dependency) instead of bundled JavaScript
|
||||
- Added `sandbox.network.deniedDomains` setting to block specific domains even when a broader `allowedDomains` wildcard would otherwise permit them
|
||||
- Fullscreen mode: Shift+↑/↓ now scrolls the viewport when extending a selection past the visible edge
|
||||
- `Ctrl+A` and `Ctrl+E` now move to the start/end of the current logical line in multiline input, matching readline behavior
|
||||
- Windows: `Ctrl+Backspace` now deletes the previous word
|
||||
- Long URLs in responses and bash output stay clickable when they wrap across lines (in terminals with OSC 8 hyperlinks)
|
||||
- Improved `/loop`: pressing Esc now cancels pending wakeups, and wakeups display as "Claude resuming /loop wakeup" for clarity
|
||||
- `/extra-usage` now works from Remote Control (mobile/web) clients
|
||||
- Remote Control clients can now query `@`-file autocomplete suggestions
|
||||
- Improved `/ultrareview`: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state
|
||||
- Subagents that stall mid-stream now fail with a clear error after 10 minutes instead of hanging silently
|
||||
- Bash tool: multi-line commands whose first line is a comment now show the full command in the transcript, closing a UI-spoofing vector
|
||||
- Running `cd <current-directory> && git …` no longer triggers a permission prompt when the `cd` is a no-op
|
||||
- Security: on macOS, `/private/{etc,var,tmp,home}` paths are now treated as dangerous removal targets under `Bash(rm:*)` allow rules
|
||||
- Security: Bash deny rules now match commands wrapped in `env`/`sudo`/`watch`/`ionice`/`setsid` and similar exec wrappers
|
||||
- Security: `Bash(find:*)` allow rules no longer auto-approve `find -exec`/`-delete`
|
||||
- Fixed MCP concurrent-call timeout handling where a message for one tool call could silently disarm another call's watchdog
|
||||
- Fixed Cmd-backspace / `Ctrl+U` to once again delete from the cursor to the start of the line
|
||||
- Fixed markdown tables breaking when a cell contains an inline code span with a pipe character
|
||||
- Fixed session recap auto-firing while composing unsent text in the prompt
|
||||
- Fixed `/copy` "Full response" not aligning markdown table columns for pasting into GitHub, Notion, or Slack
|
||||
- Fixed messages typed while viewing a running subagent being hidden from its transcript and misattributed to the parent AI
|
||||
- Fixed Bash `dangerouslyDisableSandbox` running commands outside the sandbox without a permission prompt
|
||||
- Fixed `/effort auto` confirmation — now says "Effort level set to max" to match the status bar label
|
||||
- Fixed the "copied N chars" toast overcounting emoji and other multi-code-unit characters
|
||||
- Fixed `/insights` crashing with `EBUSY` on Windows
|
||||
- Fixed exit confirmation dialog mislabeling one-shot scheduled tasks as recurring — now shows a countdown
|
||||
- Fixed slash/@ completion menu not sitting flush against the prompt border in fullscreen mode
|
||||
- Fixed `CLAUDE_CODE_EXTRA_BODY` `output_config.effort` causing 400 errors on subagent calls to models that don't support effort and on Vertex AI
|
||||
- Fixed prompt cursor disappearing when `NO_COLOR` is set
|
||||
- Fixed `ToolSearch` ranking so pasted MCP tool names surface the actual tool instead of description-matching siblings
|
||||
- Fixed compacting a resumed long-context session failing with "Extra usage is required for long context requests"
|
||||
- Fixed `plugin install` succeeding when a dependency version conflicts with an already-installed plugin — now reports `range-conflict`
|
||||
- Fixed "Refine with Ultraplan" not showing the remote session URL in the transcript
|
||||
- Fixed SDK image content blocks that fail to process crashing the session — now degrade to a text placeholder
|
||||
- Fixed Remote Control sessions not streaming subagent transcripts
|
||||
- Fixed Remote Control sessions not being archived when Claude Code exits
|
||||
- Fixed `thinking.type.enabled is not supported` 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN
|
||||
|
||||
## 2.1.112
|
||||
|
||||
- Fixed "claude-opus-4-7 is temporarily unavailable" for auto mode
|
||||
|
||||
## 2.1.111
|
||||
|
||||
- Claude Opus 4.7 xhigh is now available! Use /effort to tune speed vs. intelligence
|
||||
|
||||
Reference in New Issue
Block a user