Dance with Agents

「コマンド承認地獄」との付き合い方

使い始めてすぐに訪れる「承認の壁」

エージェントに何か頼むと、思ったより早く壁にぶつかります。「このコマンドを実行していいですか?」という確認が、次から次へと表示されるのです。ファイルを1つ見るだけのlsのような、何も壊しようがない操作にまで許可を求められることもあります。

これに「コマンド承認地獄」という名前をつけてみました。使い始めた人がほぼ全員通る、最初の関門です。

なぜ毎回聞かれるのか

エージェントは、あなたの代わりに実際にパソコンを操作します。ファイルを作ったり、削除したり、外部と通信したりする力を持っています。だからこそ「言われた通りに何でも黙々とやる」のではなく、実行する前に一つひとつ「これをやりますが、いいですか?」と確認を挟む仕組みになっています。

これは壊れているわけでも、エージェントが頼りないわけでもありません。むしろ、意図して作られた安全装置です。

しかも最初はコマンド自体になじみがない

厄介なのは、初心者には、確認されている内容(「git statusを実行しますか?」のような一文)自体の意味が、最初はよく分からないことです。何を確認されているのかも分からないまま、次々と「はい」を押すことになる——これが地獄感の正体です。

正解は「慣れる」ことではありません

先に、はっきり言っておきます。

これは我慢して慣れるものではありません。 使い続けても、聞かれ続ける限り鬱陶しさは消えません。むしろ、作業に乗ってきたところを何度も止められるので、日に日に腹が立ってきます。git statusやfindのような、どうでもいい・何も壊さないコマンドにまでいちいち許可を求められるのは、本当に苦痛です。

正解は、許可リストを育てて、聞かれないようにしてしまうことです。

許可リストを育てる

エージェントには「このコマンドは毎回聞かなくていい」と登録しておく仕組みがあります。安全だと分かっているものから、どんどん通してしまいましょう。

一番手っ取り早いのは、その設定自体をエージェントに書いてもらうことです。 「git statusみたいな読むだけのコマンドは、いちいち聞かずに実行していいよ。設定に書いておいて」と頼めば、設定ファイルの場所も書き方も覚えずに済みます。

聞かれて煩わしいと感じたコマンドがあれば、その都度追加していく。これを繰り返すうちに、確認はほとんど出なくなります。

ただし「全部許可」は別の話

とはいえ、面倒だからといって何もかも一括で許可してしまうのは行き過ぎです。

読むだけのコマンド(状態を見る、探す、表示する)と、削除したり書き換えたりするコマンドは、危険度がまるで違います。特にrmのような削除系まで無条件に通してしまうと、取り返しがつかなくなることがあります。

煩わしいものを個別に通していくのと、全部まとめて通すのは別物です。前者をやりましょう。(このあたりは別記事「エージェントに『全部許可』を与えることのリスク」「許可モードの基本」で詳しく扱います)

分からないコマンドは、その場で聞く

許可するか判断できないコマンドが表示されたら、エージェント自身に「これは何をするコマンド?」と聞いてしまいましょう。いちばん手軽な先生は、目の前にいます。

ただし、その説明を全面的に信じきらないでください。エージェントはもっともらしい説明を自信たっぷりに作ってしまうことがあります(→ハルシネーション)。とくに削除する・上書きするコマンドを許可する場面では、説明を鵜呑みにせず、UNIXコマンド一覧で自分でも確かめるのが安全です。

ただし、質問を重ねればトークンも消費します。そのあたりの節約術はトークン節約のためのモデル選びをどうぞ。

まとめ

承認地獄は、耐えるものではなく設定で解消するものです。「そういうものだ」と諦めて我慢し続けている人が案外多いのですが、早めに許可リストを整えてしまったほうが、精神衛生上も作業効率上も、圧倒的に良いです。

追記(2026-08-09):Claude Codeでは「都度確認」自体がデフォルトでなくなる

この記事を書いた2日後、AnthropicがClaude Codeの「auto mode」をデフォルト化すると発表しました。2026年8月14日から、Pro・Max・Teamプランの新規セッションでは、この記事で説明してきた「毎回聞かれる」方式そのものがデフォルトではなくなります(Enterprise・APIは当面オプトイン扱いで、1か月以内に見直し予定とされています)。

auto modeは、上で紹介した「許可リストを育てる」やり方とは仕組みが違います。コマンドを一つずつ照合するリストではなく、実行前にAIの分類器がその場で「危険か・安全か」を判定し、危険なものだけブロックしたり確認を挟んだりする方式です。すでに自分で許可モードを設定している人は、切り替えるかどうかを1回だけ確認されます(設定ドキュメント)。

この変更の根拠として、Anthropicは次のような調査結果を挙げています。

  • 人間は確認画面の97%をそのまま承認してしまっている(見た目は確認でも、実質は素通り)
  • 1,053人が参加した対照実験で、危険なコマンドを人間は13.6%しか拒否できなかったのに対し、auto modeは89%をブロックした
  • セッションが長くなるほど人間の検出率は下がり、約50回のやり取りを超えると5%程度まで落ちるが、AIの検出率は一貫していた

つまり、この記事の前提だった「エージェントは安全装置として、実行前に一つひとつ確認を挟む仕組みになっている」という一文自体が、Claude Codeに関しては8月14日から半分過去のものになります。

ただし、この記事の中身が丸ごと不要になるわけではありません。

  • 都度確認に戻したい場合は、CLIならShift+Tab、デスクトップ版ならドロップダウンでいつでも切り替えられる
  • auto modeの下でも、「pushやPR作成の前だけは必ず確認してほしい」のような人間のチェックポイントはpermissions.askで個別に設定できる(許可リストの発想と同じ)
  • Enterprise・APIや、Claude Code以外のエージェントを使っている場合は、当面この記事で書いた「許可リストを育てる」やり方がそのまま必要になる

「確認されて当たり前」だった前提が動く、という話として読んでもらえればと思います。

セキュリティの記事

セキュリティのページへ →