← All changelogs v2.1.212 claude · claude-sonnet-4-6
Claude Code · Source-level changelog

Version 2.1.212

This release introduces a major feedback system where Claude can draft bug reports and feature requests for user review, adds a /fork command to split a conversation into a background session, and ships a comprehensive Windows sandbox installation workflow. The entire context-tips system (proactive spinner tips) was removed and replaced with nothing yet visible, and the propose_skills tool was added so Claude can surface recurring procedures as skill candidates.

Official notes ✓ synced Package @anthropic-ai/claude-code Diff v2.1.211 → v2.1.212Provider claudeModel claude-sonnet-4-6
23
Features & Changes
4
Bug Fixes
2
In Development
0
Env Vars / Flags

Official Changelog

Official · Anthropic
Anthropic’s official release notes
Published verbatim by Anthropic for v2.1.212 — shown here alongside the source-level analysis below. Text is unmodified from the upstream changelog.
View on GitHub ↗
  • /fork now copies your conversation into a new background session (its own row in claude agents) while you keep working; the in-session subagent it used to launch is now /subtask
  • Added claude auto-mode reset to restore the default auto-mode configuration, with a confirmation prompt (pass --yes to skip)
  • Added a session-wide limit on WebSearch tool calls (default 200, tunable via CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) to stop runaway search loops
  • Added a per-session cap on subagent spawns (default 200, override with CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION) to stop runaway delegation loops; /clear resets the budget
  • MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable; configure the threshold or disable with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS
  • Typing /resume in the agent view now opens a picker of past sessions — including sessions deleted from the list — and resumes your pick as a background session
  • Fixed plan mode auto-running file-modifying Bash commands (e.g. touch, rm) without a permission prompt or SDK canUseTool callback
  • Fixed worktree creation following a repository-committed symlink at .claude/worktrees, which could create files outside the repository
  • Fixed a continue:false hook's halt being dropped when the tool fails or completes mid-stream, and hook infrastructure errors being misreported as user rejections
  • Fixed SIGTERM during a running Bash tool orphaning the command's process tree in print/SDK mode; the CLI now aborts the turn, kills the tree, and exits 143
  • Fixed /background and claude --bg failing with "EUNKNOWN: unknown error, uv_spawn" on Windows when Group Policy blocks PowerShell 5.1; the daemon now prefers PowerShell 7
  • Fixed shell mode (!) not executing commands containing file paths while the path autocomplete popup was open
  • Fixed auto-mode denial notifications rendering broken characters when a long denial reason was truncated mid-emoji
  • Fixed Ctrl+J not inserting a newline in the agent view dispatch input on terminals with extended key reporting, and surfaced the newline shortcut in the ? help overlay
  • Fixed /ultrareview rejecting PR references like #123, PR 123, and pasted PR URLs; error hints now name the command you actually typed
  • Fixed /ultrareview <branch> not fetching the branch from origin when it exists remotely; it now suggests the closest branch name on typos
  • Fixed /ultrareview skipping the billing confirmation in a new conversation after /clear
  • Fixed /ultrareview's "not a git repository" error on Claude Desktop now suggesting the project's repository folder instead of terminal commands
  • Fixed hosted (host-managed) sessions failing at startup when repository settings configured mTLS certs, extra CA bundles, or OAuth scopes; these transport settings are now ignored with a warning
  • Fixed a spurious "File has not been read yet" error when editing a file that had been read with offset/limit before resuming a session
  • Fixed ExitWorktree failing with "no active EnterWorktree session" after resuming a session with --continue/--resume in print/SDK mode
  • Fixed the workflow agent grid staying empty for Remote Control clients that join a session mid-run
  • Fixed streaming-mode control requests being marked complete before their handler finished, which could lose the request on session restart
  • Fixed background sessions created with /fork losing their live-parent protection after a state write failure
  • Fixed reopening a stopped background session from the agent view failing silently — it now resumes the session, or shows why it can't and lets you force a restart
  • Fixed agent teams: a stopping teammate could send the leader duplicate idle notifications when team initialization re-ran within a session
  • Fixed the plan-approval dialog footer splitting "ctrl+g to edit in <editor>" apart when the file path is long
  • Fixed the welcome banner keeping its old panel widths after a combined width+height terminal resize in fullscreen mode
  • Fixed diff previews losing their line numbers and +/- markers in narrow layouts
  • Fixed @-mentions attaching nothing after a partial file read, plugin uninstall targeting the wrong marketplace, and false "Command timed out" on exit code 143
  • Fixed OpenTelemetry HTTP exports being rejected with 411/400 by Azure Monitor and other endpoints that don't accept chunked transfer encoding
  • Fixed OTLP event log records missing trace_id/span_id when TRACEPARENT is set in SDK/headless mode
  • Fixed conversations with many images incorrectly failing with "Request too large" errors, and improved the error message to explain the actual cause
  • Fixed web search and web fetch returning "API Error" text as search results or page content when the API was overloaded
  • Improved web search and web fetch reliability by retrying 529 errors and rate-limited requests with bounded backoff
  • Improved prompt caching: the mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P)
  • Improved background agent attach: cold-attaching now instantly shows the formatted transcript while the session boots, instead of a blank wait
  • Reduced token usage in inter-agent messaging: SendMessage bodies are no longer duplicated into replayed history and tool results
  • Changed /fork to name the copy after your prompt when the session has no title, so the row is recognizable in the agent view
  • Changed bare /btw to reopen the side-question panel on your most recent exchange so you can browse earlier answers
  • Changed the footer hint to pulse N done for a moment when a background agent finishes while nothing needs your input
  • Deprecated the Task tool's mode parameter (now ignored); subagents inherit the parent session's permission mode by default
  • Changed Enterprise forceLoginMethod to be enforced for VS Code extension, SDK, setup-token, and install-github-app logins, not just the terminal
  • Changed session transcripts to record the reasoning effort level on each assistant message
  • Changed headless/SDK sessions to apply a set_model control request mid-turn; the next model round-trip uses the new model instead of waiting for the next turn
  • Changed agent view / claude agents --json: sessions waiting on a sandbox, MCP-input, or managed-settings prompt now show as "Needs input" instead of "Working"
  • Updated the auth status panel title from "Cloud authentication" to "Authentication"
  • Corrected an earlier release note (2.1.200): tmux through the 3.6 series lacks synchronized output; newer tmux with support is detected automatically
