SpyBara
Go Premium

permission-modes.md 2026-07-10 17:00 UTC to 2026-07-11 19:03 UTC

1 added, 1 removed.

2026
Fri 24 00:57 Thu 23 23:57 Wed 22 23:59 Tue 21 23:00 Mon 20 23:01 Sat 18 16:02 Fri 17 22:57 Thu 16 22:59 Wed 15 22:00 Tue 14 23:01 Mon 13 23:57 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

権限モードを選択する

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

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

利用可能なモード

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

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

すべてのアクションをレビューするモードは、CLI、claude --help、VS Code と JetBrains 拡張機能では Manual という名前です。その設定値は default で、これは hooks と SDK 統合が使用するものです。CLI は値を入力する場所ならどこでも manual をエイリアスとして受け入れます。例えば claude --permission-mode manual または "defaultMode": "manual" です。Manual ラベルと manual エイリアスには Claude Code v2.1.200 以降が必要です。

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

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

権限モードを切り替える

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

セッション中Shift+Tab を押して defaultacceptEditsplan をサイクルします。現在のモードはステータスバーに表示されます。{/* min-version: 2.1.203 */}Manual モード(そのサイクルのデフォルト)は、グレーの ⏸ manual mode on バッジを表示します。v2.1.203 より前では、ステータスバーは Manual モードでバッジを表示していませんでした。

すべてのモードがデフォルトサイクルに含まれるわけではありません。

  • 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 を使用します。Manual モードから 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 の Agent Platform、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 の Agent Platform、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、Agent Platform、または Foundry で自動モードを有効にする

Amazon BedrockGoogle Cloud の Agent PlatformMicrosoft 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 設定はいずれかの設定で同じ方法で適用されます。

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

分類器は作業ディレクトリとセッション開始時に設定されたリモートを信頼します。{/* min-version: 2.1.200 */}セッション中に git remote add または git remote set-url で追加またはリポイントされたリモートは信頼されず、信頼できるインフラストラクチャを設定 するまで他のすべては外部として扱われます。v2.1.200 より前では、セッション中に追加されたリモートも信頼されていました。

デフォルトでブロック

  • curl | bash のようなコードのダウンロードと実行
  • 機密データを外部エンドポイントに送信
  • 本番環境へのデプロイとマイグレーション
  • クラウドストレージでの大量削除
  • IAM またはリポジトリ権限の付与
  • 共有インフラストラクチャの変更
  • セッション前に存在していたファイルを不可逆的に破壊
  • フォースプッシュ
  • {/* min-version: 2.1.203 */}リポジトリのデフォルトブランチへのプッシュ。プッシュがシークレットや個人情報または信頼されたデータなどの機密コンテンツを含む場合、変更があなたが求めたものに対して隠蔽または誤表示されている場合、コンテンツがリポジトリ外からポートインまたは最初に読み込まれた場合、またはあなたが求めたプルリクエスト、レビュー、またはチェックの周りをルーティングする場合。デフォルトブランチへのプレーンプッシュはそれ自体ではブロックされず、フラグが立てられたプッシュをクリアするにはプッシュだけではなく、フラグが立てられたコンテンツまたはバイパスされたレビューに名前を付ける必要があります。分類器は 1 つのレイヤーです。permissions.deny ルール はすべてのモードで適用され、デフォルトブランチへのプッシュを完全にブロックでき、リモート独自のブランチ保護は依然として適用されます。v2.1.203 より前では、デフォルトブランチへの直接プッシュはすべてブロックされていました
  • {/* min-version: 2.1.182 */}git reset --hardgit checkout -- .git restore .git clean -fdgit stash drop、または git stash clear。分類器はこれらがコミットされていない変更を破棄すると推定します
  • git commit --amend。HEAD のコミットがこのセッションで作成されていない場合
  • {/* min-version: 2.1.198 */}v2.1.198 から、git commit --amend。HEAD のコミットが既にプッシュされている場合。メッセージのみの言い換えはブロックされません。--amend -m で新たにステージされたものがなく、Claude がこのセッション中に作成したコミット上
  • 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
  • 機密リモートターゲットへのインタラクティブシェルまたはポートフォワード
  • ローカルサービスをパブリックインターネットから到達可能にするトンネルまたはリバースシェルの開設
  • トランスクリプトまたはファイルへのライブ認証情報またはトークンの印刷
  • 環境 で機密データロケーションとしてリストされている場所へのアクセス、またはそこからのデータのコピー。{/* min-version: 2.1.198 */}v2.1.198 以降、これはエントリが除外する対象者にそこからデータを送信することもブロックします
  • パッケージインストールを内部パッケージレジストリの周りからパブリックレジストリにルーティング。{/* min-version: 2.1.198 */}v2.1.198 以降、これは会話で Claude に内部レジストリまたはミラーが存在することを伝えた場合にも適用されます。環境にリストされている場合だけではなく
  • --insecure のようなセーフティガードを解除するフラグを使用したコマンドの実行
  • --dangerously-skip-permissions または --no-sandbox で開始されたものなど、人間の承認またはサンドボックスなしで実行される自律エージェントループの起動。{/* min-version: 2.1.198 */}v2.1.198 以降、これは --yes-always で開始されたランナーなど、分離とアクションごとの承認を無効にして実行される第三者エージェントまたは eval ハーネスもカバーします
  • Claude in Chrome ブラウザアクション。ページコンテンツ、クッキー、または認証情報をオリジン外に送信する可能性があります

