
Claude Code権限設定の上級者向け9項目|deny・ask・allowの落とし穴を公式から整理
- 割引あり
【PR】この記事はAmazonアソシエイトのリンクを含みます。Amazonのアソシエイトとして、mononofu26は適格販売により収入を得ています。
Claude Code を使い込むほど、確認の画面を押し続けることに疲れてきます。かといって、確認をすべて外すのは怖い。そこで出番になるのが権限ルール(permissions)です。ただ、ルールを書き始めると、「deny に書いたのに止まらなかった」「allow に書いたのに毎回聞かれる」といった、思ったとおりに動かない場面に出会います。
この記事は、2026年10月25日に開いた公式の permissions ページ(と best-practices ページ)の記述だけをもとに、上級者が見落としやすい9項目を整理したものです。バージョンによって仕様が変わる部分があるので、断定を避けて「公式にこう書かれている」という形で書きます。第三者の記事で見かけた設定例は、公式で裏付けが取れたものだけを使います。
結論を先に書きます。権限ルールの落とし穴の大半は、評価順、Bash パターンの一致のしかた、秘密ファイルの守り方の限界、無人実行のモード選びの4か所に集中しています。
前提: 権限ルールの基本
ルールは3種類です。allow は確認なしで許可、ask は実行前に確認、deny は禁止です。書式は「ツール名(条件)」で、たとえば Bash(npm run ) や Read(./secrets/*) のように書きます。設定は /permissions で一覧でき、どの設定ファイル由来のルールかも見られます。
最初に、確認なしで通る範囲を知っておきます。公式の表では、Manual モード(既定)での挙動は次のとおりです。
ファイルの読み取りや検索: 作業ディレクトリと追加ディレクトリの中なら確認なし
Bash コマンド: 確認が必要。ただし、組み込みの読み取り専用コマンドの集合は除く
ファイルの編集・書き込み: 確認が必要
Web の取得: 確認が必要。ただし、事前承認された文書ドメインは除く
Web 検索: 確認が必要
そして最も大事な前提があります。公式は、権限ルールは Claude Code が強制するもので、モデルが決めるものではないと明記しています。プロンプトや CLAUDE.md に書いた指示は、Claude が何を試みるかを方向づけますが、Claude Code が何を許可するかは変えません。止めたい操作は、CLAUDE.md ではなくルールで止めます。
9項目の見取り図
9項目は5つのグループに分かれます。
評価順(項目1・2): deny が先、特定の許可で例外は作れない
Bash パターン(項目3・4・5): スペースの有無、複合コマンド、回避される書き方
秘密ファイル(項目6・7): Read の deny で止まる範囲と、止まらない範囲
パスの書き方(項目8): 書式の種類と、効かないルール
モードと無人実行(項目9): dontAsk、auto、bypass の使い分け
上級者が最初に見直す3点
全項目を読む前に、いますぐ確認できる3点を挙げます。
秘密ファイル(認証情報を置いたファイルなど)を Read の deny に入れているか
deny に書いた Bash の禁止コマンドが、フルパスや sh -c 経由で回避されない前提で運用していないか
無人で動かす用途に、bypassPermissions を使っていないか
詳しい理由と直し方は、有料部分の各項目で説明します。
なぜ落とし穴が生まれるのか
権限ルールは、見た目は単純な許可リストですが、実際には評価順、文字列の一致、OS との境界という三つの層が重なっています。ここを一つの層だけで理解していると、書いたルールが思った範囲と違う場所に効いてしまいます。
特に多いのは、次の三つの思い込みです。
具体的に書いたルールのほうが優先されるはず、という思い込み
コマンドの名前を書けば、どんな呼び方でも止まるはず、という思い込み
deny に書けば、どの経路でも読めなくなるはず、という思い込み
どれも公式の記述と照らすと、成り立たない場面があります。有料部分では、この三つを公式の文面で一つずつ確かめ、書き換えの考え方まで示します。設定ファイルを一行ずつ見直す時間を取れる人ほど、読んだ直後から使えるはずです。
読む順番のおすすめは、先に上の3点を自分の設定と見比べ、引っかかった項目だけを有料部分で読むことです。9項目を通しで読む必要はありません。ただし、評価順の項目だけは、全員が一度は目を通しておくと安心です。
あわせて読みたい
この続き(有料部分)で手に入るもの:
評価順の落とし穴(項目1・2): deny が必ず先に勝つ理由と、ツール名だけの deny がツールごと消す挙動
Bash パターンの書き方(項目3〜5): Bash(ls ) と Bash(ls) の違い、複合コマンドの扱い、回避される形の一覧
秘密ファイルの守り方(項目6・7): Read の deny の効く範囲と効かない範囲、サンドボックスとの併用
パスの書式と効かないルール(項目8): // と ~/ の使い分け、Write や Glob に書いても一致しない理由
無人実行のモード選び(項目9)と、導入前の確認リスト