Skip to main content

Claude Code v2.1.120: Windows Without Git Bash, claude ultrareview for CI, and a File-Descriptor Exhaustion Fix

Claude Code v2.1.120 drops the Git for Windows requirement in favour of PowerShell, adds a non-interactive claude ultrareview subcommand for CI, and fixes find in the Bash tool exhausting open file descriptors and crashing the host.

Claude Code v2.1.120 has 22 changelog entries, 12 of them fixes. Two matter more than their one-line summaries suggest: Windows no longer needs Git Bash, and a find bug could take down the whole host.

What’s New

  • Windows no longer requires Git for Windows. When Git Bash is absent, Claude Code uses PowerShell as the shell tool.
  • claude ultrareview [target] runs /ultrareview non-interactively from CI or scripts. It prints findings to stdout, takes --json for raw output, and exits 0 on completion or 1 on failure.
  • Skills can reference the current effort level with ${CLAUDE_EFFORT} in their content.
  • The AI_AGENT environment variable is set for subprocesses, so gh can attribute traffic to Claude Code.

The Fix Worth Reading Twice

find in the Bash tool could exhaust open file descriptors on large directory trees, causing host-wide crashes on macOS and Linux native builds. If you ran Claude Code over a big repository and saw the machine itself become unstable, this is it.

Telemetry, Permissions, and Auto Mode

  • DISABLE_TELEMETRY and CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC were not suppressing usage-metrics telemetry for API and enterprise users.
  • False-positive “Dangerous rm operation” prompts in auto mode, for multi-line bash commands containing both a pipe and a redirect.
  • Auto-compact in auto mode now displays auto rather than a misleading token value, and the auto mode denial message links to the configuration docs.

Interface Fixes

  • Pressing Esc during a stdio MCP tool call closed the entire server connection — a regression in 2.1.105.
  • /rewind and other interactive overlays did not respond to keyboard input after launching with claude --resume.
  • Terminal scrollback duplication in non-fullscreen mode, on resize, dialog dismiss, and long sessions.
  • Long selection menus clipped below the terminal in fullscreen; the focused option now stays on screen.
  • Write tool output collapsed instead of expanding when clicking “+N lines” in fullscreen.
  • The slash command picker jumped while typing, and its highlight now matches only contiguous substrings.
  • A “use PgUp/PgDn to scroll” hint appears when the terminal sends arrow keys instead of scroll events.

Smaller Items

/plugin marketplace loading no longer fails when one entry uses an unrecognized source format — the entry is shown, and installing it prompts you to update. claude plugin validate accepts $schema, version, and description at the top level of marketplace.json, and $schema in plugin.json. Session start is faster when many claude.ai connectors are configured but not authorized. Spinner tips suggesting the desktop app or skills are hidden once you have them. In VS Code, /usage opens the native Account & Usage dialog, and voice dictation respects the language setting in ~/.claude/settings.json.

The full list is in the official changelog.

How to Update

  1. Check your installed version: claude --version
  2. Update in place: claude update