Claude Code v2.1.198 以降はこれらもデフォルトでブロックします。

  • /tmp$TMPDIR、または別の共有スクラッチまたはキャッシュディレクトリ内のファイルを、特定の名前付きパスではなく、ワイルドカード、glob、または年齢フィルターで削除
  • 自身のメッセージがその受信者にそれらの詳細を認可しなかった場合、送信、アップロード、公開、または他の人または共有システムに書き込まれるコンテンツに機密詳細を含める。{/* min-version: 2.1.200 /}PR およびイシュー本文、コミットメッセージ、およびコメントは、リポジトリが信頼境界外またはパブリックである場合、この種の送信コンテンツとしてカウントされます。組織独自のパブリックリポジトリを含む。内部ファイルパス、コード名、メールやアカウント識別子などのライブ API レスポンスデータ、およびインフラストラクチャ識別子は機密詳細としてカウントされます。PR、イシュー、およびコミットメッセージのスコープには Claude Code v2.1.200 以降が必要です。{/ min-version: 2.1.203 */}PR またはイシュー本文内のメールアドレス、アカウントまたは組織識別子、または使用メトリックなどのライブ個人データは、リポジトリの可視性または信頼境界に関係なく、それらの詳細と受信者に名前を付ける必要があります。そのチェックには Claude Code v2.1.203 以降が必要です
  • Claude Code 独自の tmux ペインにキーストロークを送信して独自のインターフェースを駆動。分類器はこれを Claude が独自の権限または監視を変更することとして扱います

Claude Code v2.1.200 以降はこれらもデフォルトでブロックします。

  • セキュリティ動作を保護するテストまたはアサーションをコメントアウト、削除、または強制パス。例えば認証、アクセス制御、入力検証、またはサンドボックス
  • Claude がセッションで作成しなかった状態リソースの削除またはティアダウン。より具体的な削除ルールが適用されず、リソースに名前を付けなかった場合
  • API ベース URL、プロキシエンドポイント、webhook レシーバー、またはレジストリミラーを、タスクに適さない第三者ホストにリポイント。.env.example のようなサンプルファイルを含む
  • git remote set-url または git remote add でプッシュ先を変更。新しいリモートに名前を付けた場合を除く
  • パブリックであることが知られているリポジトリにシークレットをプッシュ、またはそのリポジトリ独自の作業の一部ではない他の機密または機密材料をプッシュ。{/* min-version: 2.1.203 */}ドットファイルリポジトリ独自の主題は個人情報または信頼されたデータの唯一の例外であり、プライベートリポジトリからのコンテンツがパブリックサーフェスに到達することは同じ方法でブロックされます。両方の改善には Claude Code v2.1.203 以降が必要です。v2.1.203 より前では、個人データは機密材料とグループ化され、そのリポジトリ独自の作業の一部ではない場合にのみブロックされていました。リポジトリの可視性が確立されていない場合、分類器はそれだけではブロックしません。代わりに他のルールに対してコンテンツを判断します
  • 異なるリポジトリまたは組織に対するプルリクエストを開く、gh repo fork でフォーク、または第三者リポジトリにプッシュ。外部ターゲットに名前を付けた場合を除く

Claude Code v2.1.203 以降はこれらもデフォルトでブロックします。

  • 機密ローカルストアからのコンテンツ、またはファイル名、パス、またはタイプが機密としてマークしているファイルからのコンテンツ。コミット、プッシュ、PR またはイシューテキスト、gist またはペースト、またはパッケージ公開に入る。ソースと宛先の両方に名前を付けない限り。セッショントランスクリプトと会話ログ、SSH キー、クラウド認証情報、ブラウザプロファイル、シェル履歴などの認証情報と設定ドットフォルダ、およびユーザーデータエクスポートはすべてカウントされ、リポジトリがプライベートであることはそれをクリアしません

