Claude Code v2.1.104
Claude Code v2.1.104
构建日期: 2026-04-12T01:53:39Z
最新更新
2.1.101
- Added
/team-onboardingcommand to generate a teammate ramp-up guide from your local Claude Code usage - Added OS CA certificate store trust by default, so enterprise TLS proxies work without extra setup (set
CLAUDE_CODE_CERT_STORE=bundledto use only bundled CAs) /ultraplanand other remote-session features now auto-create a default cloud environment instead of requiring web setup first- Improved brief mode to retry once when Claude responds with plain text instead of a structured message
- Improved focus mode: Claude now writes more self-contained summaries since it knows you only see its final message
- Improved tool-not-available errors to explain why and how to proceed when the model calls a tool that exists but isn't available in the current context
- Improved rate-limit retry messages to show which limit was hit and when it resets instead of an opaque seconds countdown
- Improved refusal error messages to include the API-provided explanation when available
- Improved
claude -p --resume <name>to accept session titles set via/renameor--name - Improved settings resilience: an unrecognized hook event name in
settings.jsonno longer causes the entire file to be ignored - Improved plugin hooks from plugins force-enabled by managed settings to run when
allowManagedHooksOnlyis set - Improved
/pluginandclaude plugin updateto show a warning when the marketplace could not be refreshed, instead of silently reporting a stale version - Improved plan mode to hide the "Refine with Ultraplan" option when the user's org or auth setup can't reach Claude Code on the web
- Improved beta tracing to honor
OTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_DETAILS, andOTEL_LOG_TOOL_CONTENT; sensitive span attributes are no longer emitted unless opted in - Improved SDK
query()to clean up subprocess and temp files when consumersbreakfromfor awaitor useawait using - Fixed a command injection vulnerability in the POSIX
whichfallback used by LSP binary detection - Fixed a memory leak where long sessions retained dozens of historical copies of the message list in the virtual scroller
- Fixed
--resume/--continuelosing conversation context on large sessions when the loader anchored on a dead-end branch instead of the live conversation - Fixed
--resumechain recovery bridging into an unrelated subagent conversation when a subagent message landed near a main-chain write gap - Fixed a crash on
--resumewhen a persisted Edit/Write tool result was missing itsfile_path - Fixed a hardcoded 5-minute request timeout that aborted slow backends (local LLMs, extended thinking, slow gateways) regardless of
API_TIMEOUT_MS - Fixed
permissions.denyrules not overriding a PreToolUse hook'spermissionDecision: "ask"— previously the hook could downgrade a deny into a prompt - Fixed
--setting-sourceswithoutusercausing background cleanup to ignorecleanupPeriodDaysand delete conversation history older than 30 days - Fixed Bedrock SigV4 authentication failing with 403 when
ANTHROPIC_AUTH_TOKEN,apiKeyHelper, orANTHROPIC_CUSTOM_HEADERSset an Authorization header - Fixed
claude -w <name>failing with "already exists" after a previous session's worktree cleanup left a stale directory - Fixed subagents not inheriting MCP tools from dynamically-injected servers
- Fixed sub-agents running in isolated worktrees being denied Read/Edit access to files inside their own worktree
- Fixed sandboxed Bash commands failing with
mktemp: No such file or directoryafter a fresh boot - Fixed
claude mcp servetool calls failing with "Tool execution failed" in MCP clients that validateoutputSchema - Fixed
RemoteTriggertool'srunaction sending an empty body and being rejected by the server - Fixed several
/resumepicker issues: narrow default view hiding sessions from other projects, unreachable preview on Windows Terminal, incorrect cwd in worktrees, session-not-found errors not surfacing in stderr, terminal title not being set, and resume hint overlapping the prompt input - Fixed Grep tool ENOENT when the embedded ripgrep binary path becomes stale (VS Code extension auto-update, macOS App Translocation); now falls back to system
rgand self-heals mid-session - Fixed
/btwwriting a copy of the entire conversation to disk on every use - Fixed
/contextFree space and Messages breakdown disagreeing with the header percentage - Fixed several plugin issues: slash commands resolving to the wrong plugin with duplicate
name:frontmatter,/plugin updatefailing withENAMETOOLONG, Discover showing already-installed plugins, directory-source plugins loading from a stale version cache, and skills not honoringcontext: forkandagentfrontmatter fields - Fixed the
/mcpmenu offering OAuth-specific actions for MCP servers configured withheadersHelper; Reconnect is now offered instead to re-invoke the helper script - Fixed
ctrl+],ctrl+\, andctrl+^keybindings not firing in terminals that send raw C0 control bytes (Terminal.app, default iTerm2, xterm) - Fixed
/loginOAuth URL rendering with padding that prevented clean mouse selection - Fixed rendering issues: flicker in non-fullscreen mode when content above the visible area changed, terminal scrollback being wiped during long sessions in non-fullscreen mode, and mouse-scroll escape sequences occasionally leaking into the prompt as text
- Fixed crash when
settings.jsonenv values are numbers instead of strings - Fixed in-app settings writes (e.g.
/add-dir --remember,/config) not refreshing the in-memory snapshot, preventing removed directories from being revoked mid-session - Fixed custom keybindings (
~/.claude/keybindings.json) not loading on Bedrock, Vertex, and other third-party providers - Fixed
claude --continue -pnot correctly continuing sessions created by-por the SDK - Fixed several Remote Control issues: worktrees removed on session crash, connection failures not persisting in the transcript, spurious "Disconnected" indicator in brief mode for local sessions, and
/remote-controlfailing over SSH when onlyCLAUDE_CODE_ORGANIZATION_UUIDis set - Fixed
/insightssometimes omitting the report file link from its response - [VSCode] Fixed the file attachment below the chat input not clearing when the last editor tab is closed
2.1.98
- Added interactive Google Vertex AI setup wizard accessible from the login screen when selecting "3rd-party platform", guiding you through GCP authentication, project and region configuration, credential verification, and model pinning
- Added
CLAUDE_CODE_PERFORCE_MODEenv var: when set, Edit/Write/NotebookEdit fail on read-only files with ap4 edithint instead of silently overwriting them - Added Monitor tool for streaming events from background scripts
- Added subprocess sandboxing with PID namespace isolation on Linux when
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBis set, andCLAUDE_CODE_SCRIPT_CAPSenv var to limit per-session script invocations - Added
--exclude-dynamic-system-prompt-sectionsflag to print mode for improved cross-user prompt caching - Added
workspace.git_worktreeto the status line JSON input, set whenever the current directory is inside a linked git worktree - Added W3C
TRACEPARENTenv var to Bash tool subprocesses when OTEL tracing is enabled, so child-process spans correctly parent to Claude Code's trace tree - LSP: Claude Code now identifies itself to language servers via
clientInfoin the initialize request - Fixed a Bash tool permission bypass where a backslash-escaped flag could be auto-allowed as read-only and lead to arbitrary code execution
- Fixed compound Bash commands bypassing forced permission prompts for safety checks and explicit ask rules in auto and bypass-permissions modes
- Fixed read-only commands with env-var prefixes not prompting unless the var is known-safe (
LANG,TZ,NO_COLOR, etc.) - Fixed redirects to
/dev/tcp/...or/dev/udp/...not prompting instead of auto-allowing - Fixed stalled streaming responses timing out instead of falling back to non-streaming mode
- Fixed 429 retries burning all attempts in ~13s when the server returns a small
Retry-After— exponential backoff now applies as a minimum - Fixed MCP OAuth
oauth.authServerMetadataUrlconfig override not being honored on token refresh after restart, affecting ADFS and similar IdPs - Fixed capital letters being dropped to lowercase on xterm and VS Code integrated terminal when the kitty keyboard protocol is active
- Fixed macOS text replacements deleting the trigger word instead of inserting the substitution
- Fixed
--dangerously-skip-permissionsbeing silently downgraded to accept-edits mode after approving a write to a protected path via Bash - Fixed managed-settings allow rules remaining active after an admin removed them, until process restart
- Fixed
permissions.additionalDirectorieschanges not applying mid-session — removed directories lose access immediately and added ones work without restart - Fixed removing a directory from
additionalDirectoriesrevoking access to the same directory passed via--add-dir - Fixed
Bash(cmd:*)andBash(git commit *)wildcard permission rules failing to match commands with extra spaces or tabs - Fixed
Bash(...)deny rules being downgraded to a prompt for piped commands that mixcdwith other segments - Fixed false Bash permission prompts for
cut -d /,paste -d /,column -s /,awk '{print $1}' file, and filenames containing% - Fixed permission rules with names matching JavaScript prototype properties (e.g.
toString) causingsettings.jsonto be silently ignored - Fixed agent team members not inheriting the leader's permission mode when using
--dangerously-skip-permissions - Fixed a crash in fullscreen mode when hovering over MCP tool results
- Fixed copying wrapped URLs in fullscreen mode inserting spaces at line breaks
- Fixed file-edit diffs disappearing from the UI on
--resumewhen the edited file was larger than 10KB - Fixed several
/resumepicker issues:--resume <name>opening uneditable, filter reload wiping search state, empty list swallowing arrow keys, cross-project staleness, and transient task-status text replacing conversation summaries - Fixed
/exportnot honoring absolute paths and~, and silently rewriting user-supplied extensions to.txt - Fixed
/effort maxbeing denied for unknown or future model IDs - Fixed slash command picker breaking when a plugin's frontmatter
nameis a YAML boolean keyword - Fixed rate-limit upsell text being hidden after message remounts
- Fixed MCP tools with
_meta["anthropic/maxResultSizeChars"]not bypassing the token-based persist layer - Fixed voice mode leaking dozens of space characters into the input when re-holding the push-to-talk key while the previous transcript is still processing
- Fixed
DISABLE_AUTOUPDATERnot fully suppressing the npm registry version check and symlink modification on npm-based installs - Fixed a memory leak where Remote Control permission handler entries were retained for the lifetime of the session
- Fixed background subagents that fail with an error not reporting partial progress to the parent agent
- Fixed prompt-type Stop/SubagentStop hooks failing on long sessions, and hook evaluator API errors showing "JSON validation failed" instead of the real message
- Fixed feedback survey rendering when dismissed
- Fixed Bash
grep -f FILE/rg -f FILEnot prompting when reading a pattern file outside the working directory - Fixed stale subagent worktree cleanup removing worktrees that contain untracked files
- Fixed
sandbox.network.allowMachLookupnot taking effect on macOS - Improved
/resumefilter hint labels and added project/worktree/branch names in the filter indicator - Improved footer indicators (Focus, notifications) to stay on the mode-indicator row instead of wrapping at narrow terminal widths
- Improved
/agentswith a tabbed layout: a Running tab shows live subagents, and the Library tab adds Run agent and View running instance actions - Improved
/reload-pluginsto pick up plugin-provided skills without requiring a restart - Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers
- Improved Vim mode:
j/kin NORMAL mode now navigate history and select the footer pill at the input boundary - Improved hook errors in the transcript to include the first line of stderr for self-diagnosis without
--debug - Improved OTEL tracing: interaction spans now correctly wrap full turns under concurrent SDK calls, and headless turns end spans per-turn
- Improved transcript entries to carry final token usage instead of streaming placeholders
- Updated the
/claude-apiskill to cover Managed Agents alongside Claude API - [VSCode] Fixed false-positive "requires git-bash" error on Windows when
CLAUDE_CODE_GIT_BASH_PATHis set or Git is installed at a default location - Fixed
CLAUDE_CODE_MAX_CONTEXT_TOKENSto honorDISABLE_COMPACTwhen it is set. - Dropped
/compacthints whenDISABLE_COMPACTis set.
2.1.97
- Added focus view toggle (
Ctrl+O) inNO_FLICKERmode showing prompt, one-line tool summary with edit diffstats, and final response - Added
refreshIntervalstatus line setting to re-run the status line command every N seconds - Added
workspace.git_worktreeto the status line JSON input, set when the current directory is inside a linked git worktree - Added
● N runningindicator in/agentsnext to agent types with live subagent instances - Added syntax highlighting for Cedar policy files (
.cedar,.cedarpolicy) - Fixed
--dangerously-skip-permissionsbeing silently downgraded to accept-edits mode after approving a write to a protected path - Fixed and hardened Bash tool permissions, tightening checks around env-var prefixes and network redirects, and reducing false prompts on common commands
- Fixed permission rules with names matching JavaScript prototype properties (e.g.
toString) causingsettings.jsonto be silently ignored - Fixed managed-settings allow rules remaining active after an admin removed them until process restart
- Fixed
permissions.additionalDirectorieschanges in settings not applying mid-session - Fixed removing a directory from
settings.permissions.additionalDirectoriesrevoking access to the same directory passed via--add-dir - Fixed MCP HTTP/SSE connections accumulating ~50 MB/hr of unreleased buffers when servers reconnect
- Fixed MCP OAuth
oauth.authServerMetadataUrlnot being honored on token refresh after restart, fixing ADFS and similar IdPs - Fixed 429 retries burning all attempts in ~13 seconds when the server returns a small
Retry-After— exponential backoff now applies as a minimum - Fixed rate-limit upgrade options disappearing after context compaction
- Fixed several
/resumepicker issues:--resume <name>opening uneditable, Ctrl+A reload wiping search, empty list swallowing navigation, task-status text replacing conversation summary, and cross-project staleness - Fixed file-edit diffs disappearing on
--resumewhen the edited file was larger than 10KB - Fixed
--resumecache misses and lost mid-turn input from attachment messages not being saved to the transcript - Fixed messages typed while Claude is working not being persisted to the transcript
- Fixed prompt-type
Stop/SubagentStophooks failing on long sessions, and hook evaluator API errors displaying "JSON validation failed" instead of the actual message - Fixed subagents with worktree isolation or
cwd:override leaking their working directory back to the parent session's Bash tool - Fixed compaction writing duplicate multi-MB subagent transcript files on prompt-too-long retries
- Fixed
claude plugin updatereporting "already at the latest version" for git-based marketplace plugins when the remote had newer commits - Fixed slash command picker breaking when a plugin's frontmatter
nameis a YAML boolean keyword - Fixed copying wrapped URLs in
NO_FLICKERmode inserting spaces at line breaks - Fixed scroll rendering artifacts in
NO_FLICKERmode when running inside zellij - Fixed a crash in
NO_FLICKERmode when hovering over MCP tool results - Fixed a
NO_FLICKERmode memory leak where API retries left stale streaming state - Fixed slow mouse-wheel scrolling in
NO_FLICKERmode on Windows Terminal - Fixed custom status line not displaying in
NO_FLICKERmode on terminals shorter than 24 rows - Fixed Shift+Enter and Alt/Cmd+arrow shortcuts not working in Warp with
NO_FLICKERmode - Fixed Korean/Japanese/Unicode text becoming garbled when copied in no-flicker mode on Windows
- Fixed Bedrock SigV4 authentication failing when
AWS_BEARER_TOKEN_BEDROCKorANTHROPIC_BEDROCK_BASE_URLare set to empty strings (as GitHub Actions does for unset inputs) - Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers (e.g.
LANG=C rm foo,timeout 5 mkdir out) - Improved auto mode and bypass-permissions mode to auto-approve sandbox network access prompts
- Improved sandbox:
sandbox.network.allowMachLookupnow takes effect on macOS - Improved image handling: pasted and attached images are now compressed to the same token budget as images read via the Read tool
- Improved slash command and
@-mention completion to trigger after CJK sentence punctuation, so Japanese/Chinese input no longer requires a space before/or@ - Improved Bridge sessions to show the local git repo, branch, and working directory on the claude.ai session card
- Improved footer layout: indicators (Focus, notifications) now stay on the mode-indicator row instead of wrapping below
- Improved context-low warning to show as a transient footer notification instead of a persistent row
- Improved markdown blockquotes to show a continuous left bar across wrapped lines
- Improved session transcript size by skipping empty hook entries and capping stored pre-edit file copies
- Improved transcript accuracy: per-block entries now carry the final token usage instead of the streaming placeholder
- Improved Bash tool OTEL tracing: subprocesses now inherit a W3C
TRACEPARENTenv var when tracing is enabled - Updated
/claude-apiskill to cover Managed Agents alongside the Claude API
下载平台
| 平台 | 文件 |
|---|---|
| macOS Apple Silicon | claude-darwin-arm64 |
| macOS Intel | claude-darwin-x64 |
| Linux arm64 (glibc) | claude-linux-arm64 |
| Linux x64 (glibc) | claude-linux-x64 |
| Linux arm64 (musl) | claude-linux-arm64-musl |
| Linux x64 (musl) | claude-linux-x64-musl |
| Windows x64 | claude-win32-x64.exe |
SHA256 Checksums
185aabd6d16dacb01a6dd41fc8d8ae5ea78ac8a6a3683caa05b759c47b24de60 claude-darwin-arm64
f1ad0ee6ff3401aceb922cf85ccaf6672a8b894ced23d63ca149d918c01a471d claude-darwin-x64
f0a79ec304334503a563c6d4618b0ea1fcbbe477a047dd3955e2078a3c5559c1 claude-linux-arm64
f5fe84d4b8a5a322b83a8ae63ac117adb143d2a9a0bfd73a201a5201d6423869 claude-linux-x64
86010c0217add5c852cf6af9db4dceaf582a3a327b1d6a4b5cd040583fcbc7ce claude-linux-arm64-musl
c31bb2fb8133a5f3281f496bbf3188a6e7ab685d6fa83d90ab7779c8db7a937b claude-linux-x64-musl
dd575768c8815d26a7771e4648ddc1100cb9f284d761e3c081d9e4b69b3a96a7 claude-win32-x64.exe
395469d75b80a3b1c3dadbb7ca5c93adaf8732c5fc96f1f1ca0b6a3548909141 claude.exe
此版本自动从官方 GCS 存储桶同步