Source: anthropics/claude-code · CHANGELOG.md · 48 entries · synced automatically when Anthropic publishes official notes for a version.
Source-Level Analysis
Reverse-engineered from a diff of the bundled CLI — deeper, structured detail. Unofficial.

New Features

10 items

SendFeedback Tool and /feedback Command #

New

Claude now has a SendFeedback tool that lets it draft product feedback or bug reports at high-signal moments — such as after encountering a recurring issue or completing a complex workflow. Drafts are written locally and never sent without your review.

Usage
/feedback        # review and send queued feedback drafts
/bug             # same as /feedback, also aliased to /share
Details
  • Claude drafts feedback silently without announcing it. A counter in the footer shows when drafts are queued.
  • The /feedback panel lets you review, edit, or discard each draft before sending. You can toggle transcript inclusion, edit the title/details/area, and choose the type (bug report vs. feature request).
  • Drafts expire after 30 days and live only on your machine.
  • The tool is rate-limited: Claude can queue at most N drafts per session. Once the limit is reached, existing queued drafts are unaffected.
  • A "quiet" mode and "off" mode are configurable in settings (model-drafted feedback setting).
  • Transcript content from third-party providers is withheld from submissions for privacy.
Evidence

"Queue a draft product-feedback report about Claude Code itself for the user to review and send later. Nothing is sent anywhere by this tool — it writes a local draft the user can review, edit, and explicitly send with /feedback." (search for "SendFeedback")

/fork Command #

New

New /fork command copies the current conversation into a new background session, letting you branch off to explore an idea or delegate work without interrupting the main thread.

Usage
/fork                        # fork with no initial prompt
/fork <prompt>               # fork and immediately send the prompt to the copy
Details
  • The fork starts with your full conversation history up to this point.
  • The forked session runs as a background agent — check on it with claude attach or the agent view.
  • Cannot fork if session persistence is off, or if the session was started with certain launch flags (safe mode, custom system prompt, tool allowlist) that the copy wouldn't inherit.
  • The fork tip: "(← moves this session into the agent view too) · tip: /fork \<prompt\> starts the copy working right away"
