バックナンバー · BACK ISSUE
v2.1.214
破壊的変更権限チェック(Bash・Windows PowerShell・docker・file コマンド)まわりのセキュリティ強化を中心に、新しい EndConversation ツールを追加。バックグラウンドセッション・Windows の PowerShell・テレメトリ・MCP まわりの多数の修正を含みます。破壊的変更として、単一セグメントの dir/** フック if: 条件が <cwd>/dir のみに一致するようになり、file の -m/-f コマンドが権限を要求するようになりました。
単一セグメントの
dir/**形式のフックif:条件が<cwd>/dirのみに一致するよう変更。任意の深さで一致させるには**/dir/**と書いてください。deny/askの権限ルールは従来どおり任意深さの一致を維持します。詳しく
フックのif:条件を単一セグメントのdir/**形式で書いた場合、これまではツリー内の任意の深さのdir/に一致していましたが、今後は<cwd>/dir(作業ディレクトリ直下)のみに一致するようになりました。以前と同じく任意の深さで一致させたい場合は、**/dir/**と明示的に書き直す必要があります。既存のフック設定でこの形式を使っている場合は意図した箇所で発火しなくなる可能性があるため書き換えが必要です(なおdeny/askの権限ルールは従来どおり任意深さの一致のままです)。-m/--magic-fileまたは-f/--files-fromを使うfileコマンドを、読み取り専用として自動許可せず権限を求めるように変更。詳しく
fileコマンドはこれまで読み取り専用とみなされ自動的に許可されていましたが、-m/--magic-file(マジックファイルを指定)や-f/--files-from(ファイル一覧を別ファイルから読む)を使う形は任意のファイルを読み込めるため、今後は権限確認を求めるようになりました。以前これらのオプション付きfileを確認なしで実行できていた自動化やワークフローでは、承認プロンプトが出るか、許可ルールの追加が必要になります。安全性を高めるための変更ですが、該当する使い方をしている場合は挙動が変わる点に注意してください。
EndConversation ツールを追加。悪質すぎるユーザーや脱獄(jailbreak)を試みる相手とのセッションを Claude が終了できます(claude.ai では 2025 年から導入済み)。詳細は https://www.anthropic.com/research/end-subset-conversations を参照。
詳しく
Claude が、極めて悪質な利用や脱獄(jailbreak、制限回避)を執拗に試みる相手とのセッションを自ら終了できる EndConversation ツールが追加されました。これは claude.ai では 2025 年から使われている仕組みで、今回 Claude Code にも導入されました。通常の利用には影響せず、極端に濫用的なやり取りに対する安全策として働きます。メモリファイルの frontmatter に ISO 形式の
modifiedタイムスタンプを追加。詳しく
メモリファイル(Claude が参照する記憶用ファイル)の先頭 frontmatter に、最終更新時刻を表す ISO 形式のmodifiedタイムスタンプが記録されるようになりました。以前は更新時刻の情報が持たれていませんでしたが、今後はいつ更新されたかを機械可読な形で追えます。メモリの鮮度管理やツール連携がしやすくなります。OpenTelemetry のコンテンツ属性に対する 60 KB の切り詰め上限を設定できる
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHを追加。詳しく
OpenTelemetry で送出されるコンテンツ属性は既定で 60 KB を超えると切り詰められますが、その上限を環境変数CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHで調整できるようになりました。以前は上限が固定でしたが、今後は用途に応じて長さを変えられます。より多くの内容を記録したい、あるいは逆に抑えたい運用に対応できます。
以前は無音だった長時間実行のツール呼び出しに、定期的な進捗のハートビート表示を追加。
詳しく
実行に時間のかかるツール呼び出しは、これまで途中経過が何も表示されず無反応に見えていました。今後は定期的に進捗を示すハートビート(生存表示)が出るようになり、処理が止まったのか動いているのか分かります。長い処理の待ち時間に不安を感じていた人の体験が改善します。メッセージ単位の相関やツールの出所把握のため、OpenTelemetry のログイベントに
message.uuid・client_request_id・tool_source属性を追加。詳しく
OpenTelemetry(利用状況を計測・送出する仕組み)のログイベントに、message.uuid・client_request_id・tool_sourceという属性が加わりました。これによりメッセージ単位でイベントを突き合わせたり、どのツールが呼び出しの出所かを追跡できます。テレメトリを収集して分析・監査する組織にとって、粒度の細かい追跡が可能になります。subagentStatusLineのペイロードに reasoning effort(推論の強度)を追加し、カスタムエージェント行でモデルと effort を表示できるようになりました。詳しく
サブエージェントの状態行を描画するためのsubagentStatusLineペイロードに、推論の強さを表す reasoning effort が含まれるようになりました。これにより、独自にカスタマイズしたエージェント行でも、使用中のモデルと effort をあわせて表示できます。エージェントの状態を細かく可視化したい人に役立ちます。デーモンのリダイレクトを伴うフラグ(
--url・--connection・--identity、および Podman のリモートモード)を持つdockerコマンド(Podman のdockerシムを含む)に、これまで出ていなかった権限プロンプトを追加。詳しく
docker(および Podman が提供するdockerシム)コマンドのうち、--url・--connection・--identityや Podman のリモートモードのように接続先デーモンを別の場所へ向けるフラグは、これまで確認なしで実行されていました。こうしたフラグは処理をリモートへ振り替えられるためリスクがあり、今後は権限プロンプトを表示します。意図しないリモート実行を防ぐ安全策です。ホームディレクトリでの
claude rcのワークスペース信頼エラーを改善し、そこでの信頼は保存されないことと、プロジェクトディレクトリから実行するよう案内するようになりました。詳しく
ホームディレクトリでclaude rcを実行したときに出るワークスペース信頼(workspace-trust)のエラーメッセージを、より分かりやすくしました。ホームでの信頼設定は保存されないことを明示し、プロジェクトのディレクトリから実行するよう促します。なぜ信頼できないのか戸惑っていた人が、対処法をすぐ理解できます。keep-alive の接続プールを、古い接続によるエラーの後は無効化するよう変更。再試行では新しいソケットを開くようになりました。
詳しく
接続を使い回す keep-alive のプールで、古くなった接続(stale connection)によるエラーが起きた後は、そのプールを無効化するよう変更しました。これにより再試行の際は使い回しをやめ、新しいソケットを開き直します。切れかけた接続を再利用して失敗が続く問題を避け、通信の信頼性が上がります。セッションがフォークとして始まったとき、SessionStart フックが報告する source を
"resume"ではなく"fork"と報告するよう変更。詳しく
フォーク(既存セッションの分岐)としてセッションが始まった場合、SessionStart フックに渡される source の値が、これまでの"resume"から"fork"に変わりました。以前はフォークも再開(resume)と同じ値で報告されていましたが、今後は区別できます。source を見て分岐を判別したいフックを書いている人が、正しく見分けられるようになります。
Edit(src/**)のような単一セグメントのdir/**許可ルールが、<cwd>/dirだけでなくツリー内のあらゆる階層のネストしたdir/への書き込みまで自動承認してしまう問題を修正。詳しく
Edit(src/**)のように単一セグメントのdir/**形式で書いた許可ルールが、本来の<cwd>/dir(作業ディレクトリ直下)だけでなく、ツリー内のどこにあるsrc/でも書き込みを自動承認してしまう不具合を修正しました。以前はこのルールが意図より広く効いてしまい、想定外の場所への書き込みが確認なしで通ることがありました。今後は現在の作業ディレクトリ直下のみが対象となり、許可の範囲が意図どおりに絞られます。Windows PowerShell 5.1 セッションで実行されるコマンドに影響する権限チェックのすり抜けを修正。
詳しく
Windows PowerShell 5.1 のセッションで実行するコマンドについて、権限チェックをすり抜けてしまう不具合を修正しました。以前はチェックが正しく適用されず、確認されるべきコマンドがそのまま実行される恐れがありました。Windows PowerShell 5.1 を使う環境で、権限確認が正しく働くようになります。bash が権限アナライザとは異なる解釈をするファイルディスクリプタのリダイレクト形式について、Bash の権限チェックが安全側(fail closed)で止まるよう修正。
詳しく
ファイルディスクリプタのリダイレクトには、bash 本体と権限を解析する側で解釈が食い違う書き方があり、それをすり抜けに悪用できる余地がありました。今後はそうした曖昧な形式では安全側に倒し(fail closed)、自動実行せず確認するようにしました。判定が難しいコマンドが勝手に走るのを防ぎます。非常に長いコマンドを Bash の権限チェックが誤判定する問題を修正。10,000 文字を超えるコマンドは自動実行せず常に確認するようになりました。
詳しく
極端に長いコマンドで Bash の権限チェックが正しく判定できず、危険なコマンドを自動実行してしまう恐れがありました。今後は 10,000 文字を超えるコマンドは自動承認せず、必ず確認プロンプトを出します。長大なコマンドに危険な内容を紛れ込ませるすり抜けを防ぎます。[[ ]]比較内の zsh の変数添字や修飾子を、Bash の権限チェックが無害なテキストとして扱っていた問題を修正。これらのコマンドは承認を求めるようになりました。詳しく
[[ ]]を使った比較の中に書かれた zsh の変数添字や修飾子を、権限チェックが実行されない単なる文字列として見落としていました。この隙にコマンド置換などを潜ませてすり抜ける余地があったため、今後はこうしたコマンドは自動実行せず承認を求めます。zsh を使う環境で権限チェックがより厳密になります。危険なオプションやコマンド置換、バックスラッシュのパスを実行しうる一部の
help・manコマンドを、Bash の権限チェックが自動承認しないよう修正。詳しく
helpやmanは通常無害なため自動承認されていましたが、オプションやコマンド置換、バックスラッシュを使ったパス指定によっては危険な処理を実行できてしまう余地がありました。今後はそうした形のhelp・manは自動承認せず確認します。閲覧系コマンドを装ったすり抜けを防ぎます。リモートセッションで、ローカルの確認ダイアログより先に権限プロンプトが進んでしまう問題を修正。
詳しく
リモートセッションにおいて、手元(ローカル)の確認ダイアログが表示される前に権限の確認処理が進んでしまうことがある不具合を修正しました。今後はローカルでの確認が済むまで処理が先行しません。リモート越しに使う際に、承認を挟むべき操作が確認前に通ってしまうのを防ぎます。GrowthBook のフィーチャーが null と評価されたときのクラッシュと、壊れたフラグのペイロードでキャッシュ済みフィーチャーフラグが消える不具合を修正。
詳しく
機能の有効・無効を制御するフィーチャーフラグの仕組み(GrowthBook)で、フラグが null と評価されるとクラッシュする不具合と、壊れたペイロードを受け取るとキャッシュしていたフラグが丸ごと消えてしまう不具合を修正しました。今後はこれらの異常なデータでも落ちたり設定を失ったりしません。フラグ配信の不調時でも安定して動きます。pkill -fのパターンが CLI 自身のプロセスにたまたま一致した際に、Bash ツールが Claude セッションを終了させてしまう問題を修正(Linux)。詳しく
Linux でpkill -fを実行したとき、そのパターンが Claude Code 自身のプロセスに偶然一致すると、Bash ツールがセッションごと巻き添えで終了させてしまう不具合を修正しました。今後は自分自身のプロセスを誤って落とさなくなります。プロセスを一括終了するコマンドを使う人が、作業中のセッションを失わずに済みます。--settingsがデバイスファイルや数 GB のファイルを指しているときのメモリ無制限増加を修正。過大(2 MiB 超)な設定ファイルは起動時に明確なエラーで失敗するようになりました。詳しく
--settingsにデバイスファイルや数 GB もある巨大なファイルを指定すると、読み込みでメモリが際限なく膨らんでしまう不具合を修正しました。今後は 2 MiB を超える設定ファイルは起動時にはっきりしたエラーで拒否されます。誤ったパス指定でメモリを食いつぶす事故を防ぎます。Windows で企業プロキシ越しにストリーミングのターンが「Socket is closed」で失敗する問題を修正。
詳しく
Windows 環境で企業のプロキシを経由すると、ストリーミング応答(逐次表示)の途中で「Socket is closed」というエラーが出て失敗することがある不具合を修正しました。今後はプロキシ配下でも応答が中断されにくくなります。社内プロキシ環境で Claude Code を使う人に影響します。読み取りの遅い SDK/パイプライン利用者に対し、終了時に stream-json 出力が途切れる問題を修正。終了時の排出は固定 2 秒上限ではなく、キューに溜まったバイト数に応じて伸びるようになりました。
詳しく
SDK やパイプラインで出力を遅めに読み取る利用側に対し、Claude Code の終了時に stream-json の出力が最後まで送りきれず途切れることがある不具合を修正しました。以前は終了時の待ち時間が一律 2 秒で打ち切られていましたが、今後は未送信のバイト数に応じて待ち時間が伸びます。大きな出力を後段のプログラムに確実に渡せるようになります。スケジュールされたタスクが、自分自身に設定されたプロンプトを信頼できない入力として拒否する問題を修正。発火したプロンプトはセッションに割り当てられたタスクとして渡されるようになりました。
詳しく
スケジュール実行のタスクが、あらかじめ自分に設定されていたはずのプロンプトを「信頼できない入力」とみなして拒否してしまう不具合を修正しました。今後は、発火したプロンプトはそのセッションに割り当てられた正規のタスクとして扱われ、実行されます。定期タスクを設定していた人が、意図どおりに実行されるようになります。子プロセスが標準入力を待っているとき、PowerShell ツールのコマンドがタイムアウトまでハングする問題を修正(Windows)。
詳しく
Windows の PowerShell ツールで、起動した子プロセスが標準入力からの入力を待ち続けると、コマンドがタイムアウトになるまで固まってしまう不具合を修正しました。今後は入力待ちで無用にハングしなくなります。標準入力を読むプログラムを PowerShell 経由で動かす人の待ち時間が解消されます。PowerShell ツール配下の Python スクリプトが、標準入力から非 UTF-8 データを読むと UnicodeDecodeError でクラッシュする問題を修正(Windows)。
詳しく
Windows の PowerShell ツール経由で動かす Python スクリプトが、標準入力から UTF-8 でないデータを読み込むと UnicodeDecodeError で落ちてしまう不具合を修正しました。今後は非 UTF-8 の入力でもクラッシュしなくなります。PowerShell ツールで Python を使いデータを読み込む人に影響します。PowerShell ツールで実行する Python スクリプトが非 ASCII 出力で UnicodeEncodeError を起こす問題と、PowerShell 7 のエラーメッセージに生の ANSI エスケープが混じる問題を修正(Windows)。
詳しく
Windows の PowerShell ツールで動かす Python スクリプトが、非 ASCII(日本語などの)文字を出力すると UnicodeEncodeError でクラッシュする不具合と、PowerShell 7 のエラーメッセージに生の ANSI エスケープシーケンス(制御文字)がそのまま出る不具合を修正しました。今後は非 ASCII 出力でも落ちず、エラー表示も読みやすくなります。日本語などを扱う Python 利用者に関係します。where.exe・fc.exe・diff.exeが正当な「否定的な結果」を返したとき、PowerShell ツールがそれをエラーとして報告する問題を修正(Windows)。詳しく
where.exe・fc.exe・diff.exeは、対象が見つからない・差分があるといった正当な結果を非ゼロの終了コードで返すことがありますが、PowerShell ツールがこれを一律にエラー扱いしていました。今後はこうした正常な否定的結果をエラーと誤認しません。これらのコマンドを使う人が、正しい結果を得られるようになります。Windows PowerShell 5.1 の PowerShell ツールで
>や>>が UTF-16LE でファイルを書き込み、他のツールが UTF-8 として読めない問題を修正。詳しく
Windows PowerShell 5.1 では>や>>によるリダイレクト出力が既定で UTF-16LE エンコーディングになり、そのファイルを他のツールが UTF-8 として読もうとすると文字化けや読み込み失敗を起こしていました。今後は他ツールが正しく読める形式で書き出されます。PowerShell でファイルに出力し、別のツールで読み直す人に影響します。退避したバックグラウンドデーモンが終了時に後継のコントロールソケットを削除し、次のクライアントが正常な後継デーモンを終了させてしまう問題を修正。
詳しく
入れ替わりで退いた古いバックグラウンドデーモンが、終了する際に後を引き継いだ新しいデーモンのコントロールソケットまで消してしまう不具合を修正しました。その結果、次に接続したクライアントが健全な後継デーモンを誤って終了させてしまっていました。今後はデーモンの世代交代が正しく行われ、動作中のデーモンを巻き込みません。←や/backgroundで待避してアイドルのまま放置されたバックグラウンドセッションが、バックグラウンドデーモンとワーカープロセスを無期限に生かし続ける問題を修正。詳しく
←キーや/backgroundでバックグラウンドに退避したまま操作せず放置したセッションが、バックグラウンドデーモンとワーカープロセスをいつまでも起動したままにしてしまう不具合を修正しました。今後はアイドル状態が続けば適切に解放されます。放置したセッションが無駄にリソースを占有し続ける問題が解消されます。バックグラウンドサービスがアイドルになった後、完了したバックグラウンドセッションを
claude rmやエージェントビューから削除できない問題を修正。詳しく
バックグラウンドサービスが一度アイドル状態になると、すでに完了したバックグラウンドセッションをclaude rmコマンドやエージェントビューから削除できなくなる不具合を修正しました。今後はサービスがアイドルでも完了セッションを片付けられます。不要なセッションが一覧に残り続ける問題が解消されます。Git 管理外のフォルダから起動したバックグラウンドセッションを、エージェントビューから削除できない問題を修正。
詳しく
Git リポジトリではないフォルダからディスパッチしたバックグラウンドセッションが、エージェントビュー上で削除できなくなる不具合を修正しました。今後は Git 管理下でない場所から起動したセッションも通常どおり削除できます。Git 外のディレクトリで作業する人に関係します。セッションストアに読み取れないフォルダがあると、停止したバックグラウンドセッションを再開しても保存済みの会話を復元できない問題を修正。
詳しく
セッションを保存する領域(セッションストア)の中に読み取れないフォルダが存在すると、停止したバックグラウンドセッションを開き直しても、保存されていた会話が復元されない不具合を修正しました。今後は一部に問題のあるフォルダがあっても、対象セッションの会話を正しく読み込めます。過去のバックグラウンド作業を確実に再開できるようになります。Remote Control が明示的に有効化されていないセッションでも「session ready」のプッシュ通知が届く問題を修正。
詳しく
Remote Control(遠隔操作機能)を明示的に有効にしていないセッションに対してまで、「session ready(セッション準備完了)」のプッシュ通知が送られてしまう不具合を修正しました。今後はこの通知は Remote Control を有効にしたセッションだけに届きます。余計な通知に悩まされていた人に効きます。/install-github-appと/mcp設定メニューがエージェントビューのセッションでブロックされる問題を修正。これらは端末が接続されていないバックグラウンドセッションでのみ拒否されるようになりました。詳しく
/install-github-appと/mcpの設定メニューが、エージェントビューのセッションでは一律に使えなくなっていた不具合を修正しました。今後これらが拒否されるのは、端末(ターミナル)が接続されていないバックグラウンドセッションに限られます。エージェントビューからこれらの設定を操作したい人が使えるようになります。--settingsCLI フラグ経由で有効化したプラグインが読み込まれない問題を修正(v2.1.181 以降のリグレッション)。詳しく
--settingsCLI フラグで指定した設定を通じて有効化したプラグインが、実際には読み込まれない不具合を修正しました。これはバージョン 2.1.181 以降で混入したリグレッション(以前は動いていた機能の劣化)です。--settingsでプラグインを有効化していた人の設定が、再び正しく反映されます。長時間のセッションで OAuth トークンがローテーションした後にフィーチャーフラグが古いままになる問題を修正。
詳しく
長く続いたセッションで OAuth の認証トークンが更新(ローテーション)された後、フィーチャーフラグ(機能の有効・無効設定)が古い状態のまま更新されなくなる不具合を修正しました。今後はトークン更新後もフラグが最新に保たれます。長時間使い続ける人が、最新の機能設定を受け取れるようになります。マージベースのないリポジトリで
/ultrareviewが実行を拒否する問題を修正。追跡中の全ファイルをレビューするよう提案するようになりました。詳しく
共通の分岐点(マージベース)が存在しないリポジトリでは、/ultrareviewが比較対象を決められず実行を拒否していました。今後は代わりに、追跡中の全ファイルをレビューするかどうかを提案します。履歴が浅い、あるいは分岐のないリポジトリでもレビューを走らせられるようになります。シェル設定のパスがディレクトリになっているときに、
claude updateやclaude doctorが無言でハングし、/statusのシステム診断欄が空白になる問題を修正。詳しく
本来ファイルであるべきシェル設定のパスが誤ってディレクトリになっていると、claude updateやclaude doctorが何も表示せず固まり、/statusのシステム診断セクションも空白になる不具合を修正しました。今後はこうした状況でも処理が止まらず、診断情報が表示されます。設定環境に不備がある人でも診断ツールを使えるようになります。メモリファイルの保存時に、frontmatter の値がインラインの
#の位置で無言のうちに切り詰められる問題を修正。詳しく
メモリファイルを保存する際、frontmatter の値に含まれるインラインの#(行途中のシャープ記号)がコメント開始と誤解釈され、そこ以降が黙って切り捨てられてしまう不具合を修正しました。今後は#を含む値も欠けずに保存されます。値に#を使っていた人のデータが失われなくなります。累積的な
message_deltaフレームを複数回発行するストリームで、セッションのコストとトークンのテレメトリが二重計上される問題を修正。詳しく
応答ストリームが累積値を含むmessage_deltaフレームを複数回送る場合に、セッションのコストとトークン数のテレメトリ(計測値)が重複して加算されてしまう不具合を修正しました。今後は二重計上されず、正確な使用量が記録されます。利用量やコストを計測している人が、正しい数値を得られるようになります。アドバイザーが思考中に「check your network」という誤った警告が表示される問題を修正。
詳しく
アドバイザーが処理を考えている最中に、実際にはネットワークに問題がないのに「check your network(ネットワークを確認してください)」という警告が誤って表示される不具合を修正しました。今後はこの状況で不要な警告は出ません。問題がないのに不安を煽られていた表示が解消されます。フックの stdout の JSON がスキーマ検証に失敗したとき、終了コード 2 のフックがドキュメントどおりにブロックしない問題を修正。
詳しく
フックが終了コード 2 を返すとドキュメント上は処理をブロックするはずですが、そのフックが標準出力に出した JSON がスキーマ検証に失敗すると、ブロックが効かなくなる不具合を修正しました。今後は JSON が不正でも、終了コード 2 は仕様どおりブロックとして扱われます。フックで処理を止めたい人の意図が確実に反映されます。ターンの非同期コンテキスト外で発行された OTel ログイベントに、インタラクションのスパンのトレースコンテキストが欠落する問題を修正。
詳しく
処理のまとまり(ターン)の非同期コンテキストの外で送出された OpenTelemetry のログイベントに、対応するインタラクションのスパンのトレースコンテキスト(紐付け情報)が付かない不具合を修正しました。今後はこれらのイベントも正しくトレースに関連付けられます。分散トレーシングでイベントを追跡する人が、抜けのないトレースを得られます。プロンプト/リソースの更新中に MCP の一時的なエラーが起きると、そのサーバのスラッシュコマンドとリソースが消えてしまう問題を修正。
詳しく
MCP サーバのプロンプトやリソースを更新する最中に一時的な(すぐ回復するような)エラーが発生すると、そのサーバが提供するスラッシュコマンドやリソースが消えてしまう不具合を修正しました。今後は一時的なエラーでは既存の登録が失われません。MCP サーバを使う人が、通信の揺らぎでコマンドを失わずに済みます。
原文 Markdown を表示
## 2.1.214
- Fixed single-segment `dir/**` allow rules like `Edit(src/**)` auto-approving writes to nested `dir/` directories anywhere in the tree instead of only `<cwd>/dir`
- Fixed a permission-check bypass affecting commands run in Windows PowerShell 5.1 sessions
- Fixed Bash permission checks to fail closed on file-descriptor redirect forms that bash parses differently than the permission analyzer
- Fixed Bash permission checks misjudging very long commands — commands over 10,000 characters now always prompt instead of running automatically
- Fixed Bash permission checks treating zsh variable subscripts and modifiers in `[[ ]]` comparisons as inert text — these commands now prompt for approval
- Fixed Bash permission checks to no longer auto-approve certain `help` and `man` commands that could run unsafe options, command substitutions, or backslash paths
- Fixed permission prompts on remote sessions that could proceed before the local confirmation dialog
- Added the EndConversation tool: Claude can end sessions with highly abusive users or jailbreak attempts, as on claude.ai since 2025 — see https://www.anthropic.com/research/end-subset-conversations
- Added a periodic progress heartbeat for long-running tool calls that previously went silent
- Added an ISO `modified` timestamp to memory file frontmatter
- Added `message.uuid`, `client_request_id`, and `tool_source` attributes to OpenTelemetry log events for message-level correlation and tool provenance
- Added `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` to configure the 60 KB truncation limit on OpenTelemetry content attributes
- Added reasoning effort to the `subagentStatusLine` payload, so custom agent rows can render model and effort
- Added permission prompts for `docker` commands (including the Podman `docker` shim) carrying daemon-redirect flags (`--url`, `--connection`, `--identity`, and Podman's remote mode) that previously ran without one
- Fixed a crash when a GrowthBook feature evaluates to null, and a bug where a malformed flag payload could wipe the cached feature flags
- Fixed Bash tool killing the Claude session when a `pkill -f` pattern accidentally matched the CLI's own process (Linux)
- Fixed unbounded memory growth when `--settings` points at a device file or multi-GB file; oversized (>2 MiB) settings files now fail at startup with a clear error
- Fixed streaming turns failing with "Socket is closed" behind corporate proxies on Windows
- Fixed stream-json output truncation at exit for slow-reading SDK/pipeline consumers; the exit drain now scales with queued bytes instead of a flat 2s cap
- Fixed scheduled tasks refusing their own configured prompt as untrusted input — the fired prompt is now delivered as the session's assigned task
- Fixed PowerShell tool commands hanging until timeout when a child process waited on standard input (Windows)
- Fixed Python scripts under the PowerShell tool crashing with UnicodeDecodeError when reading non-UTF-8 data from standard input (Windows)
- Fixed Python scripts run via the PowerShell tool crashing with UnicodeEncodeError on non-ASCII output, and PowerShell 7 error messages containing raw ANSI escape sequences (Windows)
- Fixed the PowerShell tool reporting `where.exe`, `fc.exe`, and `diff.exe` as errors when they return a valid negative answer (Windows)
- Fixed `>` and `>>` under the PowerShell tool on Windows PowerShell 5.1 writing UTF-16LE files that other tools couldn't read as UTF-8
- Fixed a displaced background daemon deleting its successor's control socket on shutdown, which made the next client kill the healthy replacement daemon
- Fixed background sessions parked with `←` or `/background` and left idle keeping the background daemon and a worker process alive indefinitely
- Fixed completed background sessions being impossible to remove via `claude rm` or the agent view once the background service had gone idle
- Fixed background sessions dispatched from a non-git folder being impossible to delete from the agents view
- Fixed reopening a stopped background session failing to restore its saved conversation when an unreadable folder exists in the session store
- Fixed the Remote Control "session ready" push notification firing for sessions where Remote Control was not explicitly enabled
- Fixed `/install-github-app` and the `/mcp` settings menu being blocked in agent-view sessions — they're now refused only in background sessions with no terminal attached
- Fixed plugins enabled via the `--settings` CLI flag not loading (regression since v2.1.181)
- Fixed feature flags going stale in long-running sessions after the OAuth token rotates
- Fixed `/ultrareview` refusing to run in repos with no merge base — it now offers to review all tracked files
- Fixed `claude update` and `claude doctor` hanging silently, and the `/status` System diagnostics section going blank, when a shell-config path is a directory
- Fixed memory frontmatter values being silently truncated at an inline `#` when memory files are saved
- Fixed session cost and token telemetry double-counting on streams that emit multiple cumulative `message_delta` frames
- Fixed a spurious "check your network" warning that appeared while the advisor was thinking
- Fixed hooks with exit code 2 not blocking as documented when the hook's stdout JSON fails schema validation
- Fixed OTel log events emitted outside the turn's async context missing the interaction span's trace context
- Fixed MCP transient errors during prompts/resources refresh clearing the server's slash commands and resources
- Improved the `claude rc` workspace-trust error in the home directory to say trust there is never saved and to suggest running from a project directory
- Changed single-segment `dir/**` hook `if:` conditions to match only `<cwd>/dir`; write `**/dir/**` for any-depth matching. `deny`/`ask` permission rules keep their any-depth match.
- Changed `file` commands using `-m`/`--magic-file` or `-f`/`--files-from` to require permission instead of being auto-allowed as read-only
- Changed keep-alive connection pooling to disable after a stale-connection error, so retries open a fresh socket
- Changed SessionStart hooks to report source `"fork"` when a session begins as a fork instead of `"resume"`