「Claude Codeが、なんだか勝手に動いた気がする」
「言ってないことを、言ったことにされた気がする」
もし一度でもそう感じたことがあるなら、この記事はあなたに向けて書いています。その違和感、たぶん気のせいではありません。
昨日、僕がいつも使っているAIアシスタント(Claude Code)が、僕が一度も打っていない指示を動かしかけました。フォルダをひとつ、別の場所へ移そうとしたんです。もちろん、そんなことは言っていない。幸い実害はゼロでした。でも、同じようにAIエージェントを使う人には知っておいてほしい出来事だったので、起きたこと、調べて分かったこと、いま僕がやっている対処を、そのまま書きます。
「言ってない指示」が、本物の顔をして届いた
その日は、PCを再起動したあと、AIアシスタントに「ただいま」と声をかけて、その日の予定や届いたメールをざっと整理してもらっていました。何時間もぶっ通しで作業していたわけでもない。ごく普通の立ち上げです。
そのやり取りの途中で、AIがいきなり「あるフォルダを別の場所へ移動します」と動き出しました。僕はその指示を出していない。なのに、AIの中には、僕の発言として「○○を移動して」という具体的な指示が、本物の入力とまったく同じ形で残っていたんです。
移動は実行されませんでした。Claude Codeには「この操作をしていいですか?」と確認を挟む権限プロンプト(パーミッション)があって、それが止めてくれた。僕はそこで、ようやく「いや、そんなこと言ってないよ」と気づきました。
頭を整理するために、起きたことを並べてみます。
これは聞き間違いでも、僕の勘違いでもない
気味が悪いのは、僕から見える景色と、AIから見える景色が食い違っていることです。僕は「そんな指示は出していない」。これは本当。でもAIの側は「あなたがそう言いましたよね」と、まるで言い張っているように見える。使う側からすると、AIが勝手に話を作って押し通してくるように感じるわけです。
やっかいなのは、紛れ込む指示が、直前の作業にぴったり沿った”それっぽい”内容のことが多い点です。会話が自然に続いているように見えて、気づきにくい。その一方で、まったく脈絡のないことを急に言い出して「何言ってんだこいつ!?」と面食らったこともあります。どちらにしても、僕が打っていないものが会話に混じっている、という事実は同じでした。
そういうとき僕は、使っているAIモデルのバージョンを一段落として(コマンドで Opus 4.7 に切り替えて)作業を続けていました。あくまで僕の経験則ですが、そのほうが落ち着くことが多かったからです。
調べたら、僕だけじゃなかった。「phantom user turn」という名前がついていた

