SpyBara
Go Premium

permission-modes.md 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

52 added, 27 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

権限モードを選択する

Claude がファイルを編集またはコマンドを実行する前に確認するかどうかを制御します。CLI で Shift+Tab でモードをサイクルするか、VS Code、Desktop、claude.ai のモードセレクターを使用します。

Claude がファイルを編集、シェルコマンドを実行、またはネットワークリクエストを行いたい場合、一時停止してアクションを承認するよう求めます。権限モードは、その一時停止がどのくらいの頻度で発生するかを制御します。選択するモードはセッションのフローを形作ります。デフォルトモードではアクションが来るたびにレビューし、より緩いモードでは Claude が長い中断のない作業を行い、完了時に報告できます。機密作業には監視を強化し、信頼できる方向性には中断を減らしてください。

利用可能なモード

各モードは利便性と監視のバランスが異なります。以下の表は、各モードで権限プロンプトなしで Claude が実行できることを示しています。

モード 確認なしで実行されるもの 最適な用途
default 読み取りのみ 開始、機密作業
acceptEdits 読み取り、ファイル編集、一般的なファイルシステムコマンド(mkdirtouchmvcp など) レビュー中のコードの反復処理
plan 読み取りのみ コードベースの探索、変更前
auto すべて、バックグラウンド安全チェック付き 長時間タスク、プロンプト疲労の軽減
dontAsk 事前承認済みツールのみ ロックダウン CI とスクリプト
bypassPermissions すべて 隔離されたコンテナと VM のみ

bypassPermissions を除くすべてのモードで、保護されたパスへの書き込みは自動承認されることはなく、リポジトリ状態と Claude 独自の設定を偶発的な破損から保護します。

モードはベースラインを設定します。権限ルールを上に層状にして、特定のツールを事前承認またはブロックします。拒否ルールと明示的な確認ルールは bypassPermissions を含むすべてのモードで適用されます。許可ルールはそのモードでは効果がありません。他のすべてが既に承認されているためです。

権限モードを切り替える

セッション中、起動時、または永続的なデフォルトとしてモードを切り替えることができます。モードは Claude にチャットで尋ねるのではなく、これらのコントロールを通じて設定されます。以下からインターフェースを選択して、変更方法を確認してください。

セッション中Shift+Tab を押して defaultacceptEditsplan をサイクルします。現在のモードはステータスバーに表示されます。すべてのモードがデフォルトサイクルに含まれるわけではありません。

  • auto:アカウントが auto モード要件を満たす場合に表示されます。auto へのサイクルはオプトインプロンプトを表示し、それを受け入れるか、いいえ、今後は聞かないでください を選択して auto をサイクルから削除するまで続きます
  • bypassPermissions--permission-mode bypassPermissions--dangerously-skip-permissions、または --allow-dangerously-skip-permissions で開始した後に表示されます。--allow- バリアントはモードをサイクルに追加しますが、アクティブ化しません
  • dontAsk:サイクルに表示されることはありません。--permission-mode dontAsk で設定します

有効なオプションモードは plan の後にスロットインし、bypassPermissions が最初で auto が最後です。両方が有効な場合、bypassPermissions から auto へのサイクルを通過します。

起動時:モードをフラグとして渡します。

claude --permission-mode plan

デフォルトとして設定defaultMode を設定します。

{
"permissions": {
"defaultMode": "acceptEdits"
}
}

同じ --permission-mode フラグは 非対話的実行用に -p で機能します。

acceptEdits モードでファイル編集を自動承認する

acceptEdits モードでは Claude はプロンプトなしに作業ディレクトリ内のファイルを作成および編集できます。このモードがアクティブな間、ステータスバーは ⏵⏵ accept edits on を表示します。

ファイル編集に加えて、acceptEdits モードは一般的なファイルシステム Bash コマンドを自動承認します。mkdirtouchrmrmdirmvcpsed。これらのコマンドは LANG=C または NO_COLOR=1 のような安全な環境変数、または timeoutnicenohup のようなプロセスラッパーでプレフィックスされた場合にも自動承認されます。ファイル編集と同様に、自動承認は作業ディレクトリまたは additionalDirectories 内のパスにのみ適用されます。そのスコープ外のパス、保護されたパスへの書き込み、その他すべての Bash コマンドはまだプロンプトが表示されます。

