Claude Code の承認ゲートは、「実行の前に人が見て止められる」ことが安全の核だ。ところが VS Code の拡張機能では、その「見る」が抜け落ちることがある。
起票 #71511 で報告されているのはこれだ。Edit の道具が呼ばれて承認のプロンプトは出るのに、VS Code の差分(diff)のビューが出ない。承認するか拒否するかのボタンはあるのに、何が変わるのかが見えない。つまり、中身を見ないまま「はい」を押している(報告によると、しばらく使っていると起きるという。ここは伝聞として書いている)。
なぜこれが危ないか
承認のプロンプトは、見た目には安全装置に見える。でも差分が出ていなければ、それは安全の演技でしかない。押す前に見えていないなら、止められるものも止められない。
具体的に何をすり抜けるか。Edit の道具は、引用符の正規化や周辺の文脈の一意性の判定で、狙いと違う行を静かに書き換えることがある。差分が出ていれば「あれ、ここじゃない」と気づける。出ていなければ、間違った編集がそのまま着地し、気づくのは後だ。節がまるごと消えていても、同じだ。承認したのは自分なので、git の履歴を見ても「自分でやった変更」にしか見えない。
承認の数をこなすほど、見ないで押す癖がつく。そこが一番あぶない。
差分が出ない時の自衛(ここは原理として断定する)
考え方は一つ。「見えないなら、見えるところまで戻ってから承認する」。
-
差分が出ないなら、その場で承認しない。 一度「拒否」して、変更の対象のファイルを自分で開き、何が変わるのかを確かめてから、もう一度やらせて承認する。見ないで押すより、一手間の方が安い。
-
git を本当の安全網にする。 承認の多いセッションに入る前に、節目のコミットか、
git stash create(作業ツリーも索引も触らずに識別子だけ返す非破壊の退避)でスナップショットを取っておく。そうすれば、git diffが、承認の一つ一つが実際に何を変えたかを後から見せてくれる。間違った編集が一つ混じっていても、その差分だけを戻せる。IDE の差分が出ないぶんを、git の差分で取り返す。
-
一区切りごとに
git diffで「承認した結果」を点検する。 プロンプトを信じるのでなく、着地した変更を見る。承認の時点で見えなかったぶんを、ここで補う。
承認のゲートに「見える」が伴っていないなら、見せられる道具(git)に頼る。これは拡張の差分が直るまでの当面の手当てだが、そもそも「承認の前に必ず差分を見る」「破壊的な変更の前に退避を取る」は、IDE が正常な時にも効く規律だ。
もう少し広く、「気づかないうちに壊れる」を塞ぎたい人へ
今回のは「差分が見えないまま承認する」一つの経路だが、Claude Code が自分のファイルを変えて、見えない・戻せない瞬間は他にもある。Edit が引用符の混在で別の行を書き換える、Write が「追記して」の指示でファイルを丸ごと置き換える、git 管理から外したファイルが消える——いずれも「成功と返ってくるのに、実は壊れている」型だ。
これらを、実際に起きた事故から逆算して、検出(何を見れば気づけるか)と予防(設定でどう先回りで止めるか)の形で一冊にまとめている。800時間以上、Claude Code をほぼ自律で走らせる中で踏んだ事故と、そのどれもが設定で先回りすれば防げることを、再現できる手順として整理した本だ。
巻頭に「症状から該当章へ飛べる事故対応の早見表」を無料で置いてある。差分を見ないで承認して何かを壊した経験があるなら、まずそこだけでも見てほしい。無料の安全装置の集まり cc-safe-setup も公開している。
この記事は GitHub の起票 #71511 を出発点に、利用者の側で今できる自衛をまとめたものです。事故そのものは報告の伝聞として、自衛の手順は一般的な原理として、区別して書いています。
ほかにも、800時間の運用データから、トークン消費の削減・複数ベンダー(Claude / Codex / Gemini / Copilot)の並行運用・サブエージェントの沈黙の失敗対策など、テーマ別の手引きを公開しています。気になる人は著者の本の一覧から、価格と評価を見て選べます。