Evidence

"Copy this conversation into a new background session and keep working here" (search for "fork" in command definitions)

/subtask Command #

New

New /subtask command sends a subagent off with your full conversation context; its result lands back in the current session.

Usage
/subtask <task>
Details
  • The subagent runs synchronously and its result returns inline to the current conversation.
  • Not available in coordinator sessions — use /branch there instead.
  • Cannot be started before the first conversation turn.
Evidence

"Send a subagent off with your full context; its result comes back here" (search for "subtask")

Auto-mode Setup (/auto-mode-setup) #

New

New /auto-mode-setup command scans your repository and recent sessions, then generates a proposed auto-mode configuration for your review. The scan runs in the background; a review card pops up when it's ready.

Usage
/auto-mode-setup             # scan and propose auto-mode rules
/auto-mode                   # inspect or reset current auto-mode configuration
Details
  • If your GitHub org is accessible, the scan also reviews org-level patterns.
  • The proposal includes new auto-approve rules and may flag existing permissions.allow entries for removal.
  • After reviewing the proposal, you can accept, decline, or discard it. Only accepting writes to your settings file.
  • /auto-mode reset removes the autoMode section from your user settings, restoring shipped defaults.
  • Managed settings auto-mode rules always apply regardless of reset.
  • Only one setup scan can run at a time; a second /auto-mode-setup while a scan is active shows status.
Evidence

"Gathering data and drafting your auto-mode setup; back soon" (search for "auto-mode-setup")

Propose Skills Tool #

New

Claude now has a propose_skills tool that surfaces recurring multi-step procedures from the session as skill proposals. A review card appears in the conversation; nothing is written until you approve.

Details
  • Claude uses this tool when you ask to turn a workflow into a skill, or when it notices the same procedure has recurred.
  • The card shows up to 3 proposals at once.
  • Render-only — selecting a proposal on the card triggers the actual skill-save flow.
Evidence

"Surface recurring multi-step procedures from this session as skill proposals. Render-only — calling this shows a review card in the conversation; it does not write any files or create the skill." (search for "propose_skills")

Windows Sandbox Installation #

New

Windows sandbox support now includes a full one-time install flow that sets up a dedicated sandbox user and WFP (Windows Filtering Platform) network filters.

Usage
/sandbox install             # install sandbox user and WFP network filters
/sandbox                     # check current sandbox status
Details
  • Requires administrator privileges for the initial install (an elevation prompt appears).
  • After install: Sandbox user and network filters installed — confirmed via /sandbox.
  • If the elevation prompt was missed: re-run /sandbox install and approve within a minute.
  • WFP filter installation is idempotent; passing force: true replaces existing filters if the port range or sandbox user name changed.
  • New error classes: SandboxCommandTooLongError (command too long for the OS argv limit — write to a file instead), SandboxPolicyRefusalError (enterprise policy blocks the command), SandboxUnavailableForShellError (shell not sandboxable).
  • PowerShell commands on Windows are labeled PowerShell command (unsandboxed) to clarify they bypass the sandbox.
  • Feature-gated via tengu_nankeen_kestrel.
Evidence

"Windows sandbox needs a one-time install." (search for "srt-win install" and "ClaudeCodeSandbox")

Persistent File-Based Memory (tengu_stone_shell) [Gradual Rollout] #

New

A new memory system gives Claude a persistent, file-based scratchpad stored in a configurable memory directory. Information saved there carries over to future sessions.

Details
  • Enabled by the tengu_stone_shell feature flag.
  • Claude receives detailed guidance on what makes a good memory: applicable (prevents repeated mistakes), durable (recurring workflows), and legible (self-contained, full sentences).
  • Claude is instructed to write memory before the end of any turn where the user corrects it or it discovers something new about the environment.
  • Memory files use markdown with frontmatter (name, description keys).
  • This is separate from the existing #/memory shortcut system; it's a lower-level persistent layer.
Evidence

"You have a persistent, file-based memory stored at {memory_dir}." (search for "TVh" or "tengu_stone_shell")

Artifact Syntax Highlighting (tengu_artifact_hljs_highlight) #

New

Published artifacts that contain fenced code blocks now include an inline highlight.js (hljs) runtime for client-side syntax highlighting. The runtime is appended only when the artifact contains recognizable language classes.

