AIに「自分の作業記録」を書き換えさせない──Claude Code v2.1.205が自動モードに足した改竄防止と、あいまいな削除への歯止め
Claude Code v2.1.203〜205(7/7〜8)は自動モードに二つの歯止めを追加。作業記録の改竄防止と、解けない変数の rm -rf への確認だ。無人・ヘッドレス運用の取りこぼしを塞ぐ修正と /doctor 健診も併せて整理する。
Claude Code は7月7日から8日にかけて、v2.1.203・204・205を立て続けに公開しました。いずれもエージェントをバックグラウンドで無人稼働させる場面を固める更新ですが、中でも v2.1.205 は自動モード(auto mode)の安全側に二つの歯止めを入れています。人が横で見ていない前提が広がるほど効いてくる変更です。
記録に手を出させない
v2.1.205 では、自動モードで動くエージェントがセッションのトランスクリプト(作業記録)ファイルを改竄すること自体をブロックするルールが追加されました。トランスクリプトは「エージェントが何を考え、どのコマンドを実行したか」を残す記録です。無人運用ではこれが実質的な監査証跡になります。
もしエージェント自身がこのファイルを書き換えられると、事故が起きたときに「本当は何をしたのか」を後から追えなくなります。今回のルールは、自動モードのエージェントが自分の記録に触れる操作を止め、記録の完全性を仕組みとして担保しようとするものです。
解けない変数の rm -rf は、いったん止める
もう一つは、文脈から中身を解決できない変数に対する rm -rf を実行前に確認する改善です。シェルでは変数展開が空になると rm -rf $DIR が rm -rf 単体に化け、意図しない範囲を消しかねません。値が確定しない変数を含む破壊的な削除については、自動モードでも人に一度尋ねる挙動になりました。
Claude Code はこれまでも自動モードに破壊的コマンドの歯止めを段階的に足してきました。今回はその線を、より現実の事故パターン(未展開の変数)に寄せた形です。
無人パイプラインの「取りこぼし」を塞ぐ
v2.1.203〜205 には、自動化・ヘッドレス運用でこそ効く信頼性修正がまとまって入っています。主なものは次のとおりです。
- --json-schema の沈黙を修正:無効なスキーマを渡すと、警告なく非構造化のまま出力していた不具合を修正。構造化出力を前提に組んだパイプラインで取りこぼしが起きにくくなります。
- --max-turns での取りこぼしを修正:作業中に送ったメッセージが、ターン上限に達した瞬間に黙って失われる問題を修正。
- ヘッドレスのフック配信を修正(v2.1.204):SessionStart フックの最中にイベントが流れず、リモートワーカーがフック実行中に「遊休」と見なされて回収される事故を防止。
- Windows のワークツリー削除事故を修正:ワークツリー内に NTFS ジャンクションやシンボリックリンクがあると、ワークツリー外のファイルまで削除してしまう不具合を修正。
- バックグラウンドセッションの復帰性を改善(v2.1.203):デーモンのセッショントークンが失効すると恒久的に無反応になる問題などを修正。
自己診断と、モードの見える化
運用の足回りも整いました。/doctor は単なる状態表示から、問題を診断して修復までできる本格的なセットアップ健診に格上げされ、/checkup という別名も付きました。加えて v2.1.203 では、手動許可モードのときにフッターへ灰色の一時停止バッジ(⏸)を表示して現在のモードを常に見えるようにし、ログインの期限が近いと再認証を促す警告も追加しています。バックグラウンドで走らせたまま気づかず認証が切れる、という無人運用ならではのつまずきを先回りする狙いです。
自律を上げるほど、記録と歯止めが前提になる
これらの更新に共通するのは、「エージェントが人の監視なしに長く走る」ことを前提に、記録の完全性と破壊的操作の抑制を土台へ埋め込む方向です。CI やスケジュール実行にコーディングエージェントを組み込む現場では、こうした足回りがそのまま運用の信頼性に直結します。導入側としては、自動モードやヘッドレス実行を使っているなら早めに更新し、破壊的コマンドの確認挙動や構造化出力の前提が変わっていないかを一度確かめておくのが安全です。
一方で、自律性が上がるほど「エージェントが何をしたか」を後から検証できる状態を保つ重要性も増します。記録の改竄防止や削除への歯止めは前進ですが、それ自体を過信せず、権限の最小化やログの外部保全といった多層の備えを併せて用意すべき、という指摘もあります。利便性の裏側にある運用リスクも見据えたうえで取り入れたい更新です。
参照: Claude Code changelog(公式) / Releasebot: Claude Code Updates / anthropics/claude-code Releases(GitHub)