パーミッションモードは、Claude が行動する前に確認するかどうかを制御します。異なるタスクには異なるレベルの自律性が必要です。機密作業については完全な監視が必要な場合もあれば、長時間のリファクタリングについては最小限の中断が必要な場合もあり、コードベースを探索する際には読み取り専用アクセスが必要な場合もあります。
このページでは、以下の方法について説明します。
パーミッションモードを切り替える
セッション中、起動時、または永続的なデフォルトとして、いつでもモードを切り替えることができます。メカニズムは Claude Code を実行している場所によって異なります。
CLI
JetBrains
VS Code
Desktop
Web and mobile
セッション中:Shift+Tab を押して default → acceptEdits → plan → auto をサイクルします。現在のモードはステータスバーに表示されます。auto は起動時に --enable-auto-mode を渡すまでサイクルに表示されません。Auto には Team、Enterprise、または API プランと Claude Sonnet 4.6 または Opus 4.6 が必要なため、フラグを使用してもオプションが利用できない場合があります。bypassPermissions も有効になっている場合、plan と auto の間のサイクルに表示されます。起動時:モードを CLI フラグとして渡します。claude --permission-mode plan
デフォルトとして:設定ファイルで defaultMode を設定します。{
"permissions": {
"defaultMode": "acceptEdits"
}
}
非対話的に:スクリプト実行の場合、同じフラグが -p で機能します。claude -p "refactor auth" --permission-mode acceptEdits
dontAsk は Shift+Tab サイクルに含まれません。bypassPermissions は、--permission-mode bypassPermissions、--dangerously-skip-permissions、または --allow-dangerously-skip-permissions でセッションを開始した場合にのみサイクルに表示されます。3 番目のフラグはモードをサイクルに追加しますが、アクティブ化しないため、--permission-mode plan のような別の開始モードと組み合わせることができます。これらのいずれかを起動時または設定ファイルで設定します。 JetBrains プラグインは IDE ターミナルで Claude Code を起動するため、モードの切り替えは CLI と同じように機能します。Shift+Tab を押してサイクルするか、起動時に --permission-mode を渡します。
セッション中:プロンプトボックスの下部にあるモード指示器をクリックしてモードを切り替えます。デフォルトとして:VS Code 設定で claudeCode.initialPermissionMode を設定するか、Claude Code 拡張機能設定パネルを使用します。VS Code UI は、以下の設定キーにマップされるフレンドリーなラベルを使用します。| UI ラベル | 設定キー |
|---|
| パーミッションを確認 | default |
| 編集を自動受け入れ | acceptEdits |
| 計画モード | plan |
| 自動 | auto |
| パーミッションをバイパス | bypassPermissions |
Auto と Bypass permissions は、拡張機能設定で Allow dangerously skip permissions を有効にした後にのみ表示されます。Auto には Team、Enterprise、または API プランと Claude Sonnet 4.6 または Opus 4.6 も必要なため、トグルがオンでもオプションが利用できない場合があります。拡張機能固有の詳細については、VS Code ガイドを参照してください。 セッション中:送信ボタンの横にあるモードセレクターを使用します。セッション前またはセッション中に変更できます。Desktop UI は、以下の設定キーにマップされるフレンドリーなラベルを使用します。| UI ラベル | 設定キー |
|---|
| パーミッションを確認 | default |
| 編集を自動受け入れ | acceptEdits |
| 計画モード | plan |
| 自動 | auto |
| パーミッションをバイパス | bypassPermissions |
Auto と Bypass permissions は、Desktop 設定で有効にした後にのみセレクターに表示されます。詳細については、Desktop ガイドを参照してください。 セッション中:claude.ai/code のプロンプトボックスの横またはClaude モバイルアプリのモードドロップダウンを使用します。Anthropic のクラウド VM で実行されているWeb 上の Claude Codeセッションの場合、ドロップダウンは Auto accept edits と Plan mode を提供します。Ask permissions と Auto はクラウドセッションでは利用できません。ローカルマシンで実行されているRemote Controlセッションの場合、ドロップダウンは Ask permissions、Auto accept edits、および Plan mode を提供します。ローカルホストを起動するときに開始モードを設定することもできます。claude remote-control --permission-mode acceptEdits
パーミッションプロンプトは claude.ai に表示され、承認されます。
パーミッションモードは UI、CLI フラグ、または設定ファイルを通じて設定されます。チャットで Claude に「パーミッションを確認するのをやめて」と言うことはモードを変更しません。モードが allow、ask、および deny ルールとどのように相互作用するかについては、Permissionsを参照してください。
利用可能なモード
各モードは利便性と監視のバランスが異なります。タスクに合ったものを選択してください。
| モード | Claude が確認なしで実行できること | 最適な用途 |
|---|
default | ファイルを読む | 開始、機密作業 |
acceptEdits | 保護されたディレクトリを除いてファイルを読んで編集する | レビュー中のコードの反復処理 |
plan | ファイルを読む | コードベースの探索、リファクタリングの計画 |
auto | すべてのアクション(背景安全チェック付き) | 長時間実行タスク、プロンプト疲労の軽減 |
bypassPermissions | 保護されたディレクトリへの書き込みを除くすべてのアクション | 隔離されたコンテナと VM のみ |
dontAsk | 事前承認済みツールのみ | ロックダウン環境 |
いずれのモードでも、.git、.vscode、.idea、.husky、および .claude への書き込みは自動承認されません。ただし、.claude/commands、.claude/agents、および .claude/skills は例外です。Claude はこれらで定期的にスキル、サブエージェント、およびコマンドを作成します。これはリポジトリ状態、エディター設定、git フック、および Claude 独自の設定を偶発的な破損から保護します。
計画モードで編集前に分析する
計画モードは、Claude に変更を加えずに調査と提案を行うよう指示します。Claude はファイルを読み、シェルコマンドを実行して探索し、明確化の質問をし、計画ファイルを作成しますが、ソースコードは編集しません。パーミッションプロンプトはデフォルトモードと同じように機能します。Bash コマンド、ネットワークリクエスト、および通常はプロンプトが表示される他のアクションを承認します。
計画モードを使用する場合
計画モードは、変更を加える前に Claude に調査と提案を行わせたい場合に便利です。
- マルチステップ実装:機能が多くのファイルにわたる編集を必要とする場合
- コード探索:何かを変更する前にコードベースを調査したい場合
- 対話的開発:Claude との方向性を反復したい場合
計画モードを開始して使用する
単一のリクエストに対して計画モードに入るには、プロンプトの前に /plan を付けるか、Shift+Tab を押してパーミッションモードをサイクルしてセッション全体を計画モードに切り替えます。CLI から計画モードで開始することもできます。
claude --permission-mode plan
この例は複雑なリファクタリングの計画セッションを開始します。
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude は現在の実装を分析し、計画を作成します。フォローアップで改善します。
What about backward compatibility?
How should we handle database migration?
計画の準備ができたら、Claude はそれを提示し、どのように進めるかを尋ねます。そのプロンプトから、以下を実行できます。
- 承認して自動モードで開始
- 承認して編集を受け入れる
- 承認して各編集を手動でレビュー
- 計画を続ける。これはフィードバックを Claude に送り返して別のラウンドを行います
各承認オプションは、計画コンテキストを最初にクリアするオプションも提供します。
自動モードでプロンプトを削除する
自動モードは Team、Enterprise、および API プランで利用可能です。Team と Enterprise では、管理者がClaude Code 管理設定で有効にしてから、ユーザーがオンにできます。Claude Sonnet 4.6 または Claude Opus 4.6 が必要で、Haiku、claude-3 モデル、またはサードパーティプロバイダー(Bedrock、Vertex、Foundry)では利用できません。
自動モードでは、Claude はパーミッションプロンプトを表示せずにアクションを実行できます。各アクションが実行される前に、別の分類器モデルが会話をレビューし、アクションがあなたが要求したものと一致するかどうかを決定します。タスク範囲を超えてエスカレートするアクション、分類器が信頼できるものとして認識しないインフラストラクチャをターゲットにするアクション、またはファイルまたは Web ページで遭遇した敵対的なコンテンツによって駆動されているように見えるアクションをブロックします。防御は層状です。サーバー側のプローブは受信ツール結果をスキャンし、Claude がそれを読む前に疑わしいコンテンツにフラグを立てます。一方、分類器自体はツール結果を表示されないため、注入された指示はその承認決定に影響を与えることはできません。これらのレイヤーがどのように連携するかについての詳細については、自動モードのお知らせおよびエンジニアリング深掘りを参照してください。
自動モードはリサーチプレビューです。プロンプトを削除しますが、安全性を保証しません。bypassPermissions よりも多くの保護を提供しますが、各アクションを手動でレビューするほど徹底的ではありません。一般的な方向を信頼するタスクに使用し、機密操作のレビューの代わりとしては使用しないでください。
モデル:分類器は Claude Sonnet 4.6 で実行されます。メインセッションが別のモデルを使用している場合でも同じです。
コスト:分類器呼び出しはメインセッション呼び出しと同じようにトークン使用量にカウントされます。チェックされた各アクションは、会話トランスクリプトの一部と保留中のアクションを分類器に送信します。追加コストは主にシェルコマンドとネットワーク操作から発生します。読み取り専用アクションと作業ディレクトリ内のファイル編集は分類器呼び出しをトリガーしないためです。
レイテンシ:各分類器チェックはアクション実行前にラウンドトリップを追加します。
アクションの評価方法
各アクションは固定の決定順序を通過します。最初に一致するステップが勝ちます。
- allow または deny ルールに一致するアクションは即座に解決されます
- 読み取り専用アクションと作業ディレクトリ内のファイル編集は自動承認されます。ただし、保護されたディレクトリへの書き込みは除きます
- その他すべては分類器に送られます
- 分類器がブロックした場合、Claude は理由を受け取り、別のアプローチを試みます
自動モードに入ると、Claude Code は任意のコード実行を許可することが知られている allow ルールをドロップします。Bash(*) のようなブランケットシェルアクセス、Bash(python*) または Bash(node*) のようなワイルドカードスクリプトインタープリター、パッケージマネージャー実行コマンド、および任意の Agent allow ルール。これらのルールは、分類器がそれらを見る前に、最も損害を引き起こす可能性のあるコマンドとサブエージェント委譲を自動承認します。Bash(npm test) のような狭いルールは引き継がれます。ドロップされたルールは自動モードを終了するときに復元されます。
分類器は入力としてユーザーメッセージとツール呼び出しを受け取り、Claude 自身のテキストとツール結果は削除されます。また、CLAUDE.md コンテンツも受け取るため、プロジェクト指示で説明されているアクションは allow および block 決定に考慮されます。ツール結果は分類器に到達しないため、ファイルまたは Web ページの敵対的なコンテンツはそれを直接操作することはできません。分類器は、カスタマイズ可能な block および allow ルールのセットに対して保留中のアクションを評価し、アクションが要求したものを超えた過度なエスカレーション、何が安全に触れるかについての誤解、または Claude が読んだものによって操作されたことを示唆する述べられた意図からの突然の逸脱であるかどうかをチェックします。
ツール名と引数パターンに一致するパーミッションルールとは異なり、分類器は block および allow の散文的な説明を読みます。構文に一致するのではなく、コンテキストでアクションについて推論します。
自動モードがサブエージェントを処理する方法
Claude がサブエージェントを生成すると、分類器はサブエージェントが開始される前に委譲されたタスクを評価します。「このパターンに一致するすべてのリモートブランチを削除する」のような、それ自体で危険に見えるタスク説明は、生成時にブロックされます。
サブエージェント内では、自動モードはパレントセッションと同じ block および allow ルールで実行されます。サブエージェントが独自のフロントマターで定義する任意の permissionMode は無視されます。サブエージェント独自のツール呼び出しは分類器を独立して通過します。
サブエージェントが完了すると、分類器はその完全なアクション履歴をレビューします。生成時は無害だったサブエージェントが、実行中に読んだコンテンツによって侵害されている可能性があります。リターンチェックが懸念事項にフラグを立てた場合、セキュリティ警告がサブエージェントの結果の前に付加されるため、メインエージェントは続行方法を決定できます。
分類器がデフォルトでブロックするもの
すぐに使用できる状態では、分類器は作業ディレクトリを信頼し、git リポジトリにいる場合はそのリポジトリの設定されたリモートを信頼します。その他すべては外部として扱われます。会社のソースコントロール組織、クラウドバケット、および内部サービスは、分類器に通知するまで不明です。
デフォルトでブロック:
curl | bash またはクローンされたリポジトリからのスクリプトのようなコードのダウンロードと実行
- 機密データを外部エンドポイントに送信
- 本番環境へのデプロイとマイグレーション
- クラウドストレージでの大量削除
- IAM またはリポジトリパーミッションの付与
- 共有インフラストラクチャの変更
- セッション開始前に存在していたファイルを不可逆的に破壊
- フォースプッシュまたは
main への直接プッシュのような破壊的なソースコントロール操作
デフォルトで許可:
- 作業ディレクトリ内のローカルファイル操作
- ロックファイルまたはマニフェストで既に宣言されている依存関係のインストール
.env を読み取り、認証情報を一致する API に送信
- 読み取り専用 HTTP リクエスト
- 開始したブランチまたは Claude が作成したブランチへのプッシュ
分類器が受け取るデフォルトルールリスト全体を確認するには、claude auto-mode defaults を実行します。
自動モードがチームにとって日常的なもの(独自の組織のリポジトリへのプッシュや会社バケットへの書き込みなど)をブロックしている場合、それは分類器がそれらが信頼できることを知らないためです。管理者は autoMode.environment 設定を通じて信頼できるリポジトリ、バケット、および内部サービスを追加できます。完全な設定ガイドについては、自動モード分類器を設定するを参照してください。
自動モードがフォールバックする場合
フォールバック設計は誤検知がセッションを脱線させるのを防ぎます。誤ったブロックは Claude に再試行を費やさせ、進捗を費やさせません。分類器がアクションを 3 回連続でブロックするか、1 つのセッションで合計 20 回ブロックする場合、自動モードは一時停止し、Claude Code は各アクションのプロンプトを再開します。これらのしきい値は設定不可です。
- CLI:ステータス領域に通知が表示されます。拒否されたアクションは
/permissions の Recently denied タブに表示されます。プロンプトされたアクションを承認すると拒否カウンターがリセットされるため、自動モードで続行できます
- 非対話的モード(
-p フラグ付き):ユーザーがいないため、セッションを中止します
繰り返されるブロックは通常、2 つのことのいずれかを意味します。タスクは分類器が停止するように構築されたアクションを本当に必要とするか、分類器は信頼できるインフラストラクチャについてのコンテキストが不足しており、安全なアクションをリスキーとして扱っています。ブロックが誤検知のように見える場合、または分類器が何かを見逃した場合は、/feedback を使用してレポートしてください。ブロックが分類器がリポジトリまたはサービスを信頼できるものとして認識しないために発生している場合は、管理者に信頼できるインフラストラクチャを設定するよう依頼してください。
dontAsk モードで事前承認済みツールのみを許可する
dontAsk モードは、明示的に許可されていないすべてのツールを自動的に拒否します。/permissions allow ルールまたは permissions.allow 設定に一致するアクションのみが実行できます。ツールに明示的な ask ルールがある場合、アクションはプロンプトするのではなく拒否されます。これにより、モードは完全に非対話的になり、CI パイプラインまたは Claude が実行を許可されているものを事前に定義する制限環境に適しています。
claude --permission-mode dontAsk
bypassPermissions モードですべてのチェックをスキップする
bypassPermissions モードはすべてのパーミッションプロンプトと安全チェックを無効にします。ツール呼び出しは即座に実行されます。ただし、.git、.vscode、.idea、および .husky への書き込みはまだプロンプトが表示されます。これはリポジトリ状態、エディター設定、および git フックの偶発的な破損を防ぐためです。.claude への書き込みもプロンプトが表示されます。ただし、.claude/commands、.claude/agents、および .claude/skills は除きます。Claude はこれらで定期的にスキル、サブエージェント、およびコマンドを作成します。このモードは、Claude Code がホストシステムに損害を与えることができないコンテナ、VM、またはインターネットアクセスのない devcontainer のような隔離環境でのみ使用してください。
claude --permission-mode bypassPermissions
--dangerously-skip-permissions フラグは --permission-mode bypassPermissions と同等です。
claude -p "refactor the auth module" --dangerously-skip-permissions
bypassPermissions モードはプロンプトインジェクションまたは意図しないアクションに対する保護を提供しません。背景安全チェックを維持しながらより安全な代替案については、自動モードを使用してください。管理者は管理設定で permissions.disableBypassPermissionsMode を "disable" に設定することでこのモードをブロックできます。
パーミッションアプローチを比較する
以下の表は、各モードが承認をどのように処理するかの主な違いをまとめています。plan は Claude が実行できることを制限するため、承認がどのように機能するかではなく省略されています。
| default | acceptEdits | auto | dontAsk | bypassPermissions |
|---|
| パーミッションプロンプト | ファイル編集とコマンド | コマンドと保護されたディレクトリ | フォールバックがトリガーされない限りなし | なし、事前許可されていない限りブロック | 保護されたディレクトリのみ |
| 安全チェック | 各アクションをレビュー | コマンドと保護されたディレクトリ書き込みをレビュー | 分類器がコマンドと保護されたディレクトリ書き込みをレビュー | 事前承認済みルールのみ | 保護されたディレクトリ書き込みをレビュー |
| トークン使用量 | 標準 | 標準 | 高い(分類器呼び出しから) | 標準 | 標準 |
パーミッションをさらにカスタマイズする
パーミッションモードは基本的な承認動作を設定します。個別のツールまたはコマンドを制御するには、アクティブなモードの上に追加の設定を層状にします。
パーミッションルールは最初の停止点です。設定ファイルに allow、ask、または deny エントリを追加して、安全なコマンドを事前承認し、リスキーなコマンドにプロンプトを強制するか、特定のツールを完全にブロックします。ルールは bypassPermissions を除くすべてのモードで適用され、ツール名と引数パターンで一致します。構文と例については、パーミッションを管理するを参照してください。
Hooks はパターンマッチングルールが表現できないロジックをカバーします。PreToolUse フックはすべてのツール呼び出しの前に実行され、コマンドコンテンツ、ファイルパス、時刻、または外部ポリシーサービスからの応答に基づいて許可、拒否、またはエスカレートできます。PermissionRequest フックはパーミッションダイアログ自体をインターセプトし、あなたに代わって応答します。設定については、Hooksを参照してください。
関連項目