Details
  • Feature-flagged via tengu_artifact_hljs_highlight (default: true).
  • The hljs bundle is loaded from /$bunfs/root/hljsBundle.generated.min.js and embedded inline so artifacts remain standalone.
  • A per-artifact token budget limits how much code gets highlighted to keep page load fast.
  • The runtime is validated before injection; unsafe bundles are rejected.
  • The artifact footer note now reads: "— includes the inline syntax-highlight runtime (~1MB), appended because the page contains fenced code"
Evidence

"bundle contains an hljs runtime sentinel" (search for "tengu_artifact_hljs_highlight")

Claude Code Insights Report #

New

New /auto-mode-setup scanning infrastructure also powers a "Claude Code Insights" HTML artifact — a richly styled personal usage report with charts, statistics, and AI-generated analysis.

Details
  • Shows total messages, lines added/removed, files modified, days active, messages per day.
  • Sections: What You Work On, How You Use Claude Code, Impressive Things You Did, Where Things Go Wrong, Features to Try, New Ways to Use Claude Code, On the Horizon, Team Feedback.
  • Includes "At a Glance" summary, tool usage charts, language distribution, session types, user response time distribution, and multi-clauding (parallel session) detection.
  • Features a time-of-day histogram with timezone selector (PT, ET, London, CET, Tokyo, custom).
  • Suggested CLAUDE.md additions are shown with checkboxes and a "Copy All Checked" button.
Evidence

"Claude Code Insights" title in generated HTML (search for "Claude Code Insights")

GrowthBook Authenticated Feature Flag Fetch [Gradual Rollout] #

New

GrowthBook feature flag evaluation can now use an authenticated endpoint (/api/eval-authed/) that attaches your auth headers, enabling per-user flag targeting. Falls back to the unauthenticated /api/eval endpoint on any error.

Details
  • Controlled by tengu_gb_eval_authed_enable (default: false).
  • When enabled, GrowthBook's fetchRemoteEvalCall hook is monkey-patched once at startup (idempotent — a boolean sentinel prevents double-installation). Subsequent feature-flag evaluations POST to <host>/api/eval-authed/<clientKey> instead of the standard <host>/api/eval/<clientKey>.
  • Auth headers are sourced from the user's current authentication state via getAuthHeaders(): an OAuth access token adds Authorization: Bearer <token> and the anthropic-beta header; an API key adds x-api-key; gateway or third-party provider sessions attach no auth headers, leaving the request functionally unauthenticated despite hitting the authed endpoint.
  • On non-2xx response: logs "GrowthBook eval-authed returned non-ok; falling back to /api/eval" and re-runs the call via the original unauthenticated path.
  • On network or exception error: logs "GrowthBook eval-authed fetch threw; falling back to /api/eval" and falls back similarly.
Evidence

"GrowthBook eval-authed fetch threw; falling back to /api/eval" (search for "/api/eval-authed/")

Improvements

13 items

Ultrareview Auto-Fetches Missing Branches #

New

When /code-review ultra or /review can't find the specified base branch, it now attempts to auto-fetch it from origin before failing. If fetch succeeds, the review proceeds without user intervention.

Details
  • Uses git ls-remote --heads origin <branch> to check existence, then git fetch ... refs/heads/<branch>:refs/remotes/origin/<branch>.
  • If the branch exists on origin but couldn't be fetched: "<branch>" exists on origin but couldn't be fetched. Run \git fetch origin <branch>\ and try again.
  • If the branch name looks like a typo, Claude now suggests the closest branch: "<name>" is not a branch in this repo. Did you mean \<suggestion>\?
  • Shallow clone detection: if fetch succeeds but no merge-base exists, suggests git fetch --unshallow origin.
Evidence

