Claude Code Changelog

v2.1.69

2026年3月5日 GitHub で見る

📝 概要

Claude API統合スキル追加、10言語の音声入力対応、多数のメモリリーク修正とパフォーマンス改善を含む大型アップデート

🔄 主な変更点

新機能

  • /claude-api スキル追加:Claude APIとAnthropic SDKでのアプリケーション構築が可能に
  • 音声入力が10言語追加(ロシア語、ポーランド語、トルコ語、オランダ語など、合計20言語対応)
  • /remote-control にカスタムセッション名設定オプション追加
  • ${CLAUDE_SKILL_DIR} 変数でスキル自身のディレクトリ参照が可能に
  • InstructionsLoaded フックイベント追加(CLAUDE.mdや.claude/rules/*.md読み込み時に発火)

セキュリティ修正

  • ネストされたスキル検出で、node_modulesなどのgitignoreディレクトリからスキルが読み込まれる脆弱性を修正
  • 初回実行時に全.mcp.jsonサーバーが黙って有効化される問題を修正

パフォーマンス改善

  • React Compilerによるネイティブバイナリのレンダリング性能向上
  • 長時間セッションでの複数のメモリリーク修正(REPL、チームメイト、フックイベントなど)
  • ベースラインメモリを約16MB削減
  • スピナーアニメーションのCPU負荷軽減

バグ修正

  • macOSキーチェーン破損問題(複数のOAuth MCPサーバー使用時)
  • claude remote-controlがnpmインストール時に即座にクラッシュする問題
  • Shift+Enterで改行が挿入されない問題(Ghostty over SSH)
  • /statsがタイムスタンプ不正なトランスクリプトでクラッシュする問題
  • Windows環境での複数の修正(ワークツリーファイルコピー、グローバル.claudeフォルダ検出など)

その他の改善

  • Sonnet 4.5ユーザーが自動的にSonnet 4.6に移行
  • /resumeピッカーが最新のプロンプトを表示するように変更
  • MCPバイナリコンテンツ処理の改善(PDF、Officeドキュメント、オーディオなど)

💡 解説・活用案

今回のアップデートでは、Claude APIを使ったアプリケーション開発が/claude-apiスキルで大幅に簡易化されました。また、音声入力が20言語対応となり、グローバルな開発チームでの利用が促進されます。長時間セッションでのメモリリーク修正により、安定性が向上し、大規模プロジェクトでも快適に作業できるようになりました。

🌐 日本語訳

変更内容

  • Claude APIとAnthropic SDKを使ったアプリケーション構築のための /claude-api スキルを追加
  • 空のbashプロンプト(!)でCtrl+Uを押すとbashモードを終了できるようになり、escapebackspaceの動作と一致
  • Claudeの対話型質問でオプション選択時にテンキーをサポート(以前はQWERTYキーボードの数字キー列のみ)
  • /remote-controlclaude remote-control にオプションの名前引数を追加(/remote-control My Project または --name "My Project")、claude.ai/codeで表示されるカスタムセッションタイトルを設定可能
  • 音声STTサポートに10言語追加(合計20言語)— ロシア語、ポーランド語、トルコ語、オランダ語、ウクライナ語、ギリシャ語、チェコ語、デンマーク語、スウェーデン語、ノルウェー語
  • エフォートレベル表示(例:"with low effort")をロゴとスピナーに追加し、どのエフォート設定がアクティブかを確認しやすくなった
  • claude --agent 使用時にターミナルタイトルにエージェント名を表示
  • sandbox.enableWeakerNetworkIsolation 設定を追加(macOSのみ)、カスタムMITMプロキシをhttpProxyPortで使用する際に、ghgcloudterraformなどのGoプログラムがTLS証明書を検証できるようになった
  • includeGitInstructions 設定(およびCLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS環境変数)を追加し、Claudeのシステムプロンプトから組み込みのコミットとPRワークフロー指示を削除可能に
  • /reload-plugins コマンドを追加し、再起動なしで保留中のプラグイン変更をアクティブ化
  • macOSとWindowsでClaude Code Desktopを提案する一回限りの起動プロンプトを追加(最大3回表示、解除可能)
  • スキルがSKILL.mdコンテンツ内で自身のディレクトリを参照するための ${CLAUDE_SKILL_DIR} 変数を追加
  • CLAUDE.mdまたは.claude/rules/*.mdファイルがコンテキストに読み込まれたときに発火する InstructionsLoaded フックイベントを追加
  • フックイベントに agent_id(サブエージェント用)と agent_type(サブエージェントおよび--agent用)を追加
  • --worktree セッション実行時のステータスラインフックコマンドに worktree フィールドを追加(名前、パス、ブランチ、元のリポジトリディレクトリを含む)
  • 管理設定に pluginTrustMessage を追加し、プラグインインストール前に表示される信頼警告に組織固有のコンテキストを追記可能に
  • Team planのOAuthユーザーに対してもポリシー制限の取得を追加(リモートコントロール制限など)、Enterpriseだけでなく
  • strictKnownMarketplacespathPattern を追加し、hostPattern 制限と並行してファイル/ディレクトリマーケットプレイスソースを正規表現でマッチング
  • gitリポジトリ内のサブディレクトリを指すプラグインソースタイプ git-subdir を追加
  • MCPサーバー用の oauth.authServerMetadataUrl 設定オプションを追加し、標準的な検出が失敗した場合にカスタムOAuthメタデータ検出URLを指定可能に
  • ネストされたスキル検出でnode_modulesなどのgitignoreされたディレクトリからスキルが読み込まれるセキュリティ問題を修正
  • 初回実行時に全.mcp.jsonサーバーが黙って有効化される信頼ダイアログを修正。期待通りサーバーごとの承認ダイアログが表示されるようになった
  • npmインストール時に「bad option: --sdk-url」でclaude remote-controlが即座にクラッシュする問題を修正(anthropics/claude-code#28334)
  • --model claude-opus-4-0--model claude-opus-4-1 が現行版ではなく非推奨のOpusバージョンに解決される問題を修正
  • 複数のOAuth MCPサーバー使用時のmacOSキーチェーン破損を修正。大きなOAuthメタデータブロブがsecurity -iのstdinバッファをオーバーフローし、古い認証情報が残って繰り返し/loginプロンプトが表示される原因となっていた
  • トークンリフレッシュ中にプロファイルエンドポイントが一時的に失敗した際に.credentials.jsonsubscriptionTypeを失う問題を修正(「Claude Pro」/「Claude Max」ではなく「Claude API」と表示される)(anthropics/claude-code#30185)
  • Linux上でサンドボックス化されたBashコマンド実行後、作業ディレクトリに未追跡ファイルとしてゴーストドットファイル(.bashrcHEADなど)が表示される問題を修正
  • SSH経由のGhosttyでShift+Enterを押すと改行ではなく[27;2;13~が印刷される問題を修正
  • Claude作業中にメッセージを送信するとスタッシュ(Ctrl+S)がクリアされる問題を修正
  • 多数のファイル編集がある長時間セッションでctrl+o(トランスクリプト切り替え)が数秒間フリーズする問題を修正
  • プランモードのフィードバック入力が複数行テキスト入力をサポートしない問題を修正(バックスラッシュ+EnterとShift+Enterで改行を挿入可能に)
  • 入力ボックス上部の空白行にカーソルが移動しない問題を修正
  • トランスクリプトファイルにタイムスタンプが欠落または不正な形式のエントリがある場合に/statsがクラッシュする問題を修正
  • 長時間セッションでストリーミングエラー後に短時間ハングする問題を修正(1行を削除するためにトランスクリプト全体が書き直されていた。現在はその場で切り詰める)
  • --setting-sources user が動的に検出されたプロジェクトスキルをブロックしない問題を修正
  • メインリポジトリ内にネストされたワークツリーから実行した際に、重複したCLAUDE.md、スラッシュコマンド、エージェント、ルールが表示される問題を修正(例:claude -w
  • /plugin 操作後にプラグインのStop/SessionEnd等のフックが発火しない問題を修正
  • 2つのプラグインが同じ${CLAUDE_PLUGIN_ROOT}/...コマンドテンプレートを使用している場合にプラグインフックが黙って削除される問題を修正
  • SDK/CCRの長時間実行セッションで会話メッセージが不必要に保持されるメモリリークを修正
  • ツールバッチの途中で中断されたセッションを再開する際に、フォークされたエージェント(autocompact、要約)でAPI 400エラーが発生する問題を修正
  • 孤立したツール結果から始まる会話を再開する際に「unexpected tool_use_id found in tool_result blocks」エラーが発生する問題を修正
  • Agent toolのnameパラメータを介してチームメイトが誤ってネストされたチームメイトを生成する問題を修正
  • 会話コンパクション中にCLAUDE_CODE_MAX_OUTPUT_TOKENSが無視される問題を修正
  • SDK利用者(Claude Code RemoteウェブUI、VSCode拡張機能)で/compactの要約がユーザーバブルとしてレンダリングされる問題を修正
  • 音声アクティベーション失敗後に音声スペースバーがスタックする問題を修正(モジュール読み込み競合、コールドGrowthBook)
  • Windows上でのワークツリーファイルコピーを修正
  • Windows上でのグローバル.claudeフォルダ検出を修正
  • acceptEditsモードで、シンボリックリンクされた親ディレクトリを介して新しいファイルを書き込むと作業ディレクトリをエスケープできるシンボリックリンクバイパスを修正
  • 管理設定でallowManagedDomainsOnlyが有効な場合、サンドボックスが許可されていないドメインの承認をユーザーに求める問題を修正 — 許可されていないドメインはバイパスなしで自動的にブロックされるようになった
  • 対話型ツール(例:AskUserQuestion)がスキルのallowed-toolsにリストされている場合、許可プロンプトをバイパスして空の回答で実行される問題を修正
  • 作業ツリーに大きな未追跡バイナリファイルがある場合のコミット時に数GBのメモリスパイクが発生する問題を修正
  • 入力ボックスにドラフトテキストがある場合、Escapeキーで実行中のターンが中断されない問題を修正。上矢印キーでキューに入れたメッセージを戻して編集するか、Ctrl+Uで入力行をクリア
  • Remote Controlセッションでローカルスラッシュコマンド(/voice/cost)を実行するとAndroidアプリがクラッシュする問題を修正
  • 長時間セッションでReact CompilerのmemoCacheに古いメッセージ配列バージョンが蓄積するメモリリークを修正
  • 長時間セッション(約1000ターンで約35MB)でREPLレンダースコープが蓄積するメモリリークを修正
  • プロセス内チームメイトで親の完全な会話履歴がチームメイトのライフタイム中ピン留めされ、/clearまたは自動コンパクト後のGCを妨げるメモリ保持を修正
  • 対話モードで長時間セッション中にフックイベントが無制限に蓄積するメモリリークを修正
  • --mcp-configが破損したファイルを指している場合のハングを修正
  • 多くのスキル/プラグインがインストールされている場合の起動速度低下を修正
  • cd <outside-dir> && <cmd>の許可プロンプトで、チェーンされたコマンドを表示せず「Yes, allow reading from /」のみ表示される問題を修正
  • 条件付き.claude/rules/*.mdファイル(paths:フロントマター付き)とネストされたCLAUDE.mdファイルが印刷モード(claude -p)で読み込まれない問題を修正
  • /clearがすべてのセッションキャッシュを完全にクリアせず、長時間セッションでメモリ保持が発生する問題を修正
  • スクロールバック境界でのアニメーション要素によるターミナルのちらつきを修正
  • OAuth付きMCPサーバー使用時のmacOSでのUIフレームドロップを修正(2.1.xからの回帰)
  • 同期デバッグログフラッシュによるタイピング中の時折フレームストールを修正
  • TeammateIdleTaskCompletedフックが{"continue": false, "stopReason": "..."}をサポートしてチームメイトを停止できるよう修正、Stopフックの動作と一致
  • WorktreeCreateWorktreeRemoveプラグインフックが黙って無視される問題を修正
  • コロン付きスキル説明(例:「Triggers include: X, Y, Z」)がSKILL.mdフロントマターから読み込めない問題を修正
  • description:フロントマターフィールドのないプロジェクトスキルがClaudeの利用可能なスキルリストに表示されない問題を修正
  • /contextがMCPサーバーからのすべてのMCPツールで同一のトークン数を表示する問題を修正
  • モデルがGit BashでCMDスタイルの2>nulリダイレクトを使用した場合にWindows上でリテラルnulファイルが作成される問題を修正
  • 展開されたサブエージェントトランスクリプトビュー(Ctrl+O)で各ツール呼び出しの下に余分な空白行が表示される問題を修正
  • /config検索ボックスがフォーカスされているが空の場合、Tab/矢印キーでSettingsタブがサイクルしない問題を修正
  • サービスキーOAuthセッション(CCRコンテナ)がプロファイルスコープエンドポイントからの403で[ERROR]ログをスパムする問題を修正
  • 「Remote Control active」ステータスインジケータの色が一貫していない問題を修正
  • 入力途中で音声入力する際にVoice波形カーソルが最初のサフィックス文字を覆う問題を修正
  • ウォームアップ中にVoice入力が5つすべてのスペースを表示する問題を修正、約2つにキャップするよう変更(「keep holding…」ヒントと整合)
  • スピナーパフォーマンスを改善、50msアニメーションループを周囲のシェルから分離し、ターン中のレンダリングとCPUオーバーヘッドを削減
  • React Compilerを使用したネイティブバイナリでUIレンダリングパフォーマンスを改善
  • 起動パスのgitサブプロセスを削除して--worktree起動を改善
  • 管理設定が解決される際の冗長な設定ファイル再読み込みを削除してmacOS起動を改善
  • Claude.ai enterprise/teamユーザーの場合、不要なキーチェーンルックアップをスキップしてmacOS起動を改善
  • claude.ai設定取得をローカル接続とパイプライン化し、順次バッチングではなく同時実行プールを使用してMCP -p起動を改善
  • ほぼ知覚できないウォームアップパルスアニメーションを削除して音声起動を改善(再レンダリングスタッターの原因となっていた)
  • MCPバイナリコンテンツ処理を改善:PDFやOfficeドキュメント、オーディオを返すツールが、会話コンテキストに生のbase64をダンプする代わりに、デコードされたバイトを正しいファイル拡張子でディスクに保存するようになった。WebFetchも要約と並行してバイナリレスポンスを保存
  • メッセージ更新間でonSubmitを安定化して長時間セッションのメモリ使用量を改善
  • LSPツールレンダリングとメモリコンテキスト構築でファイル全体を読み込まないよう改善
  • セッションアップロードとメモリ同期で、サイズ/バイナリチェック前に大きなファイルをメモリに読み込まないよう改善
  • ファイル操作のパフォーマンスを改善、存在チェックでファイル内容を読み込まないようにした(6箇所)
  • --append-system-prompt-file--system-prompt-fileが対話モードで動作することを明確化するためドキュメントを改善(以前は印刷モードのみと記載されていた)
  • Yoga WASMプリロードを遅延させてベースラインメモリを約16MB削減
  • stream-json出力を使用してSDKおよびCCRセッションのメモリフットプリントを削減
  • 大規模セッション再開時(コンパクト化された履歴を含む)のメモリ使用量を削減
  • より簡潔なサブエージェント最終レポートによりマルチエージェントタスクのトークン使用量を削減
  • Pro/Max/Team PremiumのSonnet 4.5ユーザーが自動的にSonnet 4.6に移行されるよう変更
  • /resumeピッカーが最初のプロンプトではなく最新のプロンプトを表示するよう変更。これにより一部のタイトルが(session)と表示される問題も解決
  • claude.ai MCPコネクタの失敗時に、ツールリストから黙って消える代わりに通知を表示するよう変更
  • 例示コマンド提案をHaikuを呼び出す代わりに決定論的に生成するよう変更
  • コンパクション後の再開時に、続行前のプリアンブル要約を生成しないよう変更
  • [SDK] タスク作成時にactiveFormフィールドを不要に変更 — スピナーはタスクサブジェクトにフォールバック
  • [VSCode] コンパクション表示を折りたたみ可能な「Compacted chat」カードとして追加、内部に要約を表示
  • [VSCode] 許可モードピッカーが有効なClaude Code設定(管理/ポリシー設定を含む)からpermissions.disableBypassPermissionsModeを尊重するように変更 — disableに設定されている場合、バイパス許可モードがピッカーから非表示に
  • [VSCode] チャットパネルでRTLテキスト(アラビア語、ヘブライ語、ペルシャ語)が逆順にレンダリングされる問題を修正(v2.1.63での回帰)
原文(英語)を表示

What's changed

  • Added the /claude-api skill for building applications with the Claude API and Anthropic SDK
  • Added Ctrl+U on an empty bash prompt (!) to exit bash mode, matching escape and backspace
  • Added numeric keypad support for selecting options in Claude's interview questions (previously only the number row above QWERTY worked)
  • Added optional name argument to /remote-control and claude remote-control (/remote-control My Project or --name "My Project") to set a custom session title visible in claude.ai/code
  • Added Voice STT support for 10 new languages (20 total) — Russian, Polish, Turkish, Dutch, Ukrainian, Greek, Czech, Danish, Swedish, Norwegian
  • Added effort level display (e.g., "with low effort") to the logo and spinner, making it easier to see which effort setting is active
  • Added agent name display in terminal title when using claude --agent
  • Added sandbox.enableWeakerNetworkIsolation setting (macOS only) to allow Go programs like gh, gcloud, and terraform to verify TLS certificates when using a custom MITM proxy with httpProxyPort
  • Added includeGitInstructions setting (and CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS env var) to remove built-in commit and PR workflow instructions from Claude's system prompt
  • Added /reload-plugins command to activate pending plugin changes without restarting
  • Added a one-time startup prompt suggesting Claude Code Desktop on macOS and Windows (max 3 showings, dismissible)
  • Added ${CLAUDE_SKILL_DIR} variable for skills to reference their own directory in SKILL.md content
  • Added InstructionsLoaded hook event that fires when CLAUDE.md or .claude/rules/*.md files are loaded into context
  • Added agent_id (for subagents) and agent_type (for subagents and --agent) to hook events
  • Added worktree field to status line hook commands with name, path, branch, and original repo directory when running in a --worktree session
  • Added pluginTrustMessage in managed settings to append organization-specific context to the plugin trust warning shown before installation
  • Added policy limit fetching (e.g., remote control restrictions) for Team plan OAuth users, not just Enterprise
  • Added pathPattern to strictKnownMarketplaces for regex-matching file/directory marketplace sources alongside hostPattern restrictions
  • Added plugin source type git-subdir to point to a subdirectory within a git repo
  • Added oauth.authServerMetadataUrl config option for MCP servers to specify a custom OAuth metadata discovery URL when standard discovery fails
  • Fixed a security issue where nested skill discovery could load skills from gitignored directories like node_modules
  • Fixed trust dialog silently enabling all .mcp.json servers on first run. You'll now see the per-server approval dialog as expected
  • Fixed claude remote-control crashing immediately on npm installs with "bad option: --sdk-url" (anthropics/claude-code#28334)
  • Fixed --model claude-opus-4-0 and --model claude-opus-4-1 resolving to deprecated Opus versions instead of current
  • Fixed macOS keychain corruption when using multiple OAuth MCP servers. Large OAuth metadata blobs could overflow the security -i stdin buffer, silently leaving stale credentials behind and causing repeated /login prompts.
  • Fixed .credentials.json losing subscriptionType (showing "Claude API" instead of "Claude Pro"/"Claude Max") when the profile endpoint transiently fails during token refresh (anthropics/claude-code#30185)
  • Fixed ghost dotfiles (.bashrc, HEAD, etc.) appearing as untracked files in the working directory after sandboxed Bash commands on Linux
  • Fixed Shift+Enter printing [27;2;13~ instead of inserting a newline in Ghostty over SSH
  • Fixed stash (Ctrl+S) being cleared when submitting a message while Claude is working
  • Fixed ctrl+o (transcript toggle) freezing for many seconds in long sessions with lots of file edits
  • Fixed plan mode feedback input not supporting multi-line text entry (backslash+Enter and Shift+Enter now insert newlines)
  • Fixed cursor not moving down into blank lines at the top of the input box
  • Fixed /stats crash when transcript files contain entries with missing or malformed timestamps
  • Fixed a brief hang after a streaming error on long sessions (the transcript was being fully rewritten to drop one line; it is now truncated in place)
  • Fixed --setting-sources user not blocking dynamically discovered project skills
  • Fixed duplicate CLAUDE.md, slash commands, agents, and rules when running from a worktree nested inside its main repo (e.g. claude -w)
  • Fixed plugin Stop/SessionEnd/etc hooks not firing after any /plugin operation
  • Fixed plugin hooks being silently dropped when two plugins use the same ${CLAUDE_PLUGIN_ROOT}/... command template
  • Fixed memory leak in long-running SDK/CCR sessions where conversation messages were retained unnecessarily
  • Fixed API 400 errors in forked agents (autocompact, summarization) when resuming sessions that were interrupted mid-tool-batch
  • Fixed "unexpected tool_use_id found in tool_result blocks" error when resuming conversations that start with an orphaned tool result
  • Fixed teammates accidentally spawning nested teammates via the Agent tool's name parameter
  • Fixed CLAUDE_CODE_MAX_OUTPUT_TOKENS being ignored during conversation compaction
  • Fixed /compact summary rendering as a user bubble in SDK consumers (Claude Code Remote web UI, VSCode extension)
  • Fixed voice space bar getting stuck after a failed voice activation (module loading race, cold GrowthBook)
  • Fixed worktree file copy on Windows
  • Fixed global .claude folder detection on Windows
  • Fixed symlink bypass where writing new files through a symlinked parent directory could escape the working directory in acceptEdits mode
  • Fixed sandbox prompting users to approve non-allowed domains when allowManagedDomainsOnly is enabled in managed settings — non-allowed domains are now blocked automatically with no bypass
  • Fixed interactive tools (e.g., AskUserQuestion) being silently auto-allowed when listed in a skill's allowed-tools, bypassing the permission prompt and running with empty answers
  • Fixed multi-GB memory spike when committing with large untracked binary files in the working tree
  • Fixed Escape not interrupting a running turn when the input box has draft text. Use Up arrow to pull queued messages back for editing, or Ctrl+U to clear the input line.
  • Fixed Android app crash when running local slash commands (/voice, /cost) in Remote Control sessions
  • Fixed a memory leak where old message array versions accumulated in React Compiler memoCache over long sessions
  • Fixed a memory leak where REPL render scopes accumulated over long sessions (~35MB over 1000 turns)
  • Fixed memory retention in in-process teammates where the parent's full conversation history was pinned for the teammate's lifetime, preventing GC after /clear or auto-compact
  • Fixed a memory leak in interactive mode where hook events could accumulate unboundedly during long sessions
  • Fixed hang when --mcp-config points to a corrupted file
  • Fixed slow startup when many skills/plugins are installed
  • Fixed cd <outside-dir> && <cmd> permission prompt to surface the chained command instead of only showing "Yes, allow reading from /"
  • Fixed conditional .claude/rules/*.md files (with paths: frontmatter) and nested CLAUDE.md files not loading in print mode (claude -p)
  • Fixed /clear not fully clearing all session caches, reducing memory retention in long sessions
  • Fixed terminal flicker caused by animated elements at the scrollback boundary
  • Fixed UI frame drops on macOS when using MCP servers with OAuth (regression from 2.1.x)
  • Fixed occasional frame stalls during typing caused by synchronous debug log flushes
  • Fixed TeammateIdle and TaskCompleted hooks to support {"continue": false, "stopReason": "..."} to stop the teammate, matching Stop hook behavior
  • Fixed WorktreeCreate and WorktreeRemove plugin hooks being silently ignored
  • Fixed skill descriptions with colons (e.g., "Triggers include: X, Y, Z") failing to load from SKILL.md frontmatter
  • Fixed project skills without a description: frontmatter field not appearing in Claude's available skills list
  • Fixed /context showing identical token counts for all MCP tools from a server
  • Fixed literal nul file creation on Windows when the model uses CMD-style 2>nul redirection in Git Bash
  • Fixed extra blank lines appearing below each tool call in the expanded subagent transcript view (Ctrl+O)
  • Fixed Tab/arrow keys not cycling Settings tabs when /config search box is focused but empty
  • Fixed service key OAuth sessions (CCR containers) spamming [ERROR] logs with 403s from profile-scoped endpoints
  • Fixed inconsistent color for "Remote Control active" status indicator
  • Fixed Voice waveform cursor covering the first suffix letter when dictating mid-input
  • Fixed Voice input showing all 5 spaces during warmup instead of capping at ~2 (aligning with the "keep holding…" hint)
  • Improved spinner performance by isolating the 50ms animation loop from the surrounding shell, reducing render and CPU overhead during turns
  • Improved UI rendering performance in native binaries with React Compiler
  • Improved --worktree startup by eliminating a git subprocess on the startup path
  • Improved macOS startup by eliminating redundant settings-file reloads when managed settings resolve
  • Improved macOS startup for Claude.ai enterprise/team users by skipping an unnecessary keychain lookup
  • Improved MCP -p startup by pipelining claude.ai config fetch with local connections and using a concurrency pool instead of sequential batching
  • Improved voice startup by removing imperceptible warmup pulse animations that were causing re-render stutter
  • Improved MCP binary content handling: tools returning PDFs, Office documents, or audio now save decoded bytes to disk with the correct file extension instead of dumping raw base64 into the conversation context. WebFetch also saves binary responses alongside its summary.
  • Improved memory usage in long sessions by stabilizing onSubmit across message updates
  • Improved LSP tool rendering and memory context building to no longer read entire files
  • Improved session upload and memory sync to avoid reading large files into memory before size/binary checks
  • Improved file operation performance by avoiding reading file contents for existence checks (6 sites)
  • Improved documentation to clarify that --append-system-prompt-file and --system-prompt-file work in interactive mode (the docs previously said print mode only)
  • Reduced baseline memory by ~16MB by deferring Yoga WASM preloading
  • Reduced memory footprint for SDK and CCR sessions using stream-json output
  • Reduced memory usage when resuming large sessions (including compacted history)
  • Reduced token usage on multi-agent tasks with more concise subagent final reports
  • Changed Sonnet 4.5 users on Pro/Max/Team Premium to be automatically migrated to Sonnet 4.6
  • Changed the /resume picker to show your most recent prompt instead of the first one. This also resolves some titles appearing as (session).
  • Changed claude.ai MCP connector failures to show a notification instead of silently disappearing from the tool list
  • Changed example command suggestions to be generated deterministically instead of calling Haiku
  • Changed resuming after compaction to no longer produce a preamble recap before continuing
  • [SDK] Changed task creation to no longer require the activeForm field — the spinner falls back to the task subject
  • [VSCode] Added compaction display as a collapsible "Compacted chat" card with the summary inside
  • [VSCode] The permission mode picker now respects permissions.disableBypassPermissionsMode from your effective Claude Code settings (including managed/policy settings) — when set to disable, bypass permissions mode is hidden from the picker
  • [VSCode] Fixed RTL text (Arabic, Hebrew, Persian) rendering reversed in the chat panel (regression in v2.1.63)