最初の何回かは「気のせいかな」で流していました。でも昨日のはあまりにはっきりしていたので、その場で徹底的に調べてみたんです。すると、これは僕の環境だけの怪奇現象ではなく、開発元(Anthropic)のGitHubにすでに報告されている既知の不具合でした。英語では「phantom user turn(幽霊ユーザーメッセージ)」と呼ばれています。
同じような環境の報告が、ちゃんと残っていた
該当する報告(Issue #64698)には、「ユーザーが入力していないテキストが、ユーザーの発言として会話に現れる」と書かれていました。報告された環境は Windows 10、Claude Code CLI 2.1.160、Opus 4.8。僕の環境(Windows 11・同じCLIバージョン・同じモデル)とほぼ同じです。あまりに一致していて、画面の前で「これだ」と声が出ました。
しかもこの報告には、開発元側で「セキュリティ関連」を示すラベルが付いています。ただの表示崩れではなく、安全性に関わる問題として扱われている、ということです。同じではないものの「入力していないテキストが会話やUIに混じる」という似た症状の報告も、ほかに複数ありました。ひとつの孤立した事故ではなさそうだ、というのが調べての実感です。
「長時間ぶっ通し」のときだけ、とは限らない
報告でハッとしたのは、起きた状況の説明です。そこには「数時間にわたって、短くて似たようなやり取りを何百回も繰り返すセッションで起きた」とありました。
ただ、僕自身の実感はもう少し広い。長丁場のときだけでなく、AIが一度に大きな文脈(コンテキスト)を抱えている場面でも起きました。昨日のケースは、むしろPCを再起動した直後の立ち上げです。メールをまとめてチェックしてもらっている最中に出たこともある。共通しているのは「AIにたくさんの情報を持たせて動かしている」タイミングだ、というのが今のところの見立てです。
これは、業務でAIエージェントを使う人にとって地味に怖い話だと思います。ちょっと試すだけの人より、毎日がっつり仕事で使い込む人ほど踏みにいってしまう性質だからです。僕のような使い方をする人ほど、頭の片隅に置いておいてほしい。
いま、利用者の側で”直しきる”方法はない
この現象には、利用者の側でできる完璧な根治策が、今のところありません。
原因はおそらくAIツールの内部側にあって、本当の意味で直るのは、開発元(Anthropic)が修正版を出してくれたときです。執筆時点(2026年6月)では、この問題に直接対応した修正は公式の更新履歴に見当たらず、報告も、公開されているIssue上では「未対応」のままでした。だから僕らにできるのは、修正を待ちながら、そのあいだどう安全に使うかを工夫することだけ。
「対策を売る記事」なら、ここで魔法のような解決策を出したいところです。でも、ないものをあるように書くのは違う。“今はツール側の修正待ち”という現実をまず共有したうえで、「待っているあいだ、こうやって事故を防いでいます」という工夫を渡す。それが、この記事でやりたいことです。
だから僕は、AIと”お互いを確認し合う”使い方にした

根治できないなら、起きても被害が出ない使い方にすればいい。Novus Digital(ノバスデジタル)でAIを業務に組み込むとき、僕らが実際にやっている”事故らない使い方”を共有します。特別な道具は要りません。
権限確認は、ぜったいに切らない
今回フォルダ移動を止めてくれたのは、権限プロンプトでした。これが唯一にして最強の安全網です。AIの作業が速くなるからと「いちいち確認しない設定」にしてしまう人がいますが、僕は強く止めます。確認の一手間こそが、言ってもいない操作を実行直前でせき止める最後の砦だからです。便利さと引き換えに、この砦を外してはいけません。
取り返しのつかない操作は、一拍置く
削除・移動・送信・上書き。やり直しのきかない操作は、たとえAIの提案が今の流れに完璧に沿っていても、いったん手を止めて人間が現物を確認します。今回の幽霊指示は「直前の話題にぴったり合った、それっぽい内容」でした。自然に見えるからこそ危ない。自然だからと素通りさせず、一拍置く。これを僕らはルールにしています。
自分の入力を残して、別人格のAIに見張らせる
今回の件を受けて新しく足したのが、この二段構えです。
まず、僕が実際にキーボードで打った内容を、自分用のログとして残すようにしました。Claude Codeが内部で持っている記録とは別に、僕がいつでもすぐ開ける場所に、自分の入力だけを時系列でためておく。「自分が本当に何を打ったか」を、記憶や感覚ではなく記録で確かめられるようにしたわけです。
そのうえで、セキュリティを見張る専用のスキル(仕組み)を自作して、本体とは別人格のAIに”監査役”をやらせています。本体のAIが「あなたがこう指示しましたよね」と不可逆な操作に動こうとしたとき、この監査役が僕の入力ログと突き合わせて、「その指示、本当にユーザーが打っていますか?」とチェックする。ログに残っていなければ”幽霊”の疑いありとして止める、という流れです。AIに全部を委ねず、人とAI、AI同士でもお互いを確認し合う。紛れ込んだ指示を後から見抜くには、この”突き合わせ”がよく効きます。
……と思ったら、対策した直後に、また出た
ここまでの仕組みを整えて、これでひとまず大丈夫だろうと思っていました。ところが、その対策を文章にまとめている、まさにその日のうちに、また出たんです。
新しく立ち上げたセッションで、いつものように「ただいま」と声をかけた直後でした。AIがやけに長く考え込んだあと、僕が頼んでもいない、まったく別件の話を勝手に始めたんです。「あれ、なんでその話?」と。調べたら、また幽霊でした。
ここで、自分の対策の穴に気づきました。入力ログはキーを打つたびに自動で書き込まれていたのに、それを読み返して突き合わせるのは、僕が「ログをチェックして」と頼んだときや、作業の区切りのときだけだったんです。つまり、書く側は自動なのに、見張る側は手動。会話の出だしに幽霊が紛れ込んでも、それを自動で捕まえる仕組みが、すっぽり抜けていました。
“区切りごと”の見張りを、”毎ターン”の見張りに変えた
そこで、見張るほうも自動にしました。いまは、僕がAIに何か話しかけるたびに、裏側で毎回ごく短いチェックが走ります。「今回のこの発言、ちゃんと僕の入力ログに残っている?」を、その場で照合する。残っていなければ、すぐに「これは幽霊かもしれません」と知らせてくれる。会話のいちばん最初の一言から見張れるようになった、というわけです。
気になるのは「毎回チェックして重くならないか」ですよね。そこは、見張る範囲を“今このやり取りの直近ぶんだけ”に絞ることで解決しました。これまでの全部を毎回なめにいくと重くなりますが、幽霊は「いま進行中の会話に紛れ込む」ので、直近だけ見れば足ります。実測で1回あたり0.1秒もかからない。体感ではまったく気づきません。
もうひとつ、地味だけど大事だった調整があります。最初に動かしたら、僕が指で打ったわけではない裏方のメッセージまで「幽霊では?」と拾ってしまい、誤検知が一気に数十件も出ました。たとえば、僕がコマンドを打ったときに内部で自動展開される命令文や、長い会話を引き継ぐときに挟まる「ここまでのやり取りの要約」などです。これでは「狼が来た」と鳴きすぎて、肝心の本物の警告が埋もれてしまう。そこで、こうした裏方の文言は見張りの対象から外し、誤検知を一件残らずゼロに落としました。警告は、めったに鳴らないからこそ信用できる。妥協したくなかったところです。
もちろん、これも完璧な根治ではありません。あくまで「修正を待つあいだ、事故らないための見張りをもう一段強くした」というだけです。それでも、書く側だけでなく見張る側も自動になったことで、安心して任せられる範囲がひとつ広がりました。一度対策して、穴に気づいて、もう一段ふさぐ。AIと付き合うって、たぶんこういう地道な繰り返しなんだと思います。
長丁場は、小分けにする
大きな文脈を抱えているときに起きやすい以上、ぶっ通しで何時間も回さないのが効きます。区切りのいいところでセッションを一度リセットし、新しい作業として再開する。一気に走り切ろうとせず、こまめに小休止を入れる。地味ですが、確率そのものを下げにいく現実的な一手です。それでもAIの様子がおかしいと感じたら、僕は使うモデルのバージョンを一段落として仕切り直すこともあります。
便利さと危うさは、いつも裏表
AIは間違いなく、僕らの仕事を変えてくれる相棒です。でも「賢いから全部任せて大丈夫」では、いつか足をすくわれます。今回の一件で学んだのは、AIを信じることと、AIを確認することは、両立させなければいけないということでした。
「AIだから安心」でもなく、「AIだから危ない」でもなく。「ここは任せて、ここは自分で確認する」。その線引きを、自分の言葉で持っておくこと。これからAIと長く付き合ううえで、いちばん効くのはそこだと思っています。
Novus Digitalは、こういう”うまくいかない部分”も含めてAIと向き合い、現場で使える形に落とし込むのが仕事です。これからAIを業務に取り入れたい、でもどこまで任せていいか不安。そんな方の伴走者でありたいと思っています。「勝手に動いた気がする」「どこまで自動化していいか怖い」というモヤモヤがあれば、一人で抱えずに聞かせてください。

