Claude Codeを初めて触った人がだいたい戸惑うのが、作業の途中で「この操作を実行してよいですか」と確認が入ることです。私も最初は、いちいち止まるのを面倒に感じました。

ただ、この確認はpermission(権限)という大事な仕組みです。意味を知ると、面倒どころか頼もしく見えてきます。

「実行してよいですか」と聞かれる理由

Claude Codeは、ファイルを書き換えたり、パソコン上でコマンドを動かしたりできます。便利な反面、これは「間違った操作も実行できる」ということでもあります。

だからClaude Codeは、影響の大きい操作をする前に、いったん人間に確認を取ります。ファイルの編集、コマンドの実行、外部との通信。こうした操作のたびに「やっていいか」を聞く。暴走を防ぐためのブレーキだと考えてください。

私は一度、確認画面で初めて「あ、それは消さないで」と止めたことがあります。あの確認がなかったら、と思うとぞっとしました。

permissionは3段階で考える

permissionの考え方は、3つに整理すると分かりやすいです。

  • 許可 — 確認なしで実行してよい操作
  • 確認 — 実行前に毎回たずねる操作
  • 拒否 — そもそも実行させない操作

初期状態では、多くの操作が「確認」に入っています。だから最初はいちいち聞かれる。使い込むうちに、安全な操作を「許可」に移し、危ない操作を「拒否」に固定していく。この振り分けがpermission設定の中身です。

/permissions コマンドで今の設定を見る

いまどう設定されているかは、Claude Codeのプロンプトで /permissions と打つと確認できます。

許可されている操作、確認が必要な操作、拒否されている操作が一覧で出ます。ここから設定を足したり消したりもできる。まずは現状を眺めてみるのがおすすめです。

設定はプロジェクトごとに .claude/settings.json というファイルにも書けます。設定ファイル全般の話は別記事にまとめてあります。

よく使う操作を許可リストに入れる

毎回同じ操作で確認されると、さすがに作業が止まります。

そこで、安全だと分かっている操作は「許可」に移します。たとえば、ファイルの中身を読むだけの操作や、変更内容を確認するだけのコマンド。これらは何度実行しても害がないので、許可リストに入れてしまってよい。

逆に、ファイルを消す操作や、外部にデータを送る操作は「確認」のまま残す。「害のない操作は許可、取り返しのつかない操作は確認」。この線引きを自分の中に持っておくと、設定で迷いません。

全部スキップする設定の危うさ

Claude Codeには、確認をすべて飛ばすモードもあります。確認が一切入らないので、作業はたしかに速くなります。

ただ、これはブレーキを外して運転するようなものです。AIが意図しない操作をしても、止める機会がない。私は、使い捨ての検証環境でしか使いません。大事なファイルがある場所や、本番に関わる作業では絶対に使わない。

速さと引き換えに失うものが大きすぎる、というのが私の結論です。業務で使う時の安全面の基本は、別記事にもまとめています。

私の設定の落としどころ

参考までに、私のふだんの設定の方針を書きます。

読み取り系の操作と、変更内容の確認コマンドは「許可」。ファイル編集は「確認」のまま残して、毎回ざっと目を通す。削除や外部送信は、プロジェクトによっては「拒否」に固定する。確認スキップのモードは、捨ててよい環境だけ。

最初から完璧に設定する必要はありません。使いながら「この確認は要らないな」と思った操作を、少しずつ許可に移していく。それで十分に育ちます。

まとめ

  • Claude Codeは影響の大きい操作の前に実行可否を確認する
  • permissionは許可・確認・拒否の3段階で考えると整理しやすい
  • 現状は /permissions コマンドで確認・変更できる
  • 害のない操作は許可リストへ、取り返しのつかない操作は確認のまま
  • 確認を全部スキップするモードは、捨ててよい環境だけで使う
  • 設定は最初から完璧でなくてよい。使いながら育てる