Claude Codeの許可確認ポップアップが毎回出てうんざりしている人向け
Claude Codeをしばらく使い込んで、lsやgit statusのような同じコマンドの許可確認ポップアップが何度も出てうんざりしてきた場面で叩く。過去の記録から「いつも許可してる安全なコマンド」をまとめて許可リストにして、確認の回数を減らせる
Claude Codeで作業していると、git status や ls みたいな何の害もないコマンドのたびに「これ実行していい?」という許可確認のポップアップが出ます。1日で何十回と出てくると、Yを押すだけの作業がだるくなってくる。/fewer-permission-prompts は、そのうんざりを減らすためのコマンドです。
やることはシンプルで、過去のやり取りの記録を見て「あなたがいつも許可してる読み取り専用のコマンド」を拾い出し、最初から許可しておくリストを作る提案を出してくれます。公式の説明では「過去のセッション記録をスキャンして、よくある読み取り専用のBashとMCP呼び出しを拾い、.claude/settings.json 用の許可リストを提案する」とされています。
噛み砕くと
新しい職場の初日を思い浮かべてください。最初は何をするにも上司に「これやっていいですか?」と確認しますよね。でも何度も同じことを聞いてるうちに、上司が「あー、その辺は毎回確認しなくていいよ。リストにしとくから」と言ってくれる。あれと同じです。
このコマンドは、あなたが今まで何回も「はい、許可」と答えてきた安全なコマンドを覚えていて、「これはもう聞かなくていいですよね?」とまとめて提案してくれます。提案を受け入れると、次からはそのコマンドが無確認で動く。確認のたびに手を止める回数がぐっと減ります。
地味だけど、効きます。
大事な前提:過去のやり取りの記録が無いと拾うものが少ない
このコマンドは「あなたがこれまで何を許可してきたか」を過去のセッション記録から読み取ります。なので、Claude Codeを入れたばかりで作業履歴がほとんど無い状態だと、拾えるコマンドが少なくて提案もスカスカになります。
逆に言うと、しばらく使い込んで「同じコマンドの確認が何回も出てうんざりしてきた」タイミングで叩くのが一番効く。履歴が溜まってるほど、提案の精度が上がります。
「料理ブログ開発」を例に、実際の手順を見る
cooking-blog という料理ブログのプロジェクトをClaude Codeで開発している、という設定で進めます。作業中、Claudeは中身を確認するために ls や git status を何度も実行しようとして、そのたびに許可確認が出る。これを減らしていきます。
ステップ1: そもそも何回も確認が出ている状態を確認する
料理ブログのコードをClaudeに直してもらっていると、Claudeは現状を把握するために頻繁にこういうコマンドを打ちます。
$ ls
$ git status
$ cat package.json
そのたびに「Bash(ls) を実行していいですか?」みたいな確認が出る。1日で20回も30回も出ると、さすがに手が止まります。
ステップ2: コマンドを叩く
cooking-blog のプロジェクトを開いたまま、Claude Codeの入力欄でこう打ちます。
> /fewer-permission-prompts
コマンドの後ろに何も書き足さず、これだけ。
ステップ3: 過去のやり取りをスキャンする
叩くと、これまでのセッション記録をざっと見て「あなたが何度も許可してきた読み取り専用のコマンド」を集めます。料理ブログ開発でずっと ls や git status を許可し続けてきたなら、その辺が候補に挙がってきます。
ここで初心者がやりがちな勘違いがあります。「全部のコマンドが自動で許可されるんでしょ?」と思いがちですが、違います。拾うのはあくまで読み取り専用の安全なものだけ。あとで触れます。
ステップ4: 提案された許可リストを確認する
スキャンが終わると、許可リストの提案が出ます。公式の説明では、優先度をつけて並べた許可リストを提案するとされています。
中身を見て、納得できるものを採用する流れです。
ステップ5: .claude/settings.json に書き込まれる
提案を受け入れると、cooking-blog プロジェクトの中にある .claude/settings.json という設定ファイルに、許可リストが追加されます。これがこのプロジェクト用の「もう確認しなくていいコマンド集」になります。
ステップ6: 次から確認が減る
設定が入った状態でまた料理ブログを直してもらうと、許可リストに入った ls や git status は確認なしでスッと動きます。さっきまで20回出ていたポップアップが数回まで減る。作業のテンポが戻ってきます。
つまり /fewer-permission-prompts は何をしてくれるのか
- やってくれる: 過去のやり取りから、あなたがよく許可してきた読み取り専用のBash・MCP呼び出しを拾い、優先度をつけて並べた許可リストの提案を出す
- やってくれる: 採用するとプロジェクトの
.claude/settings.jsonにその許可リストを書き足し、次から確認の回数を減らす - やってくれない:
git pushやrm(ファイル削除)のような書き込み・削除系のコマンドを勝手に許可することはしない。対象は読み取り専用だけ - 意味が薄い場面: 使い始めたばかりで過去のやり取りがほぼ無いと、拾える候補が少なくて提案がスカスカになる
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 料理ブログを1週間いじってきて、確認に疲れたとき
cooking-blog を毎日Claudeに直してもらっていると、ls cat git status あたりの確認が1日に何十回も出ます。1週間も経つと履歴がたっぷり溜まっているので、ここで /fewer-permission-prompts を叩くと、まさにその「いつも許可してるやつ」がきれいに提案に上がってきます。採用すれば翌日から確認がガクッと減る。
シナリオ2: 家計簿アプリのプロジェクトを新しく立ち上げたとき
家計簿アプリを別フォルダで作り始めたとします。ここで注意したいのは、書き込み先がそのプロジェクトの中の .claude/settings.json だということ。料理ブログで作った許可リストは家計簿アプリには引き継がれません。新しいプロジェクトで確認が増えてきたら、そのプロジェクトでも改めて叩く必要があります。
シナリオ3: GitHubから持ってきたプロジェクトを読み解いているとき
公開されているプロジェクト一式を自分のパソコンにコピーして中身を調べる場面では、構造を把握するために ls や cat、grep(文字列の検索)を大量に打ちます。中身を見るだけの安全なコマンドばかりなので、ある程度読み進めてから叩くと、調査用のコマンドがまとめて許可リストに入って、以降の読解がスムーズになります。
初心者が踏みやすい落とし穴
- 書き込み系まで許可されると思い込む。対象は読み取り専用だけです。
git pushやrmのような変更・削除コマンドは提案に入らないので、「これで全部無確認になる」という期待は外れます。 - プロジェクトをまたいで効くと思い込む。書き込み先はそのプロジェクトの
.claude/settings.jsonです。全ユーザー共通の設定ファイルではないので、別プロジェクトには効きません。 - 履歴がほぼ無い状態で叩いて「何も出ない」と慌てる。過去のやり取りをスキャンする仕組みなので、入れたてのプロジェクトでは拾える候補が少ないだけです。しばらく使ってから叩き直してください。
- 提案を中身を見ずに丸ごと採用する。優先度をつけて並んではいますが、自分のプロジェクトで「これは確認なしで困らないか」を一応目で見てから入れるのが安全です。
- 初出時の名前で探して見つからない。2026年4月16日のCHANGELOGでは
/less-permission-promptsという表記でした。現在の名前は/fewer-permission-promptsです。古い表記を記事やCHANGELOGで見かけても、同じコマンドのことです。 - 確認が出ること自体を「邪魔」と決めつける。確認はあなたのファイルを勝手に壊させないための安全装置です。減らすのは「何度も許可してきた、見るだけの安全なコマンド」に限るのが本来の使い方です。
書き方
/fewer-permission-prompts
やってみるとこうなる
入力
> /fewer-permission-prompts
出力例
過去のセッション記録をスキャンし、よくある読み取り専用コマンド(ls / git status / cat など)を優先度をつけて並べた許可リストとして提案。採用するとプロジェクトの .claude/settings.json に書き込まれ、次から確認の回数が減る
このページに出てきた言葉
- セッション記録
- Claude Codeとの過去のやり取り(指示と実行されたコマンド)を保存したログ。公式では transcripts と呼ばれる。このコマンドはここを読んで許可候補を拾う
- 読み取り専用
- ファイルやデータを見るだけで書き換えない操作。<code>ls</code>(一覧表示)や <code>git status</code>(変更状況の確認)など
- 許可リスト
- 「このコマンドは確認なしで実行していい」とあらかじめ登録しておくコマンドの一覧。公式では allowlist と呼ばれる
- .claude/settings.json
- プロジェクトごとの設定を書いておくファイル。許可リストの書き込み先はこのプロジェクト用のファイルで、別プロジェクトには効かない
- MCP
- Claude Codeに外部サービスやツールをつなげる仕組み。つないだ先のデータを読みに行く呼び出しもこのコマンドの対象になる