Claude Code 2.1.120
**`claude ultrareview [target]` command** — enables non-interactive code review automation in CI/CD pipelines and scripts, with structured JSON output for integration into automation tooling. This unlocks review-as-a-gate and audit-trail capture for agent-driven codebases.
New primitives
claude ultrareview [target]commandRun `/ultrareview` non-interactively from CI or scripts with stdout output and structured exit codes
${CLAUDE_EFFORT}env-var/skill-referenceReference the current effort level within skill content for dynamic skill behavior
AI_AGENT environment variableenv-varAutomatic subprocess environment variable for attribution of `gh` traffic to Claude Code
PowerShell shell fallback (Windows)capabilityWindows no longer requires Git for Windows (Git Bash); Claude Code uses PowerShell as shell tool when Git Bash absent
Workflow recipes
Agents can now run structured code review as a pipeline gate, scaling review effort with the task's urgency level and attributing all review traffic to the agent for audit/cost tracking.
An agent-driven monorepo workflow where agents commit code changes, then invoke claude ultrareview at effort levels calibrated to the change scope (e.g., low effort for trivial refactors, high for security-sensitive paths). The ${CLAUDE_EFFORT} variable scales the skill's analysis depth, and AI_AGENT tracks the review's agent lineage in GitHub traffic logs. The agent parses JSON output to fail the PR if critical findings block merge, or attach findings as commit comments. This closes the feedback loop without human review bottlenecks.
Skills can now adapt their behavior to the parent agent's effort level, enabling same-skill deployment across quick-turnaround and deep-analysis use cases. The PowerShell fallback removes platform-specific skill branching logic.
A skill library that changes internal strategy based on effort level: at effort low, run fast heuristics; at effort high, spawn deeper subagent analysis or iterate multi-pass refinement. The Windows shell fallback means skills no longer need conditional branching for cmd vs bash — a single skill works across all platforms. This reduces skill maintenance surface and enables effort-driven resource budgeting within a single skill definition.
Agentic relevance
The `claude ultrareview [target]` command enables review-in-the-loop automation for CI/CD and agent-driven code mutation workflows. Combined with `${CLAUDE_EFFORT}` for skill-level scaling and `AI_AGENT` for traffic attribution, agents can now perform asynchronous code quality gates and surface findings as structured data without user interaction. The PowerShell fallback removes Windows-specific runtime friction, broadening agent deployment scope across platforms.
Hardening & fixes (18)
- 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)
- Spinner tips recommendations hidden when desktop app or skills/agents already installed
- Terminal scroll hint added (PgUp/PgDn) when arrow keys sent instead of scroll events
- Faster session start with many claude.ai connectors configured but not authorized
- Auto mode denial message now links to configuration docs
- `claude plugin validate` now accepts `$schema`, `version`, `description` top-level keys in `marketplace.json` and `$schema` in `plugin.json`
- Auto-compact in auto mode displays `auto` (lowercase) instead of misleading token count
- [VSCode] `/usage` now opens native Account & Usage dialog instead of plain-text output
- [VSCode] Voice dictation respects `language` setting in `~/.claude/settings.json`
Raw changelog
## 2.1.120
- Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
- 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
- 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
- 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
- [VSCode] `/usage` now opens the native Account & Usage dialog instead of returning plain-text session cost
- [VSCode] Voice dictation now respects the `language` setting in `~/.claude/settings.json`
- Fixed `find` in the Bash tool exhausting open file descriptors on large directory trees, causing host-wide crashes (macOS/Linux native builds)