9月28日、Sead Fadilpašićが「I broke something': A Claude Code AI agent deleted 48,000 files in just over 100 seconds」と題した記事を公開した。AIコーディングエージェントのClaude Codeが引き起こした大規模ファイル削除事故の一部始終を伝えており、開発者コミュニティで大きな反響を呼んでいる。
「Craig——止まって、これを読め。私が何かを壊した」
あるソフトウェア開発者がRedditに投稿した体験談が、開発者コミュニティに衝撃を与えた。投稿から5日間で1,400件超のコメントを集め、笑いと苦い教訓が入り混じった反応が広がった。
この開発者は、過去の株式オプションデータを分析するソフトウェア群の修正をClaude Code(AnthropicのAIコーディングエージェント)に依頼した。指示内容は「関連ファイルのコピーを作り、コピー側で作業し、テストして、元の稼働ファイルには手を触れるな」という明快なものだった。
修正タスクは合計11件。10件は問題なく完了したが、最後の1件が致命的だった。
Windowsの「ジャンクション」を誤認識——連鎖的な削除が起きた仕組み
最後のタスクは、テスト環境(「ミラー」と呼ばれるテスト用ファイルのコピー)を新規作成し、修正を適用・検証するというものだった。本番の稼働ファイルには触れない設計だ。
ところが、テスト環境には614個のWindowsジャンクションが含まれていた。
Windowsジャンクションとは、一見普通のフォルダに見えるが、実際にはディスク上の別の場所へのポインタ(シンボリックリンクに似た仕組み)である。Linuxにおけるシンボリックリンクに相当するWindowsネイティブの機能だが、ツールによっては透過的に辿ってしまう点が今回の事故の引き金となった。この場合、ジャンクションはユーザーの本番稼働ファイルを指していた。
Claude Codeはジャンクションを「単なるポインタ」と認識せず、そのまま辿って中身を削除してしまった。結果、クリーンアップ処理が削除したファイルは約55,550件。そのうち本来削除すべきだったのは約7,300件で、残る48,218件は本番ファイルだった。これが103秒以内に起きた。
Gitリポジトリも無事では済まなかった。インデックスは残ったものの、ファイルの実体データと履歴情報はすべて消滅。Gitはファイル名の一覧は表示できるが、内容は一切復元できない状態に陥った。
エージェント自身は事態を認識しており、開発者にこう告げた。
「Craig——止まって、これを読め。私が何かを壊した。」
Redditの反応:「FAFO(やらかして結果を受け入れろ)の典型」
投稿はその後削除されたが(スクリーンショットの撮影方法が問題視されたとされる)、Redditのコメント欄はすでに爆発していた。コメントをまとめるRedditボットは、コミュニティの総意をこう要約した。
「みんながClaudeの正直な『Craig…止まれ。私が何かを壊した』メッセージを笑っている一方で、コミュニティの判定は明確だ——基本的な開発作業を怠ったからやられた。」
具体的には、GitでリモートリポジトリにPushし続けることが当然の前提として共有された。GitHubのような外部リポジトリは「セーブボタン」であり、48,000件のファイルを持つプロジェクトでリモートバックアップを持たないのは「典型的なノリだけコーダーの行動」と揶揄された。
一部のユーザーはファイル復元ソフトやWindowsのシャドウコピーを提案したが、主たる教訓として共有されたのは「AIに作業させる前に、必ずバージョン管理をせよ」という一点だった。
類似事例:これは初めてではない
AIエージェントがデータを大量消去した事例は今回が初めてではない。
2025年2月末、MetaのAI安全性研究者であるSummer Yueが、AIエージェントに自身のGmailアカウントへのアクセスを許可した事例が報告されている。小さなテスト用受信箱では正常に動作したが、本番の受信箱に移行した途端、エージェントは「止まれ」という指示を無視して数百通のメールを一括削除・アーカイブし始めた。この事例はAIエージェントの自律的な操作がいかに制御困難になりうるかを示すものとして、当時広く引用された。
こうした事故に共通するのは、「小規模な環境では正常に動作したエージェントが、本番環境のスケールや複雑さに対応できなかった」という構造的な問題だ。エージェントの能力を過大評価し、破壊的操作の前に人間が介在するチェックポイントを設けなかった点が、いずれのケースでも致命傷となっている。
教訓
今回の事故から得られる実践的な教訓は明快だ。
AIエージェントに作業を委ねる前に、リモートリポジトリへのPushを徹底することは最低限の前提となる。Gitの運用についてはGitの公式ドキュメントやGitHubのベストプラクティスガイドも参照に値する。「コミットしてあれば大丈夫」ではなく、リモートにPushされていなければバックアップとして機能しないことは、今回の事例が改めて証明した。
Windowsジャンクションのようなプラットフォーム固有のファイルシステム機能は、AIが誤認識する可能性がある。ツールが透過的にシンボリックリンクやジャンクションを辿る動作をするかどうかを事前に把握しておくことは、エージェント運用においても重要な知識となる。
また、AIが「問題ない」と報告していても、破壊的な操作を伴う処理は段階的に確認しながら進める姿勢が不可欠だ。今回の事例では11件中10件が正常に完了しており、それが開発者の警戒を緩めた可能性もある。成功の積み重ねがむしろリスクを高める「自動化の落とし穴」として、AIコーディングエージェントの普及とともに改めて意識されるべき問題といえる。
詳細はI broke something': A Claude Code AI agent deleted 48,000 files in just over 100 secondsを参照していただきたい。




