Claude Code changelog

Claude Code 2.1.120

This release introduces the powerful `ultrareview` subcommand, enabling non-interactive code reviews for CI pipelines and scripts. Windows users will appreciate no longer needing Git for Windows, as PowerShell is now a direct option for shell tools. Plugin developers gain more validation flexibility, and agents can now reference the current effort level for refined skill behavior. Significant usability enhancements include improved terminal scrollback, more accurate auto-compact displays, and fixes for interactive overlays, selection menus, and the slash command picker. Crucial stability fixes address server connection issues, prevent false-positive dangerous operation prompts, and resolve critical file descriptor exhaustion on macOS/Linux from the Bash tool, ensuring a more robust and reliable experience for all users.

Added

  • Added `claude ultrareview [target]` subcommand to run `/ultrareview` non-interactively from CI or scripts — prints findings to stdout (`--json` for raw output) and exits 0 on completion or 1 on failure

Changed

  • Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
  • Skills can now reference the current effort level with `${CLAUDE_EFFORT}` in their content
  • Set `AI_AGENT` environment variable for subprocesses so `gh` can attribute traffic to Claude Code
  • Spinner tips that recommend installing the desktop app or creating skills/agents are now hidden when you already have them
  • Show a "use PgUp/PgDn to scroll" hint when the terminal sends arrow keys instead of scroll events
  • Faster session start when you have many claude.ai connectors configured but not authorized
  • The auto mode denial message now links to the configuration docs
  • `claude plugin validate` now accepts `$schema`, `version`, and `description` at the top level of `marketplace.json` and `$schema` in `plugin.json`
  • Auto-compact in auto mode now displays `auto` (lowercase, no token count) instead of a misleading token value
  • `/usage` now opens the native Account & Usage dialog instead of returning plain-text session cost
  • Voice dictation now respects the `language` setting in `~/.claude/settings.json`

Fixed

  • Fixed pressing Esc during a stdio MCP tool call closing the entire server connection (regression in 2.1.105)
  • Fixed `/rewind` and other interactive overlays not responding to keyboard input after launching with `claude --resume`
  • Fixed terminal scrollback duplication in non-fullscreen mode (resize, dialog dismiss, long sessions)
  • Fixed `DISABLE_TELEMETRY` / `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` not suppressing usage metrics telemetry for API and enterprise users
  • Fixed false-positive "Dangerous rm operation" permission prompts in auto mode for multi-line bash commands containing both a pipe and a redirect
  • Fixed long selection menus clipping below the terminal in fullscreen mode — the focused option now stays on screen as you scroll
  • Fixed Write tool output collapsing instead of expanding when clicking "+N lines" in fullscreen
  • Fixed slash command picker jumping while typing, and improved highlight to only match contiguous substrings in blue
  • Fixed `/plugin` marketplace failing to load when one entry uses an unrecognized source format — that entry is shown but installing it prompts you to update
  • Fixed `find` in the Bash tool exhausting open file descriptors on large directory trees, causing host-wide crashes (macOS/Linux native builds)