Change8

v2.1.72

Claude Code
10 features32 fixes12 improvementsbedrockclidesktophooksmcpsdkvscode

Summary

This release introduces several new capabilities, including direct file writing from `/copy` and an enhanced `/plan` command that accepts descriptions. Significant stability improvements were made, fixing numerous bugs related to voice input, plugin installation, session resumption, and permission handling across the system. Users will also benefit from performance gains due to improved bash parsing and reduced bundle size.

New Features

  • Added the `w` key in `/copy` to write the focused selection directly to a file, bypassing the clipboard (useful over SSH).
  • Introduced optional description argument to `/plan` (e.g., `/plan fix the auth bug`) that enters plan mode and immediately starts.
  • Added `claude plugins` as an alias for `claude plugin`.
  • Added `ExitWorktree` tool to leave an `EnterWorktree` session.
  • Enabled the `CLAUDE_CODE_DISABLE_CRON` environment variable to immediately stop scheduled cron jobs mid-session.
  • Added `lsof`, `pgrep`, `tput`, `ss`, `fd`, and `fdfind` to the bash auto-approval allowlist, reducing permission prompts for common read-only operations.
  • Added support for marketplace git URLs without the `.git` suffix (Azure DevOps, AWS CodeCommit).
  • Restored the `model` parameter on the Agent tool for per-invocation model overrides.
  • Added effort level indicator on the input border in VSCode.
  • Added `vscode://anthropic.claude-code/open` URI handler in VSCode to open a new Claude Code tab programmatically, with optional `prompt` and `session` query parameters.

Bug Fixes

  • Fixed slow exits when background tasks or hooks were slow to respond.
  • Fixed agent task progress stuck on "Initializing…".
  • Fixed skill hooks firing twice per event when a hooks-enabled skill is invoked by the model.
  • Fixed several voice mode issues: occasional input lag, false "No speech detected" errors after releasing push-to-talk, and stale transcripts re-filling the prompt after submission.
  • Fixed `--continue` not resuming from the most recent point after `--compact`.
  • Fixed bash security parsing edge cases.
  • Fixed several plugin issues: installation failing on Windows with `EEXIST` error in OneDrive folders, marketplace blocking user-scope installs when a project-scope install exists, `CLAUDE_CODE_PLUGIN_CACHE_DIR` creating literal `~` directories, and `plugin.json` with marketplace-only fields failing to load.
  • Fixed feedback survey appearing too frequently in long sessions.
  • Fixed `--effort` CLI flag being reset by unrelated settings writes on startup.
  • Fixed backgrounded Ctrl+B queries losing their transcript or corrupting the new conversation after `/clear`.
  • Fixed `/clear` killing background agent/bash tasks — only foreground tasks are now cleared.
  • Fixed worktree isolation issues: Task tool resume not restoring cwd, and background task notifications missing `worktreePath` and `worktreeBranch`.
  • Fixed `/model` not displaying results when run while Claude is working.
  • Fixed digit keys selecting menu options instead of typing in plan mode permission prompt's text input.
  • Fixed sandbox permission issues: certain file write operations incorrectly allowed without prompting, and output redirections to allowlisted directories (like `/tmp/claude/`) prompting unnecessarily.
  • Fixed prompt cache invalidation in SDK `query()` calls, reducing input token costs up to 12x.
  • Fixed Escape key becoming unresponsive after cancelling a query.
  • Fixed double Ctrl+C not exiting when background agents or tasks are running.
  • Fixed team agents to inherit the leader's model.
  • Fixed "Always Allow" saving permission rules that never match again.
  • Fixed several hooks issues: `transcript_path` pointing to the wrong directory for resumed/forked sessions, agent `prompt` being silently deleted from settings.json on every settings write, PostToolUse block reason displaying twice, async hooks not receiving stdin with bash `read -r`, and validation error message showing an example that fails validation.
  • Fixed session crashes in Desktop/SDK when Read returned files containing U+2028/U+2029 characters.
  • Fixed terminal title being cleared on exit even when `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` was set.
  • Fixed several permission rule matching issues: wildcard rules not matching commands with heredocs, embedded newlines, or no arguments; `sandbox.excludedCommands` failing with env var prefixes; "always allow" suggesting overly broad prefixes for nested CLI tools; and deny rules not applying to all command forms.
  • Fixed oversized and truncated images from Bash data-URL output.
  • Fixed a crash when resuming sessions that contained Bedrock API errors.
  • Fixed intermittent "expected boolean, received string" validation errors on Edit, Bash, and Grep tool inputs.
  • Fixed multi-line session titles when forking from a conversation whose first message contained newlines.
  • Fixed queued messages not showing attached images, and images being lost when pressing ↑ to edit a queued message.
  • Fixed parallel tool calls where a failed Read/WebFetch/Glob would cancel its siblings — only Bash errors now cascade.
  • VSCode: Fixed scroll speed in integrated terminals not matching native terminals.
  • VSCode: Fixed Shift+Enter submitting input instead of inserting a newline for users with older keybindings.

Improvements

  • Changed tool search to bypass the third-party proxy gate when the environment variable is set (replaces `CLAUDE_CODE_PROXY_SUPPORTS_TOOL_REFERENCE`, now removed).
  • Improved `/config` — Escape now cancels changes, Enter saves and closes, Space toggles settings.
  • Improved up-arrow history to show current session's messages first when running multiple concurrent sessions.
  • Improved voice input transcription accuracy for repo names and common dev terms (regex, OAuth, JSON).
  • Improved marketplace clone failure messages to show diagnostic info even when git produces no stderr.
  • Improved `claude plugin validate` to explain that marketplace.json source paths are relative to the repo root when rejecting `../` paths.
  • Improved bash command parsing by switching to a native module — faster initialization and no memory leak.
  • Reduced false-positive bash permission prompts — tree-sitter parsing now handles `find -exec`, variable assignments, command substitutions, and many other patterns that previously triggered unnecessary prompts. Also fixed tree-sitter not loading in npm-installed versions.
  • Reduced bundle size by ~510 KB.
  • Changed CLAUDE.md HTML comments (`<!-- ... -->`) to be hidden from Claude when auto-injected. Comments remain visible when read with the Read tool.
  • Simplified effort levels to low/medium/high (removed max) with new symbols (○ ◐ ●) and a brief notification instead of a persistent icon. Use `/effort auto` to reset to default.
  • Improved CPU utilization in long sessions.

Claude Code Documentation