PowerShell ツールが有効な場合、acceptEdits モードはスコープ内のパスに対して Set-ContentAdd-ContentClear-ContentRemove-Item も自動承認し、それらの一般的なエイリアスも承認します。同じスコープと保護されたパスのルールが適用されます。

事実後にエディターまたは git diff 経由で変更をレビューしたい場合、各編集をインラインで承認するのではなく acceptEdits を使用します。デフォルトモードから Shift+Tab を 1 回押して入るか、直接開始します。

claude --permission-mode acceptEdits

計画モードで編集前に分析する

計画モードは Claude に変更を加えずに調査と提案を行うよう指示します。Claude はファイルを読み、シェルコマンドを実行して探索し、計画を書きますが、ソースを編集しません。権限プロンプトはデフォルトモードと同じように適用されます。

Shift+Tab を押すか、単一のプロンプトに /plan をプレフィックスして計画モードに入ります。CLI から計画モードで開始することもできます。

claude --permission-mode plan

計画モードを終了するには Shift+Tab を再度押し、計画を承認しません。

計画をレビューして承認する

計画の準備ができたら、Claude はそれを提示し、どのように進めるかを尋ねます。そのプロンプトから以下を実行できます。

  • 承認して自動モードで開始
  • 承認して編集を受け入れる
  • 承認して各編集を手動でレビュー
  • フィードバック付きで計画を続ける
  • Ultraplan でブラウザベースのレビュー用に改善

計画を承認すると、計画モードを終了し、セッションを各承認オプションが説明する権限モードに切り替えるため、Claude は編集を開始します。再度計画するには、Shift+Tab で計画モードに戻るか、次のプロンプトに /plan をプレフィックスしてください。

Ctrl+G を押して、提案された計画をデフォルトのテキストエディタで開き、Claude が進める前に直接編集できます。showClearContextOnPlanAccept が有効な場合、各承認オプションは計画コンテキストを最初にクリアするオプションも提供します。

計画を受け入れると、--name または /rename で既に名前を設定していない限り、計画コンテンツからセッションに自動的に名前が付けられます。

計画モードをデフォルトとして設定する

プロジェクトのデフォルトとして計画モードを設定するには、.claude/settings.jsondefaultMode を設定します。

{
  "permissions": {
    "defaultMode": "plan"
  }
}

自動モードで権限プロンプトをなくす

自動モードでは Claude はルーチンの権限プロンプトなしで実行できます。別の分類器モデルはアクション実行前にアクションをレビューし、リクエストを超えてエスカレートするもの、認識されないインフラストラクチャをターゲットにするもの、または Claude が読んだ敵対的なコンテンツによって駆動されているように見えるものをブロックします。明示的な ask ルール は依然としてプロンプトを強制します。

自動モードはまた Claude に明確化の質問を停止せずに作業を続けるよう促します。ただし、Claude はプロンプトまたはスキルが明示的にそれに依存する場合は依然として質問します。権限プロンプトを保持しながらより強い自律的な動作を取得するには、代わりに プロアクティブ出力スタイル を設定してください。

自動モードはアカウントがこれらすべての要件を満たす場合にのみ利用可能です。

  • プラン:すべてのプラン。
  • 所有者:Team と Enterprise では、所有者がユーザーがオンにできるようにする前に Claude Code 管理設定 で有効にする必要があります。管理者は 管理設定permissions.disableAutoMode"disable" に設定することでロックオフすることもできます。
  • モデル:Anthropic API では Claude Opus 4.6 以降、または Sonnet 4.6 以降。Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry、および署名済み Claude apps gateway セッションでは、Claude Sonnet 5、Opus 4.7、および Opus 4.8 のみ。Sonnet 4.5、Opus 4.5、Haiku、claude-3 モデルを含む古いモデルはどのプロバイダーでもサポートされていません。
  • プロバイダー:Anthropic API ではデフォルトで利用可能です。Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry、および署名済み Claude apps gateway セッションでは、CLAUDE_CODE_ENABLE_AUTO_MODE を設定 するまで自動モードはオフです。