Claude Code v2.1.205 以降はこれらもデフォルトでブロックします。

  • Claude Code セッショントランスクリプト、~/.claude/projects/.jsonl 履歴ファイル、または設定ディレクトリへの書き込み。直接またはシェルコマンドを通じて。ルールはまた Claude Code が独自のチェック用に各トランスクリプトエントリに追加するメタデータ行もカバーします。トランスクリプトは Claude Code が書き込むセッション状態であり、作業ファイルではなく、改ざんされたエントリはセッションを再開すると後のすべてのチェックに到達するため、自動モードは防御の深さとしてこれらの書き込みをブロックします。トランスクリプトの読み取りはブロックされません
  • rm -rf "$VAR" または Remove-Item -Recurse -Force $dir のような再帰的な強制削除。ターゲットがシェル変数である場合、または分類器が見る会話のどこにも割り当てられていない変数に根ざしている glob。値は以前のコマンド出力からのみ来ており、分類器は決してコマンド出力を受け取らないため、分類器は削除ターゲットを他の削除ルールに対して検証できません。分類器は設計上、コマンド出力ではなく会話を読むため、推測する代わりにコールをブロックします。ブロックは削除されている正確なパスに名前を付けるか、Claude が削除をコマンドに書き込まれた解決済みリテラルパスで再実行するときにクリアされます。分類器が解決できるターゲットを持つ削除は影響を受けません

デフォルトで許可

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

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

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

サンドボックスネットワークアクセスリクエストはデフォルトで許可されるのではなく、分類器を通じてルーティングされます。{/* min-version: 2.1.198 */}v2.1.198 以降、分類器はネットワークホストとポートの判定を再利用し、接続のたびに再実行するのではなく。

  • 許可は新しいコンテンツが会話に入るまで再利用され、その時点でそのホストが再度チェックされます
  • インタラクティブ CLI では、拒否はターンが終了するときにドロップされます
  • 非対話的モード と Agent SDK セッションではターン境界がないため、拒否はランの残りの間再利用されます
  • 権限モードまたはルールを変更すると、すべてのキャッシュされた判定がドロップされます

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-07-10-1700..2026-07-11-1903/permissions/#manage-permissions) に一致するアクションは即座に解決されます。ただし、[保護されたパス](#protected-paths) への書き込みは、allow ルールが一致する場合でも分類器にルーティングされます
2. 読み取り専用アクションと作業ディレクトリ内のファイル編集は自動承認されます。[保護されたパス](#protected-paths) への書き込みを除く
3. その他すべては分類器に送られます。{/* min-version: 2.1.199 */}v2.1.199 以降、[`_meta["anthropic/requiresUserInteraction"]`](/ja/mcp#require-approval-for-a-specific-tool) でマークされた MCP ツールは分類器をスキップし、直接プロンプトを表示するため、同意ステップはツール作成者の代わりに自動承認されることはありません
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 選択から独立したサーバー設定モデルで実行されるため、モデルの切り替えは分類器の可用性を変更しません。分類器呼び出しはトークン使用量にカウントされます。各チェックはトランスクリプトの一部と保留中のアクションを送信し、実行前にラウンドトリップを追加します。保護されたパス外の読み取りと作業ディレクトリ編集は分類器をスキップするため、オーバーヘッドは主にシェルコマンドとネットワーク操作から発生します。{/* min-version: 2.1.198 */}v2.1.198 以降、サンドボックスネットワーク判定はホストとポートに対して再利用され、接続のたびに再分類されるのではなく、繰り返される接続は同じホストへのチェックを追加しません。分類器がデフォルトでブロックするもの は許可と拒否がどのくらい続くかを説明しています。

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

dontAsk モードはプロンプトが表示されるすべてのツール呼び出しを自動的に拒否します。このモードがアクティブな間、ステータスバーに ⏵⏵ don't ask on が表示されます。permissions.allow ルールと 読み取り専用 Bash コマンドに一致するアクションのみが実行できます。明示的な ask ルールはプロンプトするのではなく拒否されます。{/* min-version: 2.1.199 */}v2.1.199 以降、allow ルールが一致する場合でも、_meta["anthropic/requiresUserInteraction"]でマークされた MCP ツールはこのモードで拒否されます。これは、その承認カードがこのモードが収集することのない回答を必要とするためです。これにより、モードは CI パイプラインまたは Claude が実行を許可されているものを事前に定義する制限環境で完全に非対話的になります。Claude Code on the web上のクラウドセッションは defaultMode: "dontAsk" を無視します。詳細は bypassPermissionsを参照してください。

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

claude --permission-mode dontAsk

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

bypassPermissions モードは権限プロンプトと安全チェックを無効にするため、ツール呼び出しは即座に実行されます。v2.1.126 以降、これには保護されたパスへの書き込みが含まれます。これより前のバージョンではまだプロンプトが表示されていました。明示的なask ルールはこのモードでもプロンプトを強制し、ファイルシステムのルートまたはホームディレクトリを対象とした削除(rm -rf /rm -rf ~ など)は、モデルエラーに対する回路遮断器として機能するため、引き続きプロンプトが表示されます。{/* min-version: 2.1.199 */}v2.1.199 以降、_meta["anthropic/requiresUserInteraction"]でマークされた MCP ツールもプロンプトが表示されます。このモードは、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 を実行