78 lines
7.7 KiB
Markdown
78 lines
7.7 KiB
Markdown
## 2.1.83
|
||
|
||
- Added `managed-settings.d/` drop-in directory alongside `managed-settings.json`, letting separate teams deploy independent policy fragments that merge alphabetically
|
||
- Added `CwdChanged` and `FileChanged` hook events for reactive environment management (e.g., direnv)
|
||
- Added `sandbox.failIfUnavailable` setting to exit with an error when sandbox is enabled but cannot start, instead of running unsandboxed
|
||
- Added `disableDeepLinkRegistration` setting to prevent `claude-cli://` protocol handler registration
|
||
- Added `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1` to strip Anthropic and cloud provider credentials from subprocess environments (Bash tool, hooks, MCP stdio servers)
|
||
- Added transcript search — press `/` in transcript mode (`Ctrl+O`) to search, `n`/`N` to step through matches
|
||
- Added `Ctrl+X Ctrl+E` as an alias for opening the external editor (readline-native binding; `Ctrl+G` still works)
|
||
- Pasted images now insert an `[Image #N]` chip at the cursor so you can reference them positionally in your prompt
|
||
- Agents can now declare `initialPrompt` in frontmatter to auto-submit a first turn
|
||
- `chat:killAgents` and `chat:fastMode` are now rebindable via `~/.claude/keybindings.json`
|
||
- Fixed mouse tracking escape sequences leaking to shell prompt after exit
|
||
- Fixed Claude Code hanging on exit on macOS
|
||
- Fixed screen flashing blank after being idle for a few seconds
|
||
- Fixed a hang when diffing very large files with few common lines — diffs now time out after 5 seconds and fall back gracefully
|
||
- Fixed a 1–8 second UI freeze on startup when voice input was enabled, caused by eagerly loading the native audio module
|
||
- Fixed a startup regression where Claude Code would wait ~3s for claude.ai MCP config fetch before proceeding
|
||
- Fixed `--mcp-config` CLI flag bypassing `allowedMcpServers`/`deniedMcpServers` managed policy enforcement
|
||
- Fixed claude.ai MCP connectors (Slack, Gmail, etc.) not being available in single-turn `--print` mode
|
||
- Fixed `caffeinate` process not properly terminating when Claude Code exits, preventing Mac from sleeping
|
||
- Fixed bash mode not activating when tab-accepting `!`-prefixed command suggestions
|
||
- Fixed stale slash command selection showing wrong highlighted command after navigating suggestions
|
||
- Fixed `/config` menu showing both the search cursor and list selection at the same time
|
||
- Fixed background subagents becoming invisible after context compaction, which could cause duplicate agents to be spawned
|
||
- Fixed background agent tasks staying stuck in "running" state when git or API calls hang during cleanup
|
||
- Fixed `--channels` showing "Channels are not currently available" on first launch after upgrade
|
||
- Fixed uninstalled plugin hooks continuing to fire until the next session
|
||
- Fixed queued commands flickering during streaming responses
|
||
- Fixed slash commands being sent to the model as text when submitted while a message is processing
|
||
- Fixed scrollback jumping when collapsed read/search groups finish after scrolling offscreen
|
||
- Fixed scrollback jumping to top when the model starts or stops thinking
|
||
- Fixed SDK session history loss on resume caused by hook progress/attachment messages forking the parentUuid chain
|
||
- Fixed copy-on-select not firing when you release the mouse outside the terminal window
|
||
- Fixed ghost characters appearing in height-constrained lists when items overflow
|
||
- Fixed `Ctrl+B` interfering with readline backward-char at an idle prompt — it now only fires when a foreground task can be backgrounded
|
||
- Fixed tool result files never being cleaned up, ignoring the `cleanupPeriodDays` setting
|
||
- Fixed space key being swallowed for up to 3 seconds after releasing voice hold-to-talk
|
||
- Fixed ALSA library errors corrupting the terminal UI when using voice mode on Linux without audio hardware (Docker, headless, WSL1)
|
||
- Fixed voice mode SoX detection on Termux/Android where spawning `which` is kernel-restricted
|
||
- Fixed Remote Control sessions showing as Idle in the web session list while actively running
|
||
- Fixed footer navigation selecting an invisible Remote Control pill in config-driven mode
|
||
- Fixed memory leak in remote sessions where tool use IDs accumulate indefinitely
|
||
- Improved Bedrock SDK cold-start latency by overlapping profile fetch with other boot work
|
||
- Improved `--resume` memory usage and startup latency on large sessions
|
||
- Improved plugin startup — commands, skills, and agents now load from disk cache without re-fetching
|
||
- Improved Remote Control session titles: AI-generated titles now appear within seconds of the first message
|
||
- Improved `WebFetch` to identify as `Claude-User` so site operators can recognize and allowlist Claude Code traffic via `robots.txt`
|
||
- Reduced `WebFetch` peak memory usage for large pages
|
||
- Reduced scrollback resets in long sessions from once per turn to once per ~50 messages
|
||
- Faster `claude -p` startup with unauthenticated HTTP/SSE MCP servers (~600ms saved)
|
||
- Bash ghost-text suggestions now include just-submitted commands immediately
|
||
- Increased non-streaming fallback token cap (21k → 64k) and timeout (120s → 300s local) so fallback requests are less likely to be truncated
|
||
- Interrupting a prompt before any response now automatically restores your input so you can edit and resubmit
|
||
- `/status` now works while Claude is responding, instead of being queued until the turn finishes
|
||
- Plugin MCP servers that duplicate an org-managed connector are now suppressed instead of running a second connection
|
||
- Linux: respect `XDG_DATA_HOME` when registering the `claude-cli://` protocol handler
|
||
- Changed "stop all background agents" keybinding from `Ctrl+F` to `Ctrl+X Ctrl+K` to stop shadowing readline forward-char
|
||
- Deprecated `TaskOutput` tool in favor of using `Read` on the background task's output file path
|
||
- Added `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` env var to disable the non-streaming fallback when streaming fails
|
||
- Plugin options (`manifest.userConfig`) now available externally — plugins can prompt for configuration at enable time, with `sensitive: true` values stored in keychain (macOS) or protected credentials file (other platforms)
|
||
- Claude can now reference the on-disk path of clipboard-pasted images for file operations
|
||
- `Ctrl+L` now clears the screen and forces a full redraw — use this to recover when Cmd+K leaves the UI partially blank. Use `Ctrl+U` or double-Esc to clear prompt input.
|
||
- `--bare -p` (SDK pattern) is ~14% faster to the API request
|
||
- Memory: `MEMORY.md` index now truncates at 25KB as well as 200 lines
|
||
- Disabled `AskUserQuestion` and plan-mode tools when `--channels` is active
|
||
- Fixed API 400 error when a pasted image was queued during a failing tool call
|
||
- Fixed MCP tool calls hanging indefinitely when an SSE connection drops mid-call and exhausts its reconnection attempts
|
||
- Fixed Remote Control session titles showing raw XML when a background agent completed before the first user message
|
||
- Fixed remote sessions forgetting conversation history after a container restart due to progress-message gaps in the resumed transcript chain
|
||
- Fixed remote sessions requiring re-login on transient auth errors instead of retrying automatically
|
||
- Fixed `rg ... | wc -l` and similar piped commands hanging and returning `0` in sandbox mode on Linux
|
||
- Fixed voice input hold-to-talk not activating when a CJK IME inserts a full-width space
|
||
- Fixed `--worktree` hanging silently when the worktree name contained a forward slash
|
||
- [VSCode] Spinner now turns red with "Not responding" when the backend hasn't responded for 60 seconds
|
||
- [VSCode] Fixed session history not loading correctly when reopening a session via URL or after restart
|
||
- [VSCode] Added Esc-twice (or `/rewind`) to open a keyboard-navigable rewind picker
|
||
- [VSCode] Fixed "Fork conversation from here" and rewind actions failing silently after the session cache goes stale |