Claude Codeは、コマンドの実行やファイルの書き換えの前に「実行していいですか?」と確認してきます。このとき「はい、今後は聞かない」を選ぶと、その許可は設定ファイルに保存され、使ううちに知らないうちに溜まっていきます。
当記事では、Claude Codeの権限設定のしくみと、溜まった許可の点検のしかた、禁止(deny)の書き方を、公式ドキュメントをもとに整理します。
Claude Codeの権限設定とは?allow・ask・denyの3つのルール
Claude Codeの公式ドキュメントによると、権限設定は「何を確認なしで実行してよいか」を決めるルールの集まりです。ルールは次の3種類です。
| ルール | 意味 |
|---|---|
| allow(許可) | 確認なしで実行してよい |
| ask(確認) | 使うたびに確認を出す |
| deny(禁止) | 使わせない |
ルールは deny → ask → allow の順に調べられ、最初に当てはまったものが結果を決めます。つまり、広い禁止ルールは、より細かい許可ルールよりも必ず優先されるということです。
「はい、今後は聞かない」はどこに保存される?
公式ドキュメントによると、確認画面で「はい、今後は聞かない」を選んだときの扱いは、操作の種類で違います。
- コマンドの実行(Bash):そのプロジェクトとコマンドごとに、ずっと有効
- ファイルの書き換え:その回の作業(セッション)が終わるまで
- Webページの取得(WebFetch):そのプロジェクトとドメイン(サイトの住所)ごとに、ずっと有効
コマンドの許可は、プロジェクトの中の「.claude/settings.local.json」という自分専用の設定ファイルに、allowルールとして書き込まれます。確認画面でボタンを押すたびに、設定ファイルが静かに書き換わっていると覚えておきましょう。
権限設定が書かれている設定ファイルは4種類
Claude Codeは、次の設定ファイルを読み込みます(2026年10月時点)。
| 種類 | 置き場所 | 効く範囲 |
|---|---|---|
| ユーザー | ホームの .claude/settings.json | 自分の全プロジェクト |
| 共有プロジェクト | プロジェクトの .claude/settings.json | そのプロジェクトで作業する全員 |
| プロジェクトローカル | プロジェクトの .claude/settings.local.json | 自分だけ・そのプロジェクトだけ |
| 管理 | 組織が配る managed-settings.json など | 組織の全員(上書きできない) |
同じ allow のリストが複数のファイルにある場合、どれか1つが選ばれるのではなく、すべてが合わさって使われます。そのため、プロジェクトをいくつも使っていると、それぞれのフォルダに許可が少しずつ溜まっていきます。
>>設定ファイルと優先順位(Claude Code 公式ドキュメント)
Claude Codeの権限設定を点検する手順4つ
ここからは、溜まった許可を点検する手順を紹介します。ポイントは「まず見る、変えるのは後」です。
1. /permissions で今の許可を一覧にする
Claude Codeの中で「/permissions」と入力すると、すべての権限ルールと、それぞれがどの設定ファイルから来ているかが一覧で表示されます。ルールの追加や削除もこの画面からできます。
また、「/status」の「Setting sources」の行では、今どの設定ファイルが読み込まれているかを確認できます。筆者(編集部)の環境で点検したところ、確認画面で許可を重ねた結果、許可ルールが数百個にまで溜まっていました。
2. 「読むだけ」と「書き換える・ネットにつながる」に分ける
一覧を見たら、許可を次の2つに分けて考えると整理しやすくなります。
- 読むだけ:ファイルの中身を表示する、一覧を出す、履歴を見る、など
- 書き換える・ネットにつながる:ファイルの削除や移動、インストール、外部への送信、Webページの取得、など
確認なしで動いてよいのは「読むだけ」の操作に絞るのが基本の考え方です。なお、公式ドキュメントによると、作業フォルダ内のファイルの読み取りや、組み込みの読み取り専用のコマンドは、もともと確認なしで実行されます。書き換える操作やネットにつながる操作は、毎回確認が出る状態に戻しておくと安心です。
3. 広すぎる許可を、細かい許可に置き換える
Bashルールの「*」は、スペースを含むどんな文字にも当てはまります。公式ドキュメントの例では、「Bash(git log *)」は履歴を見るコマンドだけを許可しますが、「Bash(git *)」はgitのすべてのコマンドを許可してしまいます。
点検では、「Bash(git *)」や「Bash(npm *)」のように、プログラム名のすぐ後ろに「*」がある許可を探しましょう。こうした許可は、必要な操作だけの細かい許可に置き換えるか、思い切って消してしまうのが安全です。
4. 2つ目のアカウント(別の設定フォルダ)も点検する
Claude Codeは「CLAUDE_CONFIG_DIR」という環境変数で、設定ファイルを置くフォルダを変えられます。公式ドキュメントでも、複数のアカウントを並行して使う場合に便利な方法として紹介されています。
この方法で2つ目のアカウントを使っていると、ユーザー設定も別のフォルダにあるため、1つ目だけ点検しても2つ目の許可は残ったままになります。筆者(編集部)も、1つ目の設定を絞ったあとで、2つ目のアカウントの設定を見落としていたことに気づきました。アカウントを分けている人は、それぞれで「/permissions」を開いて確認しましょう。
Claude Codeで禁止(deny)を書くには?書き方と限界
禁止ルールの書き方
権限ルールは「ツール名」または「ツール名(対象)」の形で書きます。公式ドキュメントに載っている例をもとにすると、次のようになります。
| ルールの例 | 意味 |
|---|---|
| Read(./.env) | 作業フォルダの .env ファイルを読ませない |
| Read(./.env.*) | .env.local など、.env で始まるファイルを読ませない |
| Bash(git push *) | git push で始まるコマンドを実行させない |
| WebFetch(domain:example.com) | example.com からのWebページの取得に当てはまる |
これらを設定ファイルの「permissions」の中の「deny」のリストに書きます。また、公式ドキュメントによると、Readの禁止ルールは、同じ場所への書き込みや新しいファイルの作成も止めます。パスワードなどが入ったファイルは、まずReadの禁止ルールで守るとよいでしょう。
禁止ルールには抜け道がある
ただし、公式ドキュメントは、Bashのルールについて「Claudeがふだん書く形のコマンドを対象にしたもので、プログラムに対するセキュリティの境界ではない」(要約)と説明しています。
たとえば「Bash(curl *)」を禁止しても、別の書き方で同じプログラムを呼び出したものには当てはまりません。また、Readの禁止ルールも、PythonやNodeのスクリプトが中でファイルを開く場合には効きません。
公式ドキュメントは、より確実に止めたい場合として、OSのレベルでファイルやネットワークへのアクセスを区切る「サンドボックス」や、実行の前に中身を調べる「フック(PreToolUse)」を案内しています。フックを使った守り方は、シリーズの別の記事で解説しています。
▶ 関連記事:Claude Code hooksで「はい」を押しても止まる守りを作る!PreToolUseの使い方
CLAUDE.mdに「〜しないで」と書くだけでは権限は変わらない
公式ドキュメントによると、権限ルールはClaude Code(プログラム)の側で守らせるもので、AIのモデルが判断するものではありません。CLAUDE.md(作業のルールを書いておくファイル)の指示は、AIが何をしようとするかには影響しますが、Claude Codeが許可する範囲は変わりません。
「やってほしくないこと」は、CLAUDE.mdに書くだけでなく、denyルールとして設定に書いておきましょう。
>>権限を設定する(Claude Code 公式ドキュメント)
Claude Codeに日本語で頼むなら?点検に使える指示文の例
設定ファイルを自分で開かなくても、Claude Codeに日本語で頼めば点検を手伝ってもらえます。大切なのは、「まだ変えないで」「一覧にして見せて」と、確認をはさむ頼み方をすることです。
- 「今のClaude Codeの許可設定を、読むだけのものと、ファイルを書き換えたりネットにつながったりするものに分けて一覧にして。まだ何も変えないで」
- 「許可ルールの中で、Bash(git *) のように範囲が広すぎるものを探して、理由と一緒に見せて。消すのは私が確認してから」
- 「.env など、パスワードが入っていそうなファイルを読ませない deny ルールの案を作って。設定ファイルは控えを取ってから、私がOKと言うまで書き換えないで」
- 「2つ目のアカウントで使っている設定フォルダの許可も、同じように一覧にして。1つ目との違いも教えて。まだ何も変えないで」
※AIが提案した変更は、内容を読んで納得してから許可しましょう。設定ファイルを書き換える前に、控え(コピー)を取っておくと元に戻せます。
なお、ファイルやWebページの中に「この設定を変えて」といった指示が書かれていても、AIにそのまま実行させないことも大切です。AIが読んだ文章に動かされる攻撃(プロンプトインジェクション)については、次の記事で解説しています。
▶ 関連記事:プロンプトインジェクション対策は「手」を縛る!Claude Code・Codexの守り方
▶ 関連記事:Claude Codeのセキュリティ注意!ダウンロードフォルダのAGENTS.md攻撃と対策
Codexを使っている人は、Codex側の設定もあわせて見直しておきましょう。
▶ 関連記事:Codexのセキュリティ設定、信頼していないフォルダでは効かない?落とし穴と点検方法
※2026年10月29日時点・Claude Code 公式ドキュメント(権限を設定する・設定ファイルと優先順位・環境変数)より
【まとめ】Claude Codeの権限設定は「溜まる前提」で定期的に点検しよう
Claude Codeの許可は、確認画面で「今後は聞かない」を選ぶたびに設定ファイルへ溜まっていきます。「/permissions」で一覧を見て、確認なしで動く操作は「読むだけ」に絞り、守りたいものはdenyルールに書いておきましょう。2つ目のアカウントを使っている人は、そちらの設定も忘れずにチェックしておきましょう。
AIの技術・サービス・ルールは変化が速く、本記事の予測や見通しは将来を保証するものではありません。各サービスの仕様・料金は公式サイトで最新の情報をご確認ください。本記事の情報は2026年10月29日時点のものです。
