mirror of
https://github.com/anthropics/claude-code.git
synced 2026-05-13 03:12:43 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b070c31bc | ||
|
|
fdfbc06c7a | ||
|
|
831608a360 | ||
|
|
33a87addb4 | ||
|
|
f7ef09f496 | ||
|
|
2bd8547920 | ||
|
|
52b9f247d1 |
2
.github/workflows/auto-close-duplicates.yml
vendored
2
.github/workflows/auto-close-duplicates.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 (sha-pinned)
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 (sha-pinned)
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 (sha-pinned)
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
|
||||
2
.github/workflows/sweep.yml
vendored
2
.github/workflows/sweep.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 (sha-pinned)
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
|
||||
132
CHANGELOG.md
132
CHANGELOG.md
@@ -1,5 +1,137 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.140
|
||||
|
||||
- Improved Agent tool `subagent_type` matching to accept case- and separator-insensitive values (e.g. `"Code Reviewer"` resolves to `code-reviewer`)
|
||||
- Updated agent color palette
|
||||
- Fixed `/goal` silently hanging when `disableAllHooks` or `allowManagedHooksOnly` is set — now shows a clear message instead of an indicator that never resolves
|
||||
- Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious `ConfigChange` hooks
|
||||
- Fixed `claude --bg` failing with "connection dropped mid-request" when the background service was about to idle-exit
|
||||
- Fixed background service startup failing on machines with enterprise endpoint security by allowing more time
|
||||
- Fixed remote managed settings not retrying on 401 — now retries once with a force-refreshed token
|
||||
- Fixed managed `extraKnownMarketplaces` auto-update policy not being persisted to `known_marketplaces.json`
|
||||
- Fixed `/loop` scheduling redundant wakeups to poll for background tasks that already notify on completion
|
||||
- Fixed a recurring event-loop stall on Windows when a missing executable (e.g. `gh`) triggered synchronous `where.exe` re-spawns on every check
|
||||
- Fixed `Read` tool calls failing validation when `offset` is passed as a whitespace-padded or `+`-prefixed string
|
||||
- Fixed native terminal cursor not staying at the input caret when the terminal loses focus
|
||||
- Plugins now warn when a default component folder (e.g. `commands/`) is silently ignored because `plugin.json` sets the matching key. Shown in `/doctor`, `claude plugin list`, and `/plugin`.
|
||||
|
||||
## 2.1.139
|
||||
|
||||
- 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`
|
||||
|
||||
## 2.1.138
|
||||
|
||||
- Internal fixes
|
||||
|
||||
## 2.1.137
|
||||
|
||||
- [VSCode] Fixed extension failing to activate on Windows
|
||||
|
||||
## 2.1.136
|
||||
|
||||
- Added `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` to re-enable the session quality survey for enterprises capturing responses through OpenTelemetry
|
||||
- Added `settings.autoMode.hard_deny` for auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions
|
||||
- Fixed MCP servers configured in `.mcp.json`, plugins, and claude.ai connectors silently disappearing after `/clear` in the VS Code extension, JetBrains plugin, and Agent SDK
|
||||
- Fixed a rare login loop where a concurrent credential write could overwrite a freshly-rotated OAuth token and force re-login
|
||||
- Fixed MCP OAuth refresh tokens being lost when multiple servers refresh concurrently — users with several remote MCP servers should no longer need daily re-authentication
|
||||
- Fixed an API error (400) when extended thinking emitted a redacted thinking block after a tool call
|
||||
- Fixed `--resume` / `--continue` not finding sessions when the project path contains underscores
|
||||
- Fixed plan mode not blocking file writes when a matching `Edit(...)` allow rule exists
|
||||
- WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
|
||||
- Fixed plugin `Stop`/`UserPromptSubmit` hooks failing when cache cleanup deletes a version still in use by a running session
|
||||
- Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after
|
||||
- Fixed colors appearing at wrong positions in bash command output and markdown code blocks
|
||||
- Fixed ReasonML diffs rendering corrupted "undefined" text artifacts at word-diff boundaries
|
||||
- Fixed worktree exit dialog warning about uncommitted files in the wrong directory after worktree removal
|
||||
- Fixed `@` file picker not matching files created mid-session in small non-git directories
|
||||
- Fixed `@`-mention file picker not finding files in directories with more than 100 entries
|
||||
- Fixed failed tool calls not being click-to-expand in fullscreen mode when their output was truncated
|
||||
- Fixed Backspace and Ctrl+Backspace getting swapped after using Ctrl+G to open an external editor on terminals with persistent extended-key modes
|
||||
- Fixed `/usage` weekly reset showing time of day instead of the calendar date
|
||||
- Fixed welcome banner ellipsis causing column overflow on CJK terminals
|
||||
- Fixed `/insights` crash when session history contains tool calls with malformed input fields
|
||||
- Fixed a renderer crash when a tool's collapsibility classification changes mid-session
|
||||
- Fixed a `skills` entry in `plugin.json` hiding the plugin's default `skills/` directory, and listing a file path now shows an error instead of failing silently
|
||||
- Fixed IDE shell-integration lock files not respecting `CLAUDE_CONFIG_DIR`
|
||||
- Fixed trailing whitespace in copied terminal output during streaming
|
||||
- Fixed plugin uninstall and enable/disable not matching slugs case-insensitively
|
||||
- Fixed tool error truncation marker showing a negative count for surrogate-pair strings
|
||||
- Fixed env vars from `CLAUDE_ENV_FILE` SessionStart hooks going stale after `/resume` or `/clear`
|
||||
- Fixed `/branch` saving a multi-line session title when given a pasted multi-line name
|
||||
- Fixed a stray leading space on the second line of wrapped text at the column boundary
|
||||
- Fixed Esc not dismissing dialogs in `/install-github-app`, `/desktop`, `/resume`, and `/web-setup`
|
||||
- Fixed `/doctor` MCP schema errors not naming the missing field or showing the source file path
|
||||
- Fixed Bash permission prompts showing an internal parser diagnostic instead of a user-readable explanation
|
||||
- Fixed plugin slash commands with spaces (e.g. `/myplugin review`) not resolving to their namespaced form
|
||||
- Fixed `AskUserQuestion` discarding multi-select answers when supplied as an array
|
||||
- Fixed `/clear <name>` not labeling the cleared session for `/resume`
|
||||
- Fixed `CronList` output missing qualifiers and the scheduled prompt
|
||||
- Fixed "Jump to bottom" overlay leaving color artifacts on CJK characters in fullscreen mode
|
||||
- Fixed wide markdown tables leaving a stale bordered render in terminal scrollback while streaming
|
||||
- Fixed pasted text being silently dropped when a long prompt with a pasted-text placeholder was auto-truncated
|
||||
- Fixed `/release-notes` getting stuck on an old version after a failed changelog refresh
|
||||
- Fixed `/mcp` server list not scrolling when there are more servers than fit in the terminal
|
||||
- Fixed mid-input slash command autocomplete not working after an initial slash command
|
||||
- Fixed scrolling to bottom re-engaging auto-follow with `autoScrollEnabled: false`
|
||||
- Fixed prompt suggestions being auto-submitted by Enter on an empty input instead of requiring Tab or arrow to accept
|
||||
- Fixed keyboard shortcut hints not reflecting rebound keys from `keybindings.json`
|
||||
- Fixed `/settings` language change being reverted on Escape after confirming
|
||||
- Fixed `/terminal-setup` only appearing in autocomplete on exact name match instead of partial prefixes
|
||||
- Fixed "Chat about this" on an `AskUserQuestion` dialog erasing the question text
|
||||
- Fixed MCP tool results being invisible when the server returns content blocks
|
||||
- Improved error message when `--worktree` collides with an existing or stale worktree
|
||||
- Changed plugin marketplace removal key to `d` (matching delete elsewhere) instead of `r` which collided with retry
|
||||
|
||||
## 2.1.133
|
||||
|
||||
- Added `worktree.baseRef` setting (`fresh` | `head`) to choose whether `--worktree`, `EnterWorktree`, and agent-isolation worktrees branch from `origin/<default>` or local `HEAD`. **Note:** the default `fresh` changes `EnterWorktree`'s base back to `origin/<default>` (it has been local `HEAD` since 2.1.128) — set `worktree.baseRef: "head"` to keep unpushed commits in new worktrees
|
||||
|
||||
Reference in New Issue
Block a user