"exists on origin but couldn't be fetched. Run \git fetch origin" (search for "JI_"`)

Shell CWD Read-back Validation #

New

The shell's current working directory reported back after commands is now validated against several conditions before being trusted. Ignored cases are logged at warn level:

  • Contains a dot-segment (/./ or /../)
  • Is a network path (UNC path on Windows)
  • Crosses a foreign automount host
  • Resolves through a network symlink or junction
  • Is not an absolute path
  • Is not a directory (stat check)
  • Is not readable
Evidence

"shell cwd read-back contains a dot-segment; ignoring" (search for "dwu")

Per-Turn Effort Control #

New

The API request builder now supports a per_turn_effort capability: when the server reports it supports per-turn effort, Claude sends an outputConfig.effort field on system-turn messages. If the server rejects this (400 with "effort parameter" and "not support"), the effort field is stripped and the model is added to a permanent blocklist for the session.

Evidence

"rejected output_config.effort; latching unsupported and retrying without it." (search for "per_turn_effort")

Cache Control Demotion on Mid-Conversation System #

New

When the API rejects cache_control on a mid-conversation system turn with an "additional properties", "unknown field", or similar error, Claude now detects this and demotes the cache breakpoint to the trailing message rather than the system block. Logged as: [mid-conv-system] proxy rejected cache_control on the api_system tail — demoting the breakpoint to the trailing message for this conversation.

Evidence

"retry:api-system-cache-demote" (search for "q9i")

Login Method Enforcement Improvements #

New

forceLoginMethod settings are now validated per-session with clearer error messages:

  • forceLoginMethod is 'claudeai' in <settings>; log in with a Claude.ai subscription account instead.
  • forceLoginMethod is 'console' in <settings>; log in with an Anthropic Console account instead.
  • forceLoginMethod is 'gateway' in managed settings; run /login from an interactive terminal to authenticate.
  • When CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST is set, the login method is not enforced and a warning is logged.
Evidence

"forceLoginMethod is 'claudeai' in" (search for "_tt")

Subagent Mode Parameter Deprecated #

New

The mode parameter for the Agent tool in teammate/subagent contexts is now marked as deprecated: "Deprecated; ignored. Subagents inherit the parent session's permission mode; agent-definition frontmatter may override it." Previously this produced different error text referencing mode as unavailable.

Evidence

"Deprecated; ignored. Subagents inherit the parent session's permission mode" (search for the string directly)

MCP WebSocket Subprotocol Support #

New

MCP WebSocket connection errors now include the list of subprotocols offered by the server when relevant. The message format is (subprotocols: "proto1", "proto2") appended to connection error text.

Evidence

"(subprotocols:" (search for "Nxu")

Git Config Remote URL Parser #

New

A new native git config parser (W_s) replaces reliance on spawning git config to read remote URLs. It correctly handles quoted values, escape sequences, section headers with subsection names, and continuation lines.

Evidence

Internal function reading [remote "..."] sections (search for "W_s")

Fork Session Safety Checks #

New

/fork refuses in additional edge cases with clear messages:

  • Session not yet saved: "Couldn't fork — this conversation is still being saved. Try again in a moment."
  • No messages yet: "Nothing to fork yet — send a message first."
  • Session started with incompatible launch flags: describes which flags prevent inheritance.
Evidence

"Cannot fork — session persistence is off, so the new session would have nothing to start from." (search for "Cannot fork")

Resume Session at Flag #

New

New CLI flag --resume-session-at=<message-uuid> for resuming a session starting at a specific point in the transcript.

Details
  • Must be combined with --resume; without it Claude Code exits immediately with Error: --resume-session-at requires --resume.
  • The value is the uuid field of a specific message in the saved transcript — not a timestamp, ordinal index, or boundary marker.
  • When the UUID is found, the loaded transcript is sliced to include only messages up to and including that message (messages.slice(0, index + 1)), so the resumed session behaves as if the conversation ended exactly at that point.
  • When the UUID is not found in the transcript, Claude Code exits with No message found with message.uuid of: <value> and a non-zero exit code.
  • Available in the TypeScript SDK as the resumeSessionAt option on the session options object; the SDK translates it to --resume-session-at=<value> in the subprocess argument list.
  • The flag is hidden from --help output (.hideHelp()); the internal help string reads: "When resuming, only messages up to and including the assistant message with <message.id>".
Evidence

--resume-session-at <message id> CLI option definition and the c.messages.findIndex((d) => d.uuid === t.resumeSessionAt) slicing inside loadInitialMessages / dqf (search for "resume-session-at")

CLAUDE_CODE_TMPDIR Environment Variable #

New

New CLAUDE_CODE_TMPDIR environment variable lets you override the temporary directory used by Claude Code (defaults to os.tmpdir()).

Evidence

Z.CLAUDE_CODE_TMPDIR (search for "CLAUDE_CODE_TMPDIR")

CLAUDE_CODE_SIMPLE Environment Variable #

New

New CLAUDE_CODE_SIMPLE environment variable for enabling a simplified mode.

Details
  • Activated by setting CLAUDE_CODE_SIMPLE=1 in the environment or by passing the --bare CLI flag; both paths go through cf(), which returns true for either.
  • When active, the following subsystems are disabled: CLAUDE.md reading, skills discovery, plugins, syntax-highlight language packs (hljsLanguages), hooks, MCP agent frontmatter, agent definitions, and LSP servers.
  • The following subsystems remain enabled in simple mode: workflows, themes, status line, file suggestions, auto-discovered MCP, Claude.ai MCP, output styles, and keybindings.
  • Authentication is narrowed to the minimum: OAuth (Claude.ai login) is bypassed entirely; only ANTHROPIC_API_KEY or an apiKeyHelper-sourced key is accepted. The normal managed-key and OAuth token paths return null.
  • Auto-memory (persistent write-after-turn memory) is unconditionally disabled regardless of other memory settings or the CLAUDE_CODE_DISABLE_AUTO_MEMORY env var.
  • Several background startup jobs are skipped: plugin hook setup and hot-reload, session file access hooks, release-notes prefetch, and memory extraction after turns.
  • In coordinator/multi-agent mode, worker tool guidance is abbreviated: workers are described as having access only to bash, computer-use, read/write tools, and connected MCP tools — the Skill and Workflow tools are omitted from the listing.
  • Forking is refused: /fork exits with "Cannot fork — this session was started with launch flags (safe or bare mode, a custom system prompt, a tool allowlist, or restricted settings) that the copy wouldn't inherit…"
Evidence

function cf() { return qt(process.env.CLAUDE_CODE_SIMPLE) || fsi("--bare"); } and the Ffg feature-disable map at ZT initialization (search for "CLAUDE_CODE_SIMPLE" and "Ffg")

Bug Fixes

4 items
  • Fixed OTLP telemetry requests failing with missing Content-Length header when the request body was written in chunks rather than all at once. (search for "OTLP request body chunk conversion failed")
  • Fixed proxy auth helper TTL parsing to accept 0 as a valid value (previously 0 was silently ignored and defaulted to the built-in TTL). (search for "CLAUDE_CODE_PROXY_AUTH_HELPER_TTL_MS")
  • Fixed shell CWD read-back accepting network paths and automount-crossing paths that could cause incorrect directory resolution on Windows and NFS setups. (search for "shell cwd read-back is a network path")
  • Fixed cache_control being rejected by some proxies when sent on the api_system message tail; Claude now gracefully demotes the breakpoint and continues the conversation without interruption. (search for "retry:api-system-cache-demote")

Removed

2 items

Context Tips System Removed #

Dev

The entire proactive context-tips system (spinner tips) has been removed. This system used a side-call AI classifier to detect friction patterns in your conversation and surface relevant tips (e.g., "you're doing Y — X would help"). The classifier, tip catalog, reception scoring, and all tip-related UI code are gone from this version.

The tip catalog included situations like: correction spirals, large context windows, opus-on-pro near limit, workflow orchestration, tmux users, and more. These tips will no longer appear.

Evidence

All [context-tips] log strings removed (search for "[context-tips]" — absent in new version)

Agentic Session Search Removed #

Dev

The AI-powered session search feature (which used a subagent with Grep/Read tools to find matching sessions) has been removed. The /resume UI now loads past sessions by listing them directly rather than running an agentic search.

Evidence

"Agentic search found", "Agentic search response:", "agenticSessionSearch: query loop failed" — all removed (search for "C4o" — absent in new version)

Notes

The context-tips removal is the largest behavioral change in this release. If you relied on proactive tips appearing during conversations to discover features, those will no longer show. The feature infrastructure (tip catalog, classifier prompt) has been fully removed rather than just disabled.

The Windows sandbox (/sandbox install) requires administrator rights for the one-time setup. If your machine is managed and the elevation prompt doesn't appear or is blocked, contact your administrator and point them to https://code.claude.com/docs/en/sandboxing.