Claude Code Changelog·2026年4月23日 09:42·約5分
バージョン v2.1.118
TL;DR
AnthropicはClaude CLIのバージョンv2.1.118を公開し、vim風のビジュアルモードと統計コマンドの統合、カスタムテーマ管理機能を追加した。
変更内容
- 選択、演算子、視覚的フィードバックを備えたビジュアルモード (v) とビジュアルラインモード (V) を追加
- /cost と /stats を /usage にマージ — 両方とも関連タブを開くタイピングショートカットとして機能し、維持されます
- /theme から名前付きのカスタムテーマを作成・切り替えするか、~/.claude/themes/ 内の JSON ファイルを手動で編集できます。プラグインも themes/ ディレクトリ経由でテーマを提供可能です
- フックは type: "mcp_tool" を介して MCP ツールを直接呼び出せるようになりました
- 手動の claude update を含むすべての更新パスを完全にブロックする DISABLE_UPDATES 環境変数を追加 — これは DISABLE_AUTOUPDATER よりも厳格です
- Windows 上の WSL は、wslInheritsWindowsSettings ポリシーキーを介して Windows 側の管理設定を引き継げるようになりました
- Auto モード: autoMode.allow、autoMode.soft_deny、または autoMode.environment に "$defaults" を含めることで、組み込みリストを置き換えるのではなく、その alongside にカスタムルールを追加できます
- Auto モードのオプトインプロンプトに「次回から表示しない」オプションを追加
- バージション検証付きでプラグインのリリース git タグを作成するための claude プラグインタグを追加
- --continue/--resume は、/add-dir 経由で現在のディレクトリを追加したセッションを検出するようになりました
- /color は、Remote Control が接続されている場合、セッションのアクセントカラーを claude.ai/code に同期するようになりました
- /model ピッカーは、カスタム ANTHROPIC_BASE_URL ゲートウェイを使用する場合、ANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTION のオーバーライドを尊重するようになりました
- 別のプラグインのバージョン制約によりプラグインの自動更新がスキップされた場合、そのスキップは /doctor と /plugin エラータブに表示されるようになりました
- ヘッダーヘルパーで構成されたサーバー、およびカスタムヘッダーを持つHTTP/SSE MCPサーバーにおいて、一時的な401エラー発生後に「認証が必要」状態から抜け出せず、OAuth認証/再認証アクションが/mcpメニューで非表示になっていた問題を修正しました。
- OAuthトークンレスポンスにexpires_inフィールドが含まれておらず、毎時間ごとに再認証を要求していたMCPサーバーの問題を修正しました。
- サーバーから返されるinsufficient_scope 403エラーで指定されたスコープを、現在のトークンが既に保持している場合、MCPのステップアップ認証が再同意を促す代わりに静かにトークンを更新していた問題を修正しました。
- MCPサーバーのOAuthフローがタイムアウトまたはキャンセルされた際に、未処理のプロミス拒否(Unhandled Promise Rejection)が発生していた問題を修正しました。
- 競合発生時にクロスプロセスロックなしでMCP OAuthのトークン更新が実行されていた問題を修正しました。
- macOSキーチェーンにおける競合状態(Race Condition)を修正しました。並行して実行されるMCPトークン更新が、新しく更新されたOAuthトークンを上書きし、予期しない「/loginを実行してください」プロンプトを引き起こす問題を解決しました。
- サーバーがローカル有効期限前にトークンを失効させた場合、OAuthトークンの更新処理が失敗していた問題を修正しました。
- Linux/Windows環境で~/.claude/.credentials.jsonファイルが破損する原因となっていた、資格情報の保存時のクラッシュ問題を修正しました。
- CLAUDE_CODE_OAUTH_TOKEN環境変数付きでセッションを開始した場合、/loginコマンドが機能しなかった問題を修正しました。環境変数内のトークンはクリアされ、ディスク上の資格情報が有効になるようになりました。
- 「新しいメッセージ」のスクロールピルおよび/pluginバッジでテキストが読めなかった問題を修正しました。
- --dangerously-skip-permissionsオプションで実行している際、プラン承認ダイアログが「権限をバイパス」ではなく「自動モード」を提供していた問題を修正しました。
- Stop や SubagentStop 以外のイベント用に設定されている場合、「エージェントフックにはメッセージが必要です」というエラーで失敗していたエージェントタイプフックスの問題を修正しました。
- エージェントフック検証用サブエージェントによって行われたツール呼び出しに対してプロンプトフックスが再発火する問題を修正しました。
- /fork コマンドがフォークごとに親会話をディスク全体に書き込んでいた問題を修正し、現在はポインターのみを書き込み、読み取り時にハイドレート(復元)するようになりました。
- Alt+K / Alt+X / Alt+^ / Alt+_ によるキーボード入力のフリーズ問題を修正しました。
- ~/.claude/settings.json のローカルモデル設定を上書きしていた、リモートセッションへの接続問題を修正しました。
- / で始まるファイルパスを貼り付けた際、「一致するコマンドがありません」というエラーを表示していたタイプAhead(入力補完)の問題を修正しました。
- 既にインストール済みのプラグインに対してインストールを実行した際、間違ったバージョンでインストールされた依存関係が再解決されなかったプラグインインストールの問題を修正しました。
- 無効なパスやファイルディスクリプタ枯渇の場合にファイルウォッチャから未処理のエラーが発生する問題を修正しました。
- JWT 更新中に一時的な CCR(Claude Code Runtime)初期化の障害が発生した際に、リモートコントロールセッションがアーカイブされてしまう問題を修正しました。
- SendMessage 経由で再開されたサブエージェントが、起動時に指定された明示的なカレントワーキングディレクトリ(cwd)を復元しない問題を修正しました。
原文を表示
What's changed
- Added vim visual mode (v) and visual-line mode (V) with selection, operators, and visual feedback
- Merged /cost and /stats into /usage — both remain as typing shortcuts that open the relevant tab
- Create and switch between named custom themes from /theme, or hand-edit JSON files in ~/.claude/themes/; plugins can also ship themes via a themes/ directory
- Hooks can now invoke MCP tools directly via type: "mcp_tool"
- Added DISABLE_UPDATES env var to completely block all update paths including manual claude update — stricter than DISABLE_AUTOUPDATER
- WSL on Windows can now inherit Windows-side managed settings via the wslInheritsWindowsSettings policy key
- Auto mode: include "$defaults" in autoMode.allow, autoMode.soft_deny, or autoMode.environment to add custom rules alongside the built-in list instead of replacing it
- Added a "Don't ask again" option to the auto mode opt-in prompt
- Added claude plugin tag to create release git tags for plugins with version validation
- --continue/--resume now find sessions that added the current directory via /add-dir
- /color now syncs the session accent color to claude.ai/code when Remote Control is connected
- The /model picker now honors ANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTION overrides when using a custom ANTHROPIC_BASE_URL gateway
- When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in /doctor and the /plugin Errors tab
- Fixed /mcp menu hiding OAuth Authenticate/Re-authenticate actions for servers configured with headersHelper, and HTTP/SSE MCP servers with custom headers being stuck in "needs authentication" after a transient 401
- Fixed MCP servers whose OAuth token response omits expires_in requiring re-authentication every hour
- Fixed MCP step-up authorization silently refreshing instead of prompting for re-consent when the server's insufficient_scope 403 names a scope the current token already has
- Fixed an unhandled promise rejection when an MCP server's OAuth flow times out or is cancelled
- Fixed MCP OAuth refresh proceeding without its cross-process lock under contention
- Fixed macOS keychain race where a concurrent MCP token refresh could overwrite a freshly-refreshed OAuth token, causing unexpected "Please run /login" prompts
- Fixed OAuth token refresh failing when the server revokes a token before its local expiry time
- Fixed credential save crash on Linux/Windows corrupting ~/.claude/.credentials.json
- Fixed /login having no effect in a session launched with CLAUDE_CODE_OAUTH_TOKEN — the env token is now cleared so disk credentials take effect
- Fixed unreadable text in the "new messages" scroll pill and /plugin badges
- Fixed plan acceptance dialog offering "auto mode" instead of "bypass permissions" when running with --dangerously-skip-permissions
- Fixed agent-type hooks failing with "Messages are required for agent hooks" when configured for events other than Stop or SubagentStop
- Fixed prompt hooks re-firing on tool calls made by an agent-hook verifier subagent
- Fixed /fork writing the full parent conversation to disk per fork — now writes a pointer and hydrates on read
- Fixed Alt+K / Alt+X / Alt+^ / Alt+_ freezing keyboard input
- Fixed connecting to a remote session overwriting your local model setting in ~/.claude/settings.json
- Fixed typeahead showing "No commands match" error when pasting file paths that start with /
- Fixed plugin install on an already-installed plugin not re-resolving a dependency installed at the wrong version
- Fixed unhandled errors from file watcher on invalid paths or fd exhaustion
- Fixed Remote Control sessions getting archived on transient CCR initialization blips during JWT refresh
- Fixed subagents resumed via SendMessage not restoring the explicit cwd they were spawned with
この記事をシェア
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み