Claude Code が自動モードを利用不可と報告する場合、これらの要件のいずれかが満たされていません。これは一時的な停止ではありません。モデルに名前を付けて自動モードが「アクションの安全性を判断できない」と言う別のメッセージは一時的な分類器停止です。エラーリファレンス を参照してください。

設定defaultMode: "auto" を設定し、セッションがエラーなしで default モードで開始する場合、設定は .claude/settings.json または .claude/settings.local.json にある可能性があります。Claude Code v2.1.142 以降はこれらのファイルから auto を無視するため、リポジトリは自動モードを自身に付与することはできません。~/.claude/settings.json に移動してください。

Bedrock、Vertex AI、または Foundry で自動モードを有効にする

Amazon BedrockGoogle Cloud Vertex AIMicrosoft Foundry、および署名済み Claude apps gateway セッションでは、CLAUDE_CODE_ENABLE_AUTO_MODE1 に設定されるまで自動モードは Shift+Tab サイクルに表示されません。変数は Claude Code v2.1.158 以降で機能します。これらのプロバイダーでは Claude Sonnet 5、Opus 4.7、および Opus 4.8 のみがサポートされています。

1 人の開発者に対して有効にするには、~/.claude/settings.jsonenv ブロックに変数を追加します。

{
  "env": {
    "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"
  }
}

組織全体に対して有効にするには、同じ env ブロックを 管理設定 に追加します。

変数が設定されると、自動モードはすべてのセッションの Shift+Tab サイクルに表示されます。デフォルトの開始モードにするには、ユーザーまたは管理設定で "permissions": {"defaultMode": "auto"} も設定します。これらのプロバイダーでは、CLAUDE_CODE_ENABLE_AUTO_MODE も設定されていない限り、Claude Code は defaultMode: "auto" を無視します。

開発者が自動モードを有効にするのを防ぐには、管理設定で disableAutoMode"disable" に設定します。これは有効化変数をオーバーライドします。

LLM ゲートウェイ を通じて接続し、ANTHROPIC_BASE_URL で設定されている場合、ゲートウェイが Anthropic API を通じてリクエストをルーティングするため、有効化変数なしで自動モードに既にアクセス可能な場合があります。これは署名済み Claude apps gateway セッションには適用されません。これは独自のプロバイダークラスであり、有効化変数が必要です。disableAutoMode 設定はいずれかの設定で同じ方法で適用されます。

分類器がデフォルトでブロックするもの

分類器は作業ディレクトリとリポジトリの設定されたリモートを信頼します。その他すべては 信頼できるインフラストラクチャを設定 するまで外部として扱われます。

デフォルトでブロック

  • curl | bash のようなコードのダウンロードと実行
  • 機密データを外部エンドポイントに送信
  • 本番環境へのデプロイとマイグレーション
  • クラウドストレージでの大量削除
  • IAM またはリポジトリ権限の付与
  • 共有インフラストラクチャの変更
  • セッション前に存在していたファイルを不可逆的に破壊
  • フォースプッシュ、または main への直接プッシュ
  • {/* min-version: 2.1.182 */}git reset --hardgit checkout -- .git restore .git clean -fdgit stash drop、または git stash clear。分類器はこれらがコミットされていない変更を破棄すると推定します
  • git commit --amend。HEAD のコミットがこのセッションで作成されていない場合
  • terraform destroypulumi destroycdk destroy、または terragrunt destroy。リソースを破壊するプランを適用する場合

