2.1.118

Claude Code 2.1.118 - リリースノート

2026年4月23日
Claude Code

日本語サマリー

以下は、Claude Code 2.1.118 のリリースノートの日本語要約です。

⚠️ 破壊的変更・重要な仕様変更

  • コマンド統合: /cost と /stats が /usage に統合されました(元のコマンドはショートカットとして引き続き利用可能)

✨ 主な新機能・改善点

  • エディタ機能: Vimのビジュアルモード (v) および行指向ビジュアルモード (V) を追加しました。
  • テーマカスタマイズ: /theme から名前付きカスタムテーマを作成・切替可能になりました。~/.claude/themes/ のJSONファイルを直接編集したり、プラグイン経由でテーマを配布したりすることもできます。
  • Hooks機能拡張: HooksからMCPツールを直接呼び出せる type: "mcp_tool" が追加されました。
  • アップデート制御: DISABLE_UPDATES 環境変数が追加され、手動含むすべてのアップデートを完全にブロックできるようになりました(DISABLE_AUTOUPUTODATER より強力)。
  • Auto mode の拡張: autoMode.allow 等に "$defaults" を指定することで、組み込みリストを置き換えずにカスタムルールを追加できるようになりました。
  • プラグイン管理: リリース用のGitタグをバージョン検証付きで作成する claude plugin tag コマンドが追加されました。
  • セッション/モデル設定: --continue / --resume が /add-dir で追加されたディレクトリのセッションを検出するようになりました。また、/model ピッカーがカスタムURL (ANTHROPIC_BASE_URL) 使用時の環境変数によるモデル名の上書きに対応しました。

🐛 重要なバグ修正

  • 認証・資格情報:
    • Linux/Windowsで資格情報保存時にクラッシュし ~/.claude/.credentials.json が破損する問題を修正しました。
    • CLAUDE_CODE_OAUTH_TOKEN 環境変数を指定したセッションで /login が正しく反映されない問題を修正しました。
    • 各種MCPサーバーのOAuth認証フローに関する複数の問題(期限切れ、スコープ不足、排他制御、キーチェーンの競合など)を修正しました。
  • 動作・安定性の修正:
    • リモートセッション接続時にローカルの ~/.claude/settings.json にある model 設定が上書きされる問題を修正しました。
    • /fork 実行時に親セッションの全データがディスクに書き込まれていた非効率な挙動をポインタ参照方式に改善しました。
    • prompt Hooksが意図せず再帰的に発火してしまう問題や、Altキーを使用したショートカット (Alt+Kなど) で入力がフリーズする問題を修正しました。

原文(Release Notes)

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