メインコンテンツへスキップ

Claude Code v2.1.214:権限チェックの修正、EndConversationツール、dir/**ルールの一致範囲の縮小

Claude Code v2.1.214では、BashとPowerShellの権限チェックが強化され、単一セグメントのdir/**ルールが<cwd>/dirのみに一致するようになり、EndConversationツールが追加されたほか、Windowsとバックグラウンドセッションの多数の問題が修正されました。

Claude Code v2.1.214は、変更履歴に47項目が並ぶ大規模なリリースで、その多くが権限チェックに関するものです。単一セグメントのdir/**ルールは<cwd>/dirにのみ一致するようになり、BashとPowerShellの権限チェックの抜け穴がいくつか塞がれ、一部のdockerコマンドとfileコマンドに新たな権限プロンプトが追加されました。さらに、EndConversationツール、長時間実行されるツール呼び出しの進捗ハートビート、新しいOpenTelemetry属性が追加され、Windows、バックグラウンドセッション、プラグインに関する問題も修正されています。

新機能

単一セグメントのdir/**ルールは<cwd>/dirにのみ一致

Edit(src/**)のような単一セグメントのdir/**許可ルールが、ツリー内のあらゆる場所にあるネストされたdir/ディレクトリへの書き込みを自動承認しなくなり、<cwd>/dirだけが対象になりました。単一セグメントのdir/**を使うフックのif:条件も<cwd>/dirにのみ一致するようになったため、任意の深さで一致させるには**/dir/**と記述してください。deny/askの権限ルールは、引き続き任意の深さで一致します。

EndConversationツール

新しいEndConversationツールにより、claude.aiで2025年から行われているのと同様に、Claudeは極めて悪質なユーザーやジェイルブレイクの試みとのセッションを終了できるようになりました。背景についてはanthropic.com/research/end-subset-conversationsをご覧ください。

dockerコマンドとfileコマンドの新しい権限プロンプト

デーモンのリダイレクトフラグ(--url、--connection、--identity、Podmanのリモートモード)を含むdockerコマンド(Podmanのdocker shimを含む)で、権限プロンプトが表示されるようになりました。これまではプロンプトなしで実行されていました。-m/--magic-fileまたは-f/--files-fromを使うfileコマンドも、読み取り専用として自動許可されず、権限が必要になりました。

長時間実行されるツール呼び出しの進捗ハートビート

これまで実行中に何の反応もなかった長時間のツール呼び出しで、定期的に進捗のハートビートが送られるようになりました。

OpenTelemetryの追加項目

OpenTelemetryのログイベントに、メッセージ単位の関連付けとツールの出所の追跡のためのmessage.uuid、client_request_id、tool_source属性が追加されました。新しいCLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHで、OpenTelemetryのコンテンツ属性に適用される60 KBの切り詰め上限を設定できます。

メモリとステータスラインの追加項目

メモリファイルのフロントマターに、ISO形式のmodifiedタイムスタンプが追加されました。subagentStatusLineのペイロードに推論のeffortが含まれるようになり、カスタムのエージェント行でモデルとeffortを表示できます。

SessionStartフックが"fork"を報告

セッションがフォークとして開始された場合、SessionStartフックはソースとして"resume"ではなく"fork"を報告するようになりました。

修正と改善

  • Bashの権限チェック:bashと権限アナライザーとで解釈が異なるファイルディスクリプタのリダイレクト形式に対して、チェックが安全側に倒れて(fail closed)拒否されるようになりました。10,000文字を超えるコマンドは自動実行されず、常にプロンプトが表示されます。[[ ]]比較内のzshの変数添字や修飾子は無害なテキストとして扱われなくなり、これらのコマンドでは承認が求められます。危険なオプション、コマンド置換、バックスラッシュを含むパスを実行しうる一部のhelpコマンドとmanコマンドも、自動承認されなくなりました。
  • その他の権限の修正:Windows PowerShell 5.1のセッションで実行されるコマンドに影響する、権限チェックの回避を修正しました。リモートセッションの権限プロンプトが、ローカルの確認ダイアログより先に進んでしまうことがある問題も修正されています。
  • フック:フックのstdoutのJSONがスキーマ検証に失敗した場合でも、終了コード2のフックがドキュメントどおりにブロックするようになりました。
  • PowerShellツール(Windows):子プロセスが標準入力を待っている場合に、コマンドがタイムアウトまでハングする問題を修正しました。このツール経由で実行したPythonスクリプトが非ASCIIの出力でUnicodeEncodeErrorによりクラッシュする問題と、PowerShell 7のエラーメッセージに生のANSIエスケープシーケンスが含まれる問題も修正されています。Windows PowerShell 5.1では、>と>>が、他のツールでUTF-8として読めないUTF-16LEのファイルを書き出さなくなりました。
  • バックグラウンドセッション:置き換えられたバックグラウンドデーモンがシャットダウン時に後継デーモンのコントロールソケットを削除し、次のクライアントが正常な代替デーモンを終了させてしまう問題を修正しました。←や/backgroundで待機させたままアイドル状態になったセッションが、バックグラウンドデーモンとワーカープロセスを無期限に稼働させ続ける問題も修正されています。また、バックグラウンドサービスがアイドルになった後でも、完了したセッションをclaude rmやエージェントビューから削除できるようになりました。
  • プラグイン:--settings CLIフラグで有効にしたプラグインが読み込まれない問題(v2.1.181以降のリグレッション)を修正しました。
  • 設定ファイル:--settingsがデバイスファイルや数GBのファイルを指している場合に、メモリが際限なく増加する問題を修正しました。大きすぎる(2 MiB超)設定ファイルは、起動時に明確なエラーで失敗するようになりました。
  • Linux:pkill -fのパターンが誤ってCLI自身のプロセスに一致した場合に、BashツールがClaudeのセッションを終了させてしまう問題を修正しました。
  • Windowsのプロキシ:Windowsで企業のプロキシを経由している場合に、ストリーミング中のターンが「Socket is closed」で失敗する問題を修正しました。
  • スケジュールタスク:スケジュールタスクが、自身に設定されたプロンプトを信頼できない入力として拒否する問題を修正しました。起動されたプロンプトは、そのセッションに割り当てられたタスクとして渡されます。
  • MCP:prompts/resourcesの更新中に発生した一時的なエラーによって、サーバーのスラッシュコマンドとリソースが消えてしまう問題を修正しました。
  • /ultrareview:マージベースのないリポジトリで/ultrareviewが実行を拒否する問題を修正し、追跡対象のすべてのファイルをレビューするよう提案するようになりました。

このリリースには合計47件の変更が含まれています。すべての項目は変更履歴をご覧ください。

アップデート方法

  1. インストール済みのバージョンを確認:claude --version
  2. その場でアップデート:claude update
  3. 単一セグメントのdir/**パターンを見直してください。Edit(src/**)のような許可ルールとフックのif:条件は<cwd>/dirにのみ一致するようになり(フック条件で任意の深さに一致させるには**/dir/**を使用)、deny/askルールは引き続き任意の深さで一致します。

リンク