Claude Code v2.1.195 以降はデフォルトでより多くのカテゴリをブロックします。いくつかは 環境 エントリに依存します。例えば、機密リモートターゲットと保護された IaC スコープなど。これらを具体的な名前に絞ることができます。

  • シークレットマネージャーへの書き込み、または DNS レコードまたは TLS 証明書の変更
  • 人間が承認していないプルリクエストのマージ、Claude 独自のプルリクエストの承認、または CI チェックの無効化
  • それ自体がオートメーションへのコマンドであるコメントの投稿。例えば atlantis apply またはボットの /deploy または /merge
  • 本番環境機能フラグの切り替え、ランプアップ、または削除
  • 保護された IaC スコープへのインフラストラクチャ変更の適用、またはクラスタノードのドレインと削除
  • ラベルセレクターまたは --all のような、他のユーザーのジョブをキャッチする共有コンピュートクラスタへの書き込み
  • すべてのノードで実行されるか、クラスタトラフィックをインターセプトする Kubernetes リソースの作成。例えば DaemonSets と admission webhooks
  • 機密リモートターゲットへのインタラクティブシェルまたはポートフォワード
  • ローカルサービスをパブリックインターネットから到達可能にするトンネルまたはリバースシェルの開設
  • トランスクリプトまたはファイルへのライブ認証情報またはトークンの印刷
  • PII または規制対象データの場所へのアクセス、またはそこからのデータのコピー
  • パッケージインストールを内部パッケージレジストリの周りからパブリックレジストリにルーティング
  • --insecure のようなセーフティガードを解除するフラグを使用したコマンドの実行
  • Claude in Chrome ブラウザアクション。ページコンテンツ、クッキー、または認証情報をオリジン外に送信する可能性があります

デフォルトで許可

  • 作業ディレクトリ内のローカルファイル操作
  • ロックファイルまたはマニフェストで宣言されている依存関係のインストール
  • .env を読み取り、認証情報を一致する API に送信
  • 読み取り専用 HTTP リクエスト
  • 開始したブランチまたは Claude が作成したブランチへのプッシュ

Claude Code v2.1.195 以降はデフォルトでこれらも許可します。

  • Claude が同じセッション内で以前に作成した正確なジョブの削除
  • タスクの一部として、セキュリティ関連のコード、設定、脅威モデルの読み取り、レビュー、または書き込み
  • 同じマルチエージェントセッションで連携しているエージェント間のメッセージ
  • environment にリストされている信頼できるドメイン、バケット、サービスへのデータ送信。これはデータフローのみをカバーし、同じインフラストラクチャ上の破壊的または認証情報操作ではありません
  • Claude in Chrome の信頼できる内部ドメイン、localhost、または名前を付けた URL へのナビゲーション

サンドボックスネットワークアクセスリクエストはデフォルトで許可されるのではなく、分類器を通じてルーティングされます。claude auto-mode defaults を実行して完全なルールリストを確認してください。日常的なアクションがブロックされている場合、管理者は autoMode.environment 設定を通じて信頼できるリポジトリ、バケット、サービスを追加できます。自動モードを設定 を参照してください。

会話で述べる境界

分類器は会話で述べる境界をブロック信号として扱います。Claude に「プッシュしないで」または「デプロイ前にレビューを待って」と言う場合、分類器はデフォルトルールが許可する場合でも一致するアクションをブロックします。境界は後のメッセージで解除するまで有効です。Claude 独自の判断が条件が満たされたことは解除しません。

境界はルールとして保存されません。分類器はチェックのたびにトランスクリプトから再読み込みするため、コンテキストコンパクション が述べたメッセージを削除する場合、境界は失われる可能性があります。ハード保証の場合、代わりに deny ルール を追加します。

自動モードがフォールバックする場合

拒否されたアクションはそれぞれ通知を表示し、/permissions の Recently denied タブに表示されます。そこで r を押して手動承認で再試行できます。

分類器がアクション 3 回連続でブロックするか、合計 20 回ブロックする場合、自動モードは一時停止し、Claude Code はプロンプトを再開します。プロンプトされたアクションを承認すると自動モードが再開されます。これらのしきい値は設定不可です。許可されたアクションは連続カウンターをリセットし、合計カウンターはセッション中に保持され、独自の制限がフォールバックをトリガーする場合にのみリセットされます。

非対話的モード-p フラグを使用する場合、プロンプトするユーザーがいないため、繰り返されるブロックはセッションを中止します。

