Claude Code v2.1.269:プラグイン評価スイート、/output-style、Bashの編集差分
Claude Code v2.1.269では、採点付きの評価を行うclaude plugin eval、/output-styleコマンド、Bashの編集差分、新しい環境変数を追加し、VS Codeにエージェントマップとフック・権限ルールのダイアログが加わりました。
Claude Code v2.1.269は、変更履歴に98項目が並ぶ大規模なリリースです。再現可能な評価スイートでプラグインを採点するclaude plugin eval、Remote Controlやヘッドレスセッションでも使える/output-styleコマンド、いくつかの新しい環境変数が導入され、プロンプトキャッシュ、端末入力、権限ルールに関する修正も含まれています。VS Codeには、エージェントマップと、フックおよび権限ルールを管理するダイアログが追加されました。
新機能
claude plugin eval
新しいclaude plugin evalコマンドは、プラグインの評価スイートをClaude Codeに対して実行し、採点された再現可能な結果をJSONとHTMLレポートで返します。オプションはclaude plugin eval --helpで確認できます。
/output-styleコマンド
/output-style [name]で出力スタイルの一覧表示と切り替えができます。ローカルだけでなく、Remote Control経由やクラウドなどのヘッドレスセッションでも利用できます。
Bashによるファイル編集の差分
bashEditDiffEnabled設定を有効にすると、Bashツールがファイル編集を担う場合に、コマンドが変更したファイルの差分がBashツールの結果に含まれるようになりました。
新しい環境変数
OTEL_METRICS_INCLUDE_REPOSITORY:OpenTelemetryのメトリクスとイベントにvcs.*のリポジトリ属性を付与します。OTEL_LOG_TOOL_DETAILSと併用すると、コミットイベントにvcs.ref.head.*も付きます。CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS:LLMゲートウェイの/v1/models検出のタイムアウト(デフォルト3秒)を延長します。CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS(1–256):推論がボトルネックになるファンアウト向けに、Workflowツールの1回の実行あたりの同時エージェント数の上限を引き上げます。
リモート・ヘッドレスセッションでのバックグラウンドエージェントの状態
リモートセッションとヘッドレスセッションは、バックグラウンドエージェントが実行中の間に「waiting for your input」と報告しなくなりました。以前の動作に戻すにはCLAUDE_CODE_BG_TASKS_REPORT_RUNNING=0を設定します。
権限ルールの厳格化
!で始まるdenyルールやaskルールは、そのルールを書いた設定ソース内でのみ適用されるようになり、!だけの否定は無視されます。また、Edit()のdenyルールと書き込みパスのチェックが、Bashのteeコマンドが書き込むファイルにも適用されるようになり、Bash(tee:*)の許可ルールは作業ディレクトリ外の書き込み先を対象にしなくなりました。
レビューとスキル名の変更
/ultrareview --postは、2つ目のクラウドセッションを起動して投稿するのではなく、検出結果が届いた時点でPRコメントを直接投稿し、コメントのリンクを表示するようになりました。クラウドセッションでは、claude.aiから同期されたスキルの名前がClaude Desktopと同じくanthropic-skills:<name>になりました。他に同じ名前を使うものがなければ、名前だけでも引き続き呼び出せます。
VS Codeのエージェントマップ、フック、権限ルールのダイアログ
フッターの「N agents」ピルから、セッションのサブエージェントのマップを開けるようになりました。エージェントごとのカード、Stop agent、読み取り専用のトランスクリプトを確認できます。コマンドメニューに追加されたHooksダイアログでは、フックを表示し、ユーザー・プロジェクト・ローカルの各設定でフックを追加・編集・削除できます(マネージド、プラグイン、セッションのフックは読み取り専用)。Permission rulesダイアログでは、権限ルールを一覧表示し、同じ3つのスコープで追加・削除できます(起動オプション、セッション限定、マネージドのルールは読み取り専用)。Focusビューには、実行中のサブエージェントの進捗がリアルタイムで表示されます。
修正と改善
- プロンプトキャッシュ:出力トークンの上限で応答が途切れて自動的に再開された次のターンで、プロンプトキャッシュが部分的に無効化される問題を修正しました。思考の途中でClaudeを中断した後にセッションを再開すると、それまでのコンテキストの再送方法が変わりキャッシュの再利用が損なわれるケースも修正されています。クラウドセッションでは、最初のリクエストの前にサーバー設定を少し待つことでキャッシュミスを防ぎます。
- 端末のキー入力:kittyプロトコル対応端末でF1/F2/F4が効かない問題、stでDeleteが効かない問題、rxvt-unicodeでAlt+矢印キーがEscapeとして扱われる問題、WezTermでShift+記号がShiftなしの文字として入力される問題(2.1.247のリグレッション)を修正しました。SSH経由や認識されない端末でのキーボード対応も改善され、kittyキーボードの問い合わせに応答する端末(footやAlacritty 0.16+など)でShift+EnterとCtrl+Shiftのショートカットが使えるようになりました。
- 起動時の不要な文字:端末の機能問い合わせへの応答(
^[[?1;2c)が起動時に余計なテキストとして表示されなくなりました。sshやブラウザ端末などの低速な接続で、22cのような文字が起動時にプロンプトへ入力されることもなくなりました。 - コンパクション:コンパクション後にClaudeへ伝えるgitの状態が、セッション開始時ではなく現在の状態になりました。また、自動コンパクションで要約できる完結した過去のやり取りがない場合に、セッションが「Prompt is too long」で永久に止まる問題も修正されました。
/goal:APIエラー、ネットワークの切断、トークン上限の後に実行が黙って止まらなくなりました。バックオフ付きで再試行するか、利用上限のリセットを待つ場合も含めて、一時停止して理由を示します。- 帰属表示:帰属表示のリマインダーが、コミットやプルリクエストへの帰属表示を禁じるCLAUDE.mdやメモリのルールを上書きしなくなりました。マネージド設定で指定された行は引き続き適用されます。
- プラグインのセキュリティ:セッション用に展開されたプラグインアーカイブを他のローカルユーザーが読めないようになり、展開されたファイルがアーカイブ内の全ユーザー書き込み可能ビットを保持することや、再展開後に古いファイルが残ることもなくなりました。
- プラグイン:マネージド設定で有効にした組織のプラグインが、ヘッドレスセッションとClaude Desktop(DesktopがこのCLIバージョンを同梱した後)で読み込まれるようになりました。
shutdownのパラメーターを拒否するプラグインのLSPサーバー(rust-analyzerなど)が、セッション終了後も動き続けることもなくなりました。 - ヘッドレスとSDK:ターンの途中でモデルを切り替えたりリクエストを再試行したりした場合に、再開したヘッドレスセッションでそのターンの返信が失われる問題を修正しました。
--output-format stream-jsonの結果に含まれるpermission_denialsに、パス指定のdenyルールでブロックされたRead、Edit、Writeの呼び出しも含まれるようになりました。 - 中断されたターン:
CLAUDE_CODE_RESUME_INTERRUPTED_TURNが、6時間以上前(設定されている場合はCLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MSより前)にAPIエラーで失敗したターンを再実行しなくなりました。 /btw:サイドの質問には、架空のツール呼び出しや出力を書かないよう指示されるようになり、それでも現れた場合は未実行として示されます。- MCP:リモートセッションの再開時に、同期されたプラグインのMCPサーバーが接続されるようになりました。更新された設定でサーバーURLのクエリパラメーターの順序だけが変わった場合に、MCPサーバーが再接続することもなくなりました。
- Bedrock、Vertex、Foundry、ゲートウェイ:アカウントがデフォルトのOpusモデルを利用できない環境で、
/insightsが失敗せずにセッションのモデルを使うようになりました。 - 言語対応:日本語、中国語、タイ語など単語の間にスペースを入れない言語で、プロンプト候補が捨てられなくなりました。日本語、中国語、韓国語の候補のフィルタリングでは、複数の文字種が混在する候補や1語だけの候補も残るようになりました。
- 画像とWindows:CMYKのJPEG画像が「cannot decode」で失敗せずに添付できるようになりました。Windowsでは、バックグラウンドに送ったPowerShellツールのコマンドがClaude Codeの終了とともに止まらなくなりました。
- 応答性:
/diffパネルが読み込み中の表示を挟まずに、最初から完全に描画された状態で開くようになりました。長いセッションでは、折りたたまれたツール使用の要約を作るために会話全体を再処理することがなくなりました。 - Claude Code on the web:クラウドセッションでキューに入れたメッセージを、Claudeが読む前に取り消せるようになりました。使用できるモデルを制限している組織で
/model defaultを実行すると以降のメッセージがすべて失敗する問題や、1回限りのスケジュール済みルーティンが一時的なサーバーエラーの後にまれに2回実行される問題も修正されました。 - Claude Tag:組織で有効になっていないモデルへの切り替えを受け入れてフォールバックモデルで黙って回答するのではなく、断ったうえで管理者が有効にできると伝えるようになりました。ルーティンの実行が既存のスレッドに返信できるようになり、管理設定でGitHubインストールに対してConnect allやDisconnectを行う前に確認ダイアログが表示されます。
このリリースには合計98件の変更が含まれています。すべての項目は公式の変更履歴をご覧ください。
アップデート方法
- インストール済みのバージョンを確認:
claude --version - その場でアップデート:
claude update !で始まる権限ルール(それぞれの設定ソース内でのみ適用されるようになりました)と、Bash(tee:*)の許可ルールを見直してください。リモートやヘッドレスのセッションで以前の「waiting for your input」の状態表示が必要な場合は、CLAUDE_CODE_BG_TASKS_REPORT_RUNNING=0を設定してください。