claude ultrareview CLI Subcommand #
What
Run a cloud-hosted multi-agent code review directly from the command line, without entering an interactive session.
Usage
claude ultrareview # review current branch
claude ultrareview 42 # review PR #42
claude ultrareview main # review against a base branch
claude ultrareview --json # print raw bugs.json payload
claude ultrareview --timeout 45 # wait up to 45 minutes (default: 30)
Details
- Launches a remote multi-agent session that finds and verifies bugs in your branch
- Prints live progress (found, verified, refuted counts) to stderr while waiting
- Outputs formatted findings with file paths, line numbers, and severity (๐ด normal, ๐ก nit, ๐ฃ pre-existing)
- Ctrl-C cancels the wait but leaves the remote review running โ a URL is printed so you can view it in the browser
- The
/ultrareview slash command existed previously; this adds it as a top-level CLI entry point
Evidence
CLI command registered via .command("ultrareview [target]") with .description("Run a cloud-hosted multi-agent code review...") โ search for "ultrareview [target]"
Lean Prompt Mode (Condensed Tool Descriptions) #
What
A new prompt optimization mode that significantly reduces system prompt token usage by sending shorter, denser tool descriptions to capable models.
Usage
CLAUDE_CODE_LEAN_PROMPT=1 claude # force enable via env var
Details
- When active, tool descriptions for Grep, Glob, WebFetch, Write, Edit, WebSearch, TodoWrite, Bash, and the Task/Explore agent are replaced with much shorter versions
- Example: the Grep tool description goes from a multi-paragraph usage guide to a compact 4-line summary
- The Explore agent description is refined to emphasize it is a "read-only search agent" not suitable for code review or cross-file analysis
- Activated by the
CLAUDE_CODE_LEAN_PROMPT environment variable, or gradually rolled out via the tengu_vellum_lantern feature flag - Currently limited to Opus 4.6+ and Opus 4.7 models
Evidence
Lean prompt gate function checks CLAUDE_CODE_LEAN_PROMPT and tengu_vellum_lantern โ search for "CLAUDE_CODE_LEAN_PROMPT"
Memory Write Confirmation Dialog #
What
When Claude writes or edits a memory file, a confirmation dialog now appears showing what was saved, with the option to approve or reject the change.
Details
- Shows "Memory written" or "Memory updated" with a preview of the content (or a one-sentence AI-generated summary for large memories)
- For edits, displays a diff view; for new memories, displays the body text
- Auto-hides after a configurable timeout (default 8 seconds) with a countdown indicator
- Rejecting a memory write undoes the file change (restores the previous content or deletes the file)
- The summary is generated by Sonnet 4.6 for memories exceeding a line threshold (default: 5 lines)
- Controlled by the
tengu_slate_siskin feature flag (disabled by default)
Evidence
Memory write survey infrastructure with approve/reject dialog โ search for "memoryWriteSurvey" and "tengu_slate_siskin"
What
A new internal skill that provides a full reference for the memory type taxonomy โ what each type captures, when to save it, and how to structure the body.
Details
- Not user-invocable directly; Claude uses it automatically before writing a memory file when lean prompts are active
- Enabled when
tengu_ochre_finch flag is active or CLAUDE_CODE_LEAN_PROMPT is set - Replaces the longer inline memory documentation in the system prompt with a shorter summary plus a skill reference
- The system prompt now lists memory types as a compact bulleted list and says "Invoke the
memory-types skill for scope, body structure and examples"
Evidence
Skill registered as "memory-types" with userInvocable: !1 โ search for "memory-types"
Daemon Cold-Start Service Installation Prompt #
What
When no background daemon is running and one is needed, Claude Code now interactively asks whether to install it as a persistent system service.
Usage
No background daemon is running.
Installing it as a service keeps scheduled and remote-control workers running across reboot.
Install as a service now? [Y/n/never, or 'once' for this login session]
Details
Y (default): installs a launchd (macOS) or systemd (Linux) service that persists across rebootonce: spawns a transient daemon for the current login session onlynever: remembers the dismissal and won't ask again (spawns transient)n: does nothing โ the command fails with the original "no daemon running" error- Controlled by the
tengu_quiet_harbor feature flag (determines whether mode is "ask" or "transient") - Also configurable via
CLAUDE_CODE_DAEMON_COLD_START environment variable or settings.daemonColdStart - The daemon auto-uninstalls stale service files that were not created by the current version (tagged with
claude-managed: v1)
Evidence
Interactive prompt with "Install as a service now? [Y/n/never, or 'once' for this login session]" โ search for that string, gated by tengu_quiet_harbor
Chrome Extension: tabs_close_mcp Tool #
What
A new MCP tool that lets Claude close individual tabs in the Chrome tab group by ID.
Details
- Only tabs in the current session's tab group are closable
- Call
tabs_context_mcp first to get valid tab IDs - If you close the group's last tab, Chrome auto-removes the group โ the next
tabs_context_mcp with createIfEmpty starts fresh - Replaces the previous
update_plan tool that was used in the Chrome extension's plan-approval flow
Evidence
Tool registered as "tabs_close_mcp" with title "Tabs Close" โ search for "tabs_close_mcp"
User Deny Rules Awareness in System Prompt #
What
Claude is now informed about the user's configured permission deny rules and instructed to block circumvention attempts.
Details
- The system prompt now includes a section listing all active deny rules
- Claude is instructed to block actions that achieve the same effect via a different tool โ e.g., using
python -c, sed -i, cat >, heredocs, or similar to write a file that an Edit/Write deny rule covers - Only non-internal deny rules are surfaced (rules starting with a specific internal prefix are filtered out)
Evidence
New function builds deny rule text: "User Deny Rules: The user has configured these permission deny rules..." โ search for "User Deny Rules"
hideVimModeIndicator Status Line Setting #
What
A new boolean setting to suppress the built-in -- INSERT -- / -- VISUAL -- vim mode indicator below the prompt.
Usage (in settings):
{
"statusLine": {
"hideVimModeIndicator": true
}
}
Details
- Use this when your custom status line script already renders
vim.mode itself - Prevents duplicate mode indicators when using a custom status line
Evidence
New setting hideVimModeIndicator with .describe("Hide the built-in...") โ search for "hideVimModeIndicator"
CLAUDE_EFFORT System Prompt Substitution #
What
A new ${CLAUDE_EFFORT} template variable is now available in system prompts, dynamically resolved from the session's effort setting.
Details
- The variable is interpolated during session initialization
- Allows system prompts to adapt behavior based on the current effort level
Evidence
Template variable ${CLAUDE_EFFORT} appears in system prompt processing โ search for "CLAUDE_EFFORT"
Renamed "Bash Mode" to "Shell Mode" #
The ! prefix hint has been renamed from "bash mode" to "shell mode" to reflect the broader shell support now available (bash, zsh, sh, and PowerShell on Windows).
Evidence
String changed from "! for bash mode" to "! for shell mode" โ search for "! for shell mode"
Expanded Windows PowerShell Integration #
PowerShell support on Windows has been improved with smarter shell selection and better error handling:
- Shell selection now falls back gracefully: if
defaultShell is set to "bash" but Git Bash isn't installed, PowerShell is used instead, and vice versa - The shell setting description now reads "Defaults to bash (powershell on Windows without Git Bash)"
- Clipboard operations on Windows now use proper argument arrays instead of concatenated strings for safer command execution
- Clear error messages guide users when neither Git Bash nor PowerShell is available:
- "Claude Code on Windows requires either Git for Windows (for bash) or PowerShell"
- Hook errors now suggest "Install Git for Windows, or add
shell: powershell to this hook's config"
Evidence
Shell fallback logic in g24() function โ search for "Git Bash not found" and "CLAUDE_CODE_USE_POWERSHELL_TOOL"
Improved Scroll Wheel Notification #
The scroll wheel arrow-key detection now suggests a simpler fix. The notification has been changed from "run /terminal-setup to fix" to "use PgUp/PgDn to scroll", removing the need for users to run a separate command.
Evidence
String changed from "run /terminal-setup to fix" to "use PgUp/PgDn to scroll" โ search for "PgUp/PgDn to scroll"
Improved Autocompact Notification #
The autocompact notification has been refined:
- Message changed from
"compacted at the auto window (N tokens)" to "compacting at the auto N window ยท configure with /autocompact" - Notification priority changed from "medium" to "immediate" for better visibility
- Now uses the "suggestion" color theme and a 12-second timeout
Evidence
Notification text updated โ search for "compacting at the auto" and "configure with /autocompact"
Better Exit/Detach Labels for Remote Sessions #
When running as a background/remote session with active tasks, the Escape exit message now shows "detach (session keeps running)" instead of "stop session", making it clearer that background work continues after detaching.
Evidence
Dynamic label logic โ search for "detach (session keeps running)" and "stop session"
Richer Tool-Call Labels in Status Display #
AskUserQuestion prompts and Plan-mode submissions now show descriptive labels in the status display:
- Questions show the header/question text (e.g., "Question: Which library?" or "Tap to answer")
- Plan submissions show "Plan ready for review"
Evidence
Label rendering logic โ search for "Tap to answer" and "Plan ready for review"
Hidden Message Count in Focused Mode #
When messages are hidden due to /focus mode, the prompt now displays a count like "3 messages hidden (/focus to show)" to help users know when context has been abbreviated.
Evidence
New label format โ search for "hidden (/focus to show)"
Graceful Marketplace Plugin Degradation #
Plugins with unrecognized source types are now stubbed rather than dropped entirely:
- If a marketplace plugin entry uses a source type not supported by the current Claude Code version, it is preserved as an "unsupported" placeholder
- Installation attempts fail with a clear "update Claude Code and try again" message
- This prevents
detectDelistedPlugins from incorrectly treating it as removed
Evidence
Plugin stubbing logic โ search for "Stubbing unparseable marketplace plugin entry" and "source.source: 'unsupported'"
Daemon CLI Enhancements #
The claude daemon subcommand has been reorganized with new operations:
- New
hub subcommand for interactive daemon management (requires TTY) - New
list subcommand for a flat view across all worker kinds - New
scheduled, assistant, remote-control subcommands for per-kind listing and mutation start and restart subcommands are now explicitly disabled with a clear message: "the daemon runs on demand and exits when the last client disconnects"stop --any can now stop transient (non-service) daemons- Better status output including
pid, version, uptime, origin, and config path - Auto-uninstalls stale service files from previous Claude Code versions
Evidence
Help text registered as "Usage: claude daemon [subcommand] [options]..." โ search for that string
Improved Explore Agent Description #
The Explore (search) agent description has been rewritten to be more precise about its limitations: it is now described as a "read-only search agent" that should NOT be used for "code review, design-doc auditing, cross-file consistency checks, or open-ended analysis" since it "reads excerpts rather than whole files and will miss content past its read window."
Evidence
New description string โ search for "read-only search agent"
Feedback Submission Now Tracks Surface Origin #
The /feedback submission now records the surface field (e.g., "cli") to distinguish reports from different Claude Code surfaces (terminal, CCD, CCW). This helps the triage pipeline route reports correctly.
Evidence
surface parameter in feedback payload โ search for "Where the feedback flow was initiated"
File Watcher Error Handling #
Multiple subsystems now log warnings on file watcher errors instead of crashing:
[settings] watcher error: for settings file changes[skills] watcher error: for skill file changes[theme] watcher error: for theme file changes[jobStateNameSync] watcher error: for job state changes[useBgSessionPr] watcher error: for background session PR changesFileChanged: watcher error: for general file change detection
Evidence
Search for "watcher error:" in the string diff
Agent Auto-Relaunch Tracking #
A new CLAUDE_AGENTS_AUTO_RELAUNCHED_AT environment variable is set when an agent is automatically relaunched, allowing detection and prevention of relaunch loops.
Evidence
New env var โ search for "CLAUDE_AGENTS_AUTO_RELAUNCHED_AT"
The getUsername() function now validates the system username against a safe regex pattern and falls back to "claude-code-user" if it contains unexpected characters, preventing potential issues with unusual usernames.
Evidence
Username validation with regex test โ function xe() at line ~104573