Claude Code v2.1.118 — Vim Visualモードと、MCP OAuth経路の不具合をまとめて修正
Claude Code v2.1.118はVim Visual/Visual-lineモードを追加、/costと/statsを/usageに統合、MCP OAuth経路の認証アクション欠落・毎時再認証・keychain race・credential saveクラッシュなどを修正しました。
このリリースで何ができるようになるか
Claude Code v2.1.118は、Vim編集体験とMCP認証経路の信頼性に同時に手を入れた実用リリースです。
- Vim Visualモード(
v)とVisual-lineモード(V)が追加(選択 + オペレータ + 視覚フィードバック付き) /costと/statsが/usageに統合(既存の/cost/statsはショートカットとして残置)- MCP OAuth経路の不具合がまとめて修正(
/mcpメニューの認証アクション欠落、expires_in省略時の毎時再認証、macOS keychain race、credential saveクラッシュ、CLAUDE_CODE_OAUTH_TOKEN期限切れ時の/login無効など) - カスタムテーマを
/themeから作成 / 切り替え可能に
直前のv2.1.117が既定effort引き上げとNative Glob/Grepという基盤寄りの大変更だったのに対し、本版は既存機能の手触りと信頼性に振った内容です。
あなたの開発フローはどう変わるか
Vimキーバインドを使っているユーザー
v でVisualモード(文字選択)、V でVisual-lineモード(行選択)に入れるようになり、選択状態の視覚フィードバックとオペレータ(削除 / コピー等)が同時に動きます。これまでVimモードはNormal / Insertの往復で完結する必要があり、複数行のヤンクや範囲削除は dd の繰り返しかmotion指定に頼る形でしたが、普段のVimに近い感覚で複数行編集が組めるようになります。
加えてInsert中の Esc 挙動が整理されました。キューに入れたメッセージが入力欄に戻ってしまう挙動が止まり、もう一度Escを押すと割り込みできる二段階に分けられています。
MCPサーバを複数常用している運用
OAuth経路の不具合がまとめて潰されました。単発で踏むと「謎の再認証」「謎の /login 要求」「資格情報ファイル破損」として現れる種類のバグが一度に解消します。具体的には次の経路です。
/mcpメニューでheadersHelper設定済みサーバのAuthenticate / Re-authenticateアクションが隠れていた- HTTP/SSE MCPサーバがカスタムヘッダー使用時に「needs authentication」状態で固まっていた
- OAuthトークンレスポンスに
expires_inがないと毎時再認証を要求していた - step-up authorizationが
insufficient_scope403で再同意プロンプトを出さず無音リフレッシュしていた - macOS keychain race(並列MCPトークンリフレッシュが新しいOAuthトークンを上書き)
- Linux / Windowsでcredential saveがクラッシュし
~/.claude/.credentials.jsonが破損する経路
複数MCPサーバを常用したりclaude.ai連携を多用したりする環境では、本版をベースラインに置く価値があります。
/cost /stats で利用量を確認しているユーザー
これまでバラバラだったコスト確認とセッション統計が /usage という単一ダッシュボードに集約されました。/cost /stats は内部的に /usage の対応タブを開くショートカットとして残るため、既存スクリプトの書き換えは不要です。VS Code統合側でも /usage がネイティブの「Account & Usage」ダイアログを開くようになり、プレーンテキストでセッションコストだけ返ってくる古い挙動からは脱却しました。
Hooksで外部システム連携を組みたいチーム
Hooksの応答に type: "mcp_tool" を指定することで、Hooksの中からMCPツールを直接呼び出せるようになりました。従来は外部コマンドや内蔵ツール経由のみだったため、PreToolUse / PostToolUse でMCPの検索 / 取得系ツールを差し込みたい場合に別経路を組む必要がありました。本版以降はHooks内で直接MCPツールを叩けます。
IT管理 / 企業ポリシー側
DISABLE_UPDATES 環境変数で、自動更新だけでなく claude update の手動実行を含む全更新経路をブロックできるようになりました。DISABLE_AUTOUPDATER より一段強い制御で、バージョンを固定したい運用に向きます。WSL側Claude CodeがWindows側のmanaged settingsを継承する wslInheritsWindowsSettings ポリシーキーも追加されています。
/fork で会話分岐を多用するチーム
/fork がフォークごとに親会話全体をディスクに書き出していた挙動が、ポインタ書き込み + 読み出し時hydrateに変わりました。ディスク使用量と書き出し時間がフォーク数に比例して伸びていた構造が解消します。
主な変更点
Vim / 入力
- Vim Visualモード(
v)とVisual-lineモード(V)を追加(選択 + オペレータ + 視覚フィードバック) - Insert中の
Escがキュー済みメッセージを入力欄へ戻さなくなり、再度Escで割り込み可能に
コマンド / ダッシュボード
/costと/statsを/usageに統合。/cost/statsはショートカットとして残置- VS Code:
/usageがネイティブ「Account & Usage」ダイアログを開く - VS Code: 音声入力が
~/.claude/settings.jsonのlanguage設定を尊重
テーマ / セッション識別
- カスタムテーマを
/themeから作成 / 切り替え可能に(~/.claude/themes/のJSONを直接編集も可、プラグインもthemes/ディレクトリで配布可能) /colorで指定したセッション色が、Remote Control接続時にclaude.ai/code側にも同期
Hooks / 自動化
- Hooks応答に
type: "mcp_tool"を指定してMCPツールを直接呼び出し可能に - auto modeの
autoMode.allow/soft_deny/environmentに"$defaults"を含めると、組み込みルールを置換せず追加だけする書き方が可能に - auto mode opt-inプロンプトに「Don't ask again」追加
claude plugin tag追加: プラグインのリリースgitタグをバージョン検証付きで作成
管理 / ポリシー
DISABLE_UPDATES環境変数追加:claude updateの手動実行も含む全更新経路をブロック(DISABLE_AUTOUPDATERより強い)- WSL上のClaude CodeがWindows側managed settingsを継承する
wslInheritsWindowsSettingsポリシーキー追加 --continue/--resumeが/add-dirで追加したディレクトリを含むセッションも検出/modelピッカーがカスタムANTHROPIC_BASE_URLゲートウェイ使用時にANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTIONを尊重- 別プラグインのバージョン制約でauto-updateがスキップされた場合、
/doctorと/pluginErrorsタブに表示
修正(MCP OAuth / 認証)
/mcpメニューのAuthenticate / Re-authenticateアクションがheadersHelper設定済みサーバで隠れていた- HTTP/SSE MCPサーバがカスタムヘッダー使用時に一過性401後「needs authentication」で固まる
- OAuthトークンレスポンスの
expires_in省略で毎時再認証を要求 - step-up authorizationが
insufficient_scope403でも無音リフレッシュ - OAuthフローのタイムアウト / キャンセル時のunhandled promise rejectionを修正
- MCP OAuthリフレッシュがcross-process lockの取得失敗時にも実行されていた
- macOS keychain race(並列MCPトークンリフレッシュが直近のトークンを上書き)
- OAuthトークンがサーバ側でローカル期限到来前に失効した際にリフレッシュが失敗
- credential saveクラッシュでLinux / Windowsの
~/.claude/.credentials.jsonが破損 CLAUDE_CODE_OAUTH_TOKEN環境トークン期限切れ時に/loginが効かない(envトークンをクリアしてディスクcredentialsを有効化)
修正(その他)
- 「new messages」スクロールピル /
/pluginバッジで読めない文字色になる問題を修正 --dangerously-skip-permissions起動時のプラン承認ダイアログが「bypass permissions」ではなく「auto mode」を提案していた問題を修正- agent-type Hooksが
Stop/SubagentStop以外のイベントで「Messages are required for agent hooks」を出していた問題を修正 promptHooksがagent-hook verifier subagentのツール呼び出しで再発火していた問題を修正/forkがフォークごとに親会話全体を書き出していた問題を、ポインタ書き込み + 読み出し時hydrateに変更Alt+K/Alt+X/Alt+^/Alt+_でキーボード入力がフリーズする問題を修正- リモート接続時にローカルの
model設定が上書きされる問題を修正 /で始まるファイルパスを貼り付けるとtypeaheadに「No commands match」が出ていた問題を修正plugin installがインストール済みプラグインに対して、間違ったバージョンの依存を再解決していなかった問題を修正- ファイル監視の不正パス / fd枯渇時のunhandled errorを修正
- Remote ControlセッションがJWTリフレッシュ中の一時的なCCR初期化エラーで誤アーカイブされる問題を修正
SendMessage経由で復帰したsubagentが起動時のcwdを復元しない問題を修正
OAuth経路の不具合がまとめて塞がった意味
本版で目立つのはMCP OAuth関連の修正の多さです。/mcp メニューの認証アクション欠落、expires_in 省略時の毎時再認証、step-up authorizationの無音リフレッシュ、cross-process lock不在、macOS keychainのrace、credential saveクラッシュ、CLAUDE_CODE_OAUTH_TOKEN 期限切れ時の /login 無効、いずれも単発では「謎の再認証」「謎の /login 要求」「資格情報ファイル破損」として現れる種類のバグです。
これらが一度に塞がれた背景には、MCP OAuthの利用が運用フェーズに入って実害が表面化してきた流れがありそうです。MCPサーバを1〜2個繋いでいる段階ではraceもlockも滅多に踏まないものの、claude.ai連携や複数MCPサーバの常用が当たり前になってくると、トークン更新の同時発火 / キーチェーン同時アクセス / カスタムヘッダー経路といった分岐が連鎖的に問題を起こします。OAuth経路の安定化は継続的に手が入っているテーマなので、MCPを多段で使っているなら本版以降をベースラインに置く価値があります。
まとめ
- MCP OAuthを本番運用しているチーム: 認証経路の不具合がまとまって塞がり、「謎の再認証」「謎の
/login要求」が解消します - Linux / Windowsでcredential破損を踏んだことがあるチーム: クラッシュ経路が塞がり、
~/.claude/.credentials.jsonの破損リスクが下がります - Vimユーザーは更新で操作感が変わる: Visualモードで複数行編集が組みやすくなる
/usage統合は既存スクリプトに影響なし:/cost/statsショートカットは残るため移行作業不要/forkを多用するチームは推奨: ディスク書き込みの肥大が抑えられる
派手な新機能はありませんが、毎日使うところの摩擦を削った実用版です。次のv2.1.119では /config 設定の永続化など、別系統の改善が続きます。更新は claude update で取得できます。
関連する記事
Claude Code をもっと見る →Claude Code v2.1.85 — フックの条件分岐とAskUserQuestion連携、MCP OAuthがRFC9728準拠に
Claude Code v2.1.0 — Skillが独立した実行ユニットに昇格、Hooksが機能ファイルに同梱可能に
Claude Code v2.1.139 — 複数セッションを束ねるエージェント一覧と、目標達成まで走り続ける /goalコマンドの追加
Claude Code v2.1.133 — ワークツリーのベース選択機能と、Hooks/Bashでのeffort連携
Claude Code v2.1.132 — ターミナル全画面表示を切り替え可能に、IDE停止時の安全な終了処理
Claude Code v2.1.128 — MCP接続状態の可視化と、ツール並列実行で兄弟処理が巻き込まれない修正
Claude Code v2.1.121 — MCPの常時ロードとプラグインprune、メモリリーク3件修正
Claude Code v2.1.119 — /config設定の永続化と、--from-prのGitLab/Bitbucket対応