要点
Anthropic は Claude Code のバージョン 2.1.214 をリリースし、ディレクトリパスの誤った自動承認や Windows PowerShell における権限チェック回避バグなどを修正した。
変更点
- ディレクトリパスの
dir/**といった単一セグメントの許可ルールが、以前はツリー内のどこでも/dir配下への書き込みを自動承認していましたが、このバグを修正しました。これにより、指定されたディレクトリのみが正しく処理されるようになりました。 - Windows PowerShell 5.1 セッションで実行されるコマンドにおいて、権限チェックを回避する脆弱性を修正しました。
- Bash のパーミッションチェックにおいて、Bash が解析するファイル記述子リダイレクトの形式と、パーミッション解析エンジンが想定する形式との不一致により正しく判定されなかったケースを修正し、適切にブロックするようにしました。
- 10,000 文字を超える非常に長いコマンドに対して、以前は自動実行されていましたが、現在は必ず確認プロンプトを表示するように修正しました。
[[ ]]比較式内の zsh の変数サブスクリプトや修飾子を、Bash のパーミッションチェックが「無効なテキスト」として誤認していた問題を修正し、これらを含むコマンドは承認を促すプロンプトを表示するようになりました。- 安全でないオプションの指定、コマンド置換、バックスラッシュパスの使用が可能になる恐れのあるヘルプや man コマンドに対して、以前は自動承認されていましたが、現在は確認プロンプトを表示するように修正しました。
- リモートセッションにおける権限プロンプトが、ローカルの確認ダイアログが表示される前に処理が進んでしまう不具合を修正しました。
- 悪意のあるユーザーや脱獄(ジャイルブレイク)試行に対してセッションを終了できる「EndConversation」ツールを追加しました。これは 2025 年以降の claude.ai で実装されている機能と同様のものです。詳細は https://www.anthropic.com/research/end-subset-conversations をご覧ください。
- 以前は応答が途絶えていた長時間実行されるツールの呼び出しに対して、定期的な進捗状況を示す「ハートビート」機能を追加しました。
- メモリファイルのフロントマータに ISO 形式の更新タイムスタンプを追加しました。
- OpenTelemetry ログイベントに
message.uuid、client_request_id、tool_sourceの各属性を追加し、メッセージレベルでの相関付けとツールの出所追跡を可能にしました。
- OpenTelemetry のコンテンツ属性に対する 60 KB の切り捨て制限を設定できるよう、
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHを追加しました。 - サブエージェントの状態ライン(subagentStatusLine)ペイロードに推論の努力度合い(reasoning effort)を追加し、カスタムエージェント行でモデルと努力度をレンダリングできるようにしました。
- 以前は許可プロンプトなしで実行されていた、デーモンリダイレクトフラグ(
--url,--connection,--identity、および Podman のリモートモード)を含む Docker コマンド(Podman の Docker シム含む)に対して、許可プロンプトを追加しました。 - GrowthBook の機能が null を評価した際のクラッシュと、不正なフラグペイロードがキャッシュされた機能フラグを消去してしまうバグを修正しました。
- Bash ツールで
pkill -fパターンが CLI プロセス自体に誤って一致した場合(Linux)、Claude セッションが終了する問題を修正しました。 --settingsオプションがデバイスファイルや数 GB のファイルを指した際にメモリが無制限に増大する問題を修正しました。2 MiB を超える設定ファイルは、起動時に明確なエラーメッセージとともに拒否されます。- 企業のプロキシ環境下にある Windows で、ストリーミングターンが「ソケットが閉じられています」というエラーで失敗する問題を修正しました。
- ストリーム JSON の出力が、読み込みが遅い SDK やパイプラインのコンシューマーに対して終了時に切り捨てられる問題を修正しました。終了時の排水処理を固定の 2 秒から、キューに残ったバイト数に応じて動的に調整するように変更しました。
- 予定されたタスクが設定されたプロンプトを信頼できない入力として拒否する問題を修正しました。実行されるプロンプトは、セッションに割り当てられたタスクとして直接提供されます。
- PowerShell ツールのコマンドで、子プロセスが標準入力を待機している場合にタイムアウトまで応答しない(ハングする)問題を修正しました(Windows)。
- Windows 環境において、PowerShell ツール経由で Python スクリプトを実行した際、標準入力から非 UTF-8 データを読み込もうとして UnicodeDecodeError でクラッシュする不具合を修正しました。
- 同じく Windows 環境で、PowerShell ツール経由の Python スクリプトが非 ASCII の出力を行う際に UnicodeEncodeError でクラッシュしたり、PowerShell 7 のエラーメッセージに生の ANSI エスケープシーケンスが含まれて表示される問題を修正しました。
- Windows 版 PowerShell ツールにおいて、where.exe、fc.exe、diff.exe が有効な否定応答(存在しない等)を返した際にも誤ってエラーとして報告されていた不具合を修正しました。
- Windows PowerShell 5.1 環境での PowerShell ツールにおける > や >> の処理で、UTF-8 として他のツールが読み込めない UTF-16LE 形式のファイルが作成される問題を修正しました。
- バックグラウンドデーモンがシャットダウン時に次世代の制御ソケットを誤って削除し、結果として次のクライアントが正常な代替デーモンを停止させてしまう不具合を修正しました。
- ← または /background でバックグラウンドセッションを一時停止し、アイドル状態のまま放置した場合に、バックグラウンドデーモンとワーカープロセスが無限に稼働し続ける問題を修正しました。
- バックグラウンドサービスがアイドル状態になった後、claude rm コマンドやエージェントビューから完了したバックグラウンドセッションを削除できなくなる不具合を修正しました。
- Git フォルダ以外から起動されたバックグラウンドセッションについて、エージェントビューから削除できない問題を修正しました。
- 停止したバックグラウンドセッションを再開する際、セッションストア内に読み込み不能なフォルダが存在すると、保存された会話履歴が復元されない不具合を修正しました。
- リモートコントロール機能が明示的に有効化されていないセッションに対して、「セッション準備完了」プッシュ通知が誤って送信される問題を修正しました。
- エージェントビューセッションでは /install-github-app コマンドや /mcp 設定メニューがブロックされていましたが、ターミナルを接続していないバックグラウンドセッションでのみ拒否されるようになりました。
- --settings CLI フラグで有効化したプラグインが読み込まれない不具合(v2.1.181 以降の回帰)を修正しました。
- OAuth トークンのローテーション後に、長時間実行中のセッション内で機能フラグが無効化され続ける問題を解消しました。
- マージベースが存在しないリポジトリで /ultrareview コマンドが実行できなくなっていたのを修正。現在は追跡されている全ファイルのレビューを提案するようになりました。
- シェル設定パスがディレクトリになっている場合、claude の更新やドクターコマンドが静かにフリーズしたり、/status システム診断セクションが空白になる不具合を修正しました。
- メモリファイル保存時に、インラインの # 記号で値が意図せず切り捨てられていた問題を修正しました。
- ストリーム内で複数の累積的な message_delta フレームが発信される際、セッションコストやトークン使用量の計測が二重カウントされていた不具合を修正しました。
- アドバイザーが思考中に表示されていた「ネットワークを確認してください」という誤った警告メッセージを削除しました。
- ハンドシェイクの標準出力 JSON がスキーマ検証に失敗した場合、終了コード 2 を返すフックが文書通りブロックされない不具合を修正しました。
- トーンの非同期コンテキスト外で OTel ログイベントが発行された際、インタラクションのスパンのトレースコンテキストが含まれていなかった問題を修正しました。
- プロンプトやリソースの更新時に発生する MCP の一時的なエラーにより、サーバーのスラッシュコマンドとリソースがすべて消去されてしまう不具合を修正しました。
- ホームディレクトリでの claude rc に関するワークスペース信頼エラーメッセージを改善。ホームディレクトリに信頼設定は保存されないことを明記し、プロジェクトディレクトリから実行するよう促すように変更しました。
dir/**フックの条件式を修正しました。これまでは単一セグメントでの一致のみでしたが、現在は/dirに限定されるようになりました。深さ不限定でマッチさせたい場合は、明示的に**/dir/**を記述してください。なお、権限拒否(deny)や確認(ask)ルールは、引き続き深さ不限定のマッチングを維持します。
-m/--magic-fileまたは-f/--files-fromオプションを使用するファイルコマンドについて、以前は読み取り専用として自動的に許可されていましたが、現在は明示的な権限が必要となりました。
- 接続プーリングの「keep-alive」機能を修正しました。ステール(古くなった)接続エラーが発生した際、プーリングを無効化し、再試行時に新しいソケットを開放するように変更しています。
SessionStartフックの動作を変更しました。セッションがフォークとして開始された場合、ソース情報を「resume」ではなく「fork」として報告するようになりました。