繰り返されるブロックは通常、分類器がインフラストラクチャについてのコンテキストが不足していることを意味します。/feedback を使用して誤検知を報告するか、管理者に 信頼できるインフラストラクチャを設定 するよう依頼してください。

各アクションは固定の決定順序を通過します。最初に一致するステップが勝ちます。
1. [allow または deny ルール](/anthropic/claude-code/history/docs/ja/2026-06-29-2302..2026-06-30-2302/permissions/#manage-permissions) に一致するアクションは即座に解決されます。ただし、[保護されたパス](#protected-paths) への書き込みは、allow ルールが一致する場合でも分類器にルーティングされます
2. 読み取り専用アクションと作業ディレクトリ内のファイル編集は自動承認されます。[保護されたパス](#protected-paths) への書き込みを除く
3. その他すべては分類器に送られます
4. 分類器がブロックする場合、Claude は理由を受け取り、別のアプローチを試みます

自動モードに入ると、任意のコード実行を許可する広いルールが削除されます。

* ブランケット `Bash(*)` または `PowerShell(*)`
* `Bash(python*)` のようなワイルドカードインタープリター
* パッケージマネージャー実行コマンド
* `Agent` allow ルール

`Bash(npm test)` のような狭いルールは引き継がれます。削除されたルールは自動モードを終了するときに復元されます。

分類器はユーザーメッセージ、ツール呼び出し、CLAUDE.md コンテンツを見ます。ツール結果は削除されるため、ファイルまたは Web ページの敵対的なコンテンツはそれを直接操作することはできません。サーバー側プローブは受信ツール結果をスキャンし、Claude がそれを読む前に疑わしいコンテンツにフラグを立てます。これらのレイヤーがどのように連携するかについての詳細については、[自動モードのお知らせ](https://claude.com/blog/auto-mode) および [エンジニアリング深掘り](https://www.anthropic.com/engineering/claude-code-auto-mode) を参照してください。
自動モードがサブエージェントを処理する方法

分類器は サブエージェント の作業を 3 つのポイントでチェックします。

  1. サブエージェント開始前に、委譲されたタスク説明が評価されるため、危険に見えるタスクは生成時にブロックされます。
  2. サブエージェント実行中、その各アクションは親セッションと同じルールで分類器を通過し、サブエージェントのフロントマターの任意の permissionMode は無視されます。
  3. サブエージェント完了時、分類器はその完全なアクション履歴をレビューします。リターンチェックが懸念事項にフラグを立てた場合、セキュリティ警告がサブエージェントの結果の前に付加されます。

ステップ 1 には Claude Code v2.1.178 以降が必要です。以前のバージョンはステップ 2 と 3 で分類器を適用しましたが、サブエージェント開始前にタスク説明を評価しませんでした。

コストとレイテンシ

分類器は /model 選択から独立したサーバー設定モデルで実行されるため、モデルの切り替えは分類器の可用性を変更しません。分類器呼び出しはトークン使用量にカウントされます。各チェックはトランスクリプトの一部と保留中のアクションを送信し、実行前にラウンドトリップを追加します。保護されたパス外の読み取りと作業ディレクトリ編集は分類器をスキップするため、オーバーヘッドは主にシェルコマンドとネットワーク操作から発生します。

dontAsk モードで事前承認済みツールのみを許可する

dontAsk モードはプロンプトが表示されるすべてのツール呼び出しを自動的に拒否します。permissions.allow ルールと 読み取り専用 Bash コマンドに一致するアクションのみが実行できます。明示的な ask ルールはプロンプトするのではなく拒否されます。これにより、モードは CI パイプラインまたは Claude が実行を許可されているものを事前に定義する制限環境で完全に非対話的になります。Claude Code on the web上のクラウドセッションは defaultMode: "dontAsk" を無視します。詳細は bypassPermissionsを参照してください。

フラグで起動時に設定します。

claude --permission-mode dontAsk

bypassPermissions モードですべてのチェックをスキップする

bypassPermissions モードは権限プロンプトと安全チェックを無効にするため、ツール呼び出しは即座に実行されます。v2.1.126 以降、これには保護されたパスへの書き込みが含まれます。これより前のバージョンではまだプロンプトが表示されていました。明示的なask ルールはこのモードでもプロンプトを強制し、ファイルシステムのルートまたはホームディレクトリを対象とした削除(rm -rf /rm -rf ~ など)は、モデルエラーに対する回路遮断器として機能するため、引き続きプロンプトが表示されます。このモードは、Claude Code がホストシステムに損害を与えることができないコンテナ、VM、またはインターネットアクセスのない dev container のような隔離環境でのみ使用してください。

有効にするフラグの 1 つで開始したセッションから bypassPermissions に入ることはできません。有効にするために再起動してください。

claude --permission-mode bypassPermissions

--dangerously-skip-permissions フラグは同等です。

Linux と macOS では、Claude Code はこのモードで root として実行されている場合、または sudo の下で実行されている場合、起動を拒否します。

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

チェックは認識されたサンドボックス内で自動的にスキップされます。コンテナで自律的に実行するには、dev container 設定を使用してください。これは Claude Code を非 root ユーザーとして実行します。

Web 上の Claude Code は設定ファイルの defaultMode: "bypassPermissions" または "dontAsk" を尊重しないため、リポジトリのチェックイン済み設定はクラウドセッションを bypass-permissions モードで開始することはできません。この設定は無視され、セッションはモードドロップダウンに表示されるモードで開始されます。クラウドセッションが提供するモードについては、権限モードを切り替えるを参照してください。

保護されたパス

パスの小さなセットへの書き込みは、bypassPermissions を除くすべてのモードで自動承認されることはありません。これはリポジトリ状態と Claude 独自の設定の偶発的な破損を防ぎます。

モード 保護されたパスへの書き込み
defaultacceptEditsplan プロンプト表示
auto 分類器にルーティング
dontAsk 拒否
bypassPermissions 許可

permissions.allow 設定ファイルのルールは、保護されたパスへの書き込みを事前承認しません。安全性チェックは Claude Code が設定から allow ルールを評価する前に実行されるため、~/.claude/settings.json または .claude/settings.jsonEdit(.claude/**) などのエントリは、上記の表のモード別の結果を変更しません。プロンプトを表示するモードでは、.claude/ への書き込みのプロンプトに Yes, and allow Claude to edit its own settings for this session というオプションが表示され、そのセッション内の後続の .claude/ への書き込みを再度プロンプトなしで承認します。

保護されたディレクトリ:

  • .git
  • .config/git
  • .vscode
  • .idea
  • .husky
  • .cargo
  • .devcontainer
  • .yarn
  • .mvn
  • .claude。ただし .claude/worktrees は除く。Claude はここに独自の git worktrees を保存します

保護されたファイル:

  • .gitconfig.gitmodules
  • .bashrc.bash_profile.bash_login.bash_aliases.bash_logout.zshrc.zprofile.zshenv.zlogin.zlogout.profile.envrc
  • .npmrc.yarnrc.yarnrc.yml.pnp.cjs.pnp.loader.mjs.pnpmfile.cjsbunfig.toml.bunfig.toml
  • .bazelrc.bazelversion.bazeliskrc
  • .pre-commit-config.yamllefthook.ymllefthook.yaml.lefthook.yml.lefthook.yaml
  • gradle-wrapper.propertiesmaven-wrapper.properties
  • .devcontainer.json
  • .ripgreprcpyrightconfig.json
  • .mcp.json.claude.json

関連項目

  • Permissions:allow、ask、deny ルール。管理ポリシー
  • Configure auto mode:分類器に組織が信頼するインフラストラクチャを伝える
  • HooksPreToolUse および PermissionRequest フック経由のカスタム権限ロジック
  • Ultraplan:ブラウザベースのレビュー付き Claude Code on the web セッションで計画モードを実行
  • Security:セキュリティ保護とベストプラクティス
  • Sandboxing:Bash コマンドのファイルシステムとネットワーク隔離
  • Non-interactive mode-p フラグで Claude Code を実行