SpyBara
Go Premium

permission-modes.md 2026-10-28 23:57 UTC to 2026-10-29 23:57 UTC

No changes for this document in this history range.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Mon 5 23:58 Tue 6 23:59 Wed 7 23:59 Sat 10 23:01 Sun 11 23:57 Wed 14 22:58 Sat 17 23:57 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Fri 30 23:01

権限モードを選択する

Claude が行動する前に確認するかどうかを制御します。CLI では Shift+Tab で、VS Code ではモード表示で、Desktop ではモードセレクターで権限モードを切り替えます。

権限モードは、セッション内で Claude Code が最初にあなたに確認することなく実行できるアクションを設定します。Manual モードでは、Claude Code はファイルを編集したり、シェルコマンドを実行したり、ネットワークに到達したりするほとんどのアクションの前に停止して確認を求めます。auto モードでは、分類器という 2 番目のモデルがあなたの代わりにアクションをレビューします。分類器がアクションを評価する方法には、分類器がレビューするアクションと、スキップするアクションが記載されています。

Claude Code v2.1.283 以降では、auto モードはインタラクティブターミナルと VS Code セッションの組み込みの開始権限モードです。それより前のバージョンでは、Pro、Max、Team プランでのみ組み込みの開始権限モードです。セッションが開始される権限モードは、開始権限モードを変更するサーフェスと設定をカバーしています。実行中のセッションの権限モードはいつでも変更できます。

利用可能なモード

各モードは、利便性と監視のバランスをそれぞれ異なる形で取っています。次の表は、各モードで Claude が権限プロンプトなしで実行できる操作を示しています。Manual モードは設定値である default として記載しています。

モード 確認なしで実行される操作 最適な用途
default 読み取りのみ すべての操作を自分で確認したい場合、機密性の高い作業
acceptEdits 読み取り、ファイル編集、一般的なファイルシステムコマンド(mkdir、touch、mv、cp など) レビュー中のコードの反復的な修正
plan 読み取り、および auto モードが利用可能な場合は分類器が承認したコマンド 変更前のコードベースの調査
auto すべて(バックグラウンドの安全性チェック付き) 長時間のタスク、プロンプト疲れの軽減
dontAsk 作業ディレクトリ内のファイル読み取りと事前承認済みのツール。プロンプトが表示されるはずの操作はすべて拒否されますが、インストールした mod がそれらの呼び出しの一部を承認することはできます 厳重に制限された CI やスクリプト
bypassPermissions すべて 隔離されたコンテナや VM のみ

すべての操作を確認するモードは、CLI、claude --help、VS Code および JetBrains 拡張機能、デスクトップアプリでは Manual という名前で表示されます。その設定値は default で、フックや SDK 連携ではこの値が使われます。CLI では値を入力する箇所であればどこでも manual をエイリアスとして受け付けます(例: claude --permission-mode manual や "defaultMode": "manual")。

保護されたパスへの書き込みは、bypassPermissions モードと、bypass permissions が利用可能な plan モードのセッション(モードの切り替えサイクルに bypassPermissions が含まれる方法で起動された対話型ターミナルセッション)を除き、自動承認されることはありません。

モードは基本設定を決めるものです。その上に権限ルールを重ねることで、特定のツールを事前承認またはブロックできます。拒否ルールは bypassPermissions を含むすべてのモードでブロックします。Claude が呼び出せるツールが少なくとも 1 つ他に残っている限り、拒否ルールと確認ルールは EndConversation には適用されません。許可ルールは bypassPermissions では効果がありません。

どのモードでも自動承認されない操作

Claude Code は、bypassPermissions を含むどのモードでも、次の操作を自動承認しません。ただし、bypassPermissions モードでは危険な rm コマンドに対するプロンプトをオフにすることができます。各項目には、代わりに各モードで何が起こるかを説明するセクションへのリンクがあります。

  • 明示的な確認ルールに一致するツール

  • 組織が ask に設定したコネクタツール(その設定が Claude Code に適用されるセッションの場合)

  • ユーザーの操作を必要とするツール: 組み込みの AskUserQuestion ツールと、requiresUserInteraction が指定された MCP ツール

  • 認識された rm および rmdir による重要パスの削除(どの許可ルールや PreToolUse フックの "allow" でも承認されません)、および Dangerous rm operation not ruled out としてフラグが付けられた Bash コマンド

  • セッション間メッセージングの安全策

  • permissions.blockReadsOutsideWorkingDirectories が有効な間の作業ディレクトリ外の読み取り: 認識されたファイル読み取り用の Bash コマンドは、auto モードや bypassPermissions モードであってもプロンプトを表示します。サンドボックスの外で実行するために承認が必要なサンドボックス外での再試行も同様にプロンプトを表示します。Claude Code v2.1.257 以降が必要です。

    ディレクトリを複数回変更するコマンドやサブシェルを実行するコマンドなど、シェルパーサーが追跡できないコマンドは、外部のパスを指定していない場合でも同じようにプロンプトを表示します。このプロンプトは、コマンドがサンドボックス内で実行され、サンドボックスがブロックを強制している場合には適用されません。

一般的なセットアップ

権限モードは Claude がアクションの前に確認するかどうかを決定し、Bash サンドボックスと外側の隔離境界は、アクションが実行されると何に到達できるかを決定します。以下の各行は、目標をフラグまたは設定と、必要な隔離とペアにします。これは開始点です。利用可能なモードは、各モードでプロンプトなしで実行されるものをリストしています。

実現したいこと 開始する 必要な隔離 注記
すべてのアクションを自分でレビュー Manual モード:claude --permission-mode default なし 機密作業、不慣れなコード
ローカルで反復、分類器なしでプロンプトを減らす Manual モード + auto-allow モードの Bash サンドボックス:claude --permission-mode default、その後 /sandbox を実行して auto-allow を選択 組み込み Bash サンドボックス、macOS、Linux、WSL2 上 拒否ルールは依然として適用され、Bash(git push *) のようなコマンドに名前を付ける ask ルールは依然としてプロンプトを表示します。プロンプトを表示する可能性があるその他のコマンドについては、auto-allow モードで説明しています。代わりに設定ファイルからサンドボックスをオンにするには、sandbox.enabled を true に設定します
何かを変更する前に探索 claude --permission-mode plan なし Claude Code は計画を承認するまで編集をブロックします
auto モードでハンズオフで作業 claude --permission-mode auto、v2.1.283 以降の組み込み開始権限モード なし。サンドボックスまたはコンテナは防御の深さを追加 サポートされているモデルが必要で、組織は auto モードをオフにできます
正確な許可リストで CI で実行 claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" CI ランナーが提供するもの以外はなし クラウドセッションは設定ファイルから dontAsk を無視します
コンテナ内で完全に無人で実行 claude -p "<prompt>" --dangerously-skip-permissions 必須:コンテナ、VM、またはサンドボックスランタイム。Linux と macOS では、非 root ユーザーとして実行 クラウドセッションは設定ファイルからこのモードを無視します。この -p 実行では、依然としてプロンプトが表示される少数の呼び出しは代わりに拒否されます

Bash サンドボックスと auto モードは独立して機能し、Sandbox modesの下にリストされている例外を除いて組み合わさります。完全な相互作用については、サンドボックスが権限と権限モードにどのように関連するかおよび隔離が権限モードにどのように関連するかを参照してください。

セッションが開始するモード

ターミナルで新しいセッションを開始すると、Claude Code は最初に適用されるものから権限モードを取得します。

  1. --permission-mode フラグ、または --dangerously-skip-permissions

  2. 設定ファイルの permissions.defaultMode

    .claude/settings.json または .claude/settings.local.json で "auto" を設定した場合、値は有効にならず、Claude Code は ~/.claude/settings.json からの defaultMode ではなく組み込みデフォルトを使用します。これらの 2 つのファイルで "bypassPermissions" を設定した場合、それも有効にならず、セッションは Manual モードで開始します。他の値はすべての設定ファイルから適用されます。

  3. 組み込みデフォルト

VS Code 拡張機能が開始する会話は、権限モードを切り替えるの拡張機能独自のリストに従います。Claude Code が再開されたセッションを開始する権限モードについては、再開時の権限モードを参照してください。

組み込み auto デフォルトには、macOS、Linux、WSL では Claude Code v2.1.228 以降が必要で、ネイティブ Windows では v2.1.233 以降が必要です。以前のバージョンでは、組み込みデフォルトは Manual です。

組み込みデフォルトは、Claude Code の実行方法によって異なります。セッションに一致する最初の行が適用されます。表は、ターミナルまたは VS Code 拡張機能を通じて開始するセッションをカバーしています。デスクトップアプリと claude.ai については、権限モードを切り替えるの Desktop と Web タブを参照してください。

Claude Code の実行方法 組み込み開始権限モード
設定ファイルが disableAutoMode を "disable" に設定 default
claude -p または Agent SDK default
組織に HIPAA 設定が適用されており、セッションがその対象である Claude Code v2.1.285 以降では default。auto モードへの切り替えは引き続き可能です
ターミナルまたは VS Code 拡張機能を通じて Claude Code v2.1.283 以降では auto。以前のバージョンでは、Pro、Max、または Team プランで フィーチャーフラグを取得するセッションでは auto、それ以外は default

フラグ、設定ファイル、または組み込みデフォルトが auto を選択しても、auto モードがセッションで利用できない場合、Claude Code はセッションを Manual で開始します。Auto モードは、セッションが 利用可能性要件を満たさない場合(設定ファイルがそれをオフにするか、サポートしていないモデルなど)、または Anthropic がサーバー側で一時的にそれをオフにした場合に利用できません。

組み込みデフォルトが初めてセッションを auto モードで開始するとき、Claude Code はこのページにリンクする通知を表示します。

  • ターミナルでは、セッションの上部に 1 回
  • VS Code 拡張機能では、新しい会話画面のカードとして、却下するまで表示されます

~/.claude/settings.json が auto 以外の defaultMode を設定し、他の設定ファイルが設定しない場合、セッションはそのモードで開始し続けます。Pro、Max、Team プランおよび フィーチャーフラグを取得しないセッションでは、Claude Code はターミナルまたは VS Code 拡張機能で 1 回、設定を auto モードに変更するかどうかを尋ねます。却下した場合、設定はそのままです。

claude -p と Agent SDK の実行で拒否されるツール呼び出し

Claude Code v2.1.302 以降では、権限モードが設定されていない claude -p および Agent SDK の実行は Manual モードで開始します。このモードは SDK オプションと設定では default として表示されます。承認が必要な呼び出しは、許可ルール、フック、canUseTool コールバック、または --permission-prompt-tool で承認しない限り拒否されます。

これらの呼び出しが承認されるようにするには、許可ルールを追加するか、auto モードで開始します。

以下の例は、CLI と各 SDK での auto モードの指定方法を示しています。

CLI

claude -p "Run the test suite and fix any failures" --permission-mode auto

TypeScript

const options = {
  permissionMode: "auto"
};

Python

from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(permission_mode="auto")

v2.1.302 より前は、フィーチャーフラグを取得しない場合、例えばサードパーティプロバイダー上や DISABLE_TELEMETRY を使用している場合に、これらの実行が auto モードで開始することがありました。

異なる権限モードで開始する

1 つのセッション、マシン上のすべてのセッション、プロジェクト内、または組織内のすべてのセッションの開始権限モードを設定できます。複数の設定ファイルが permissions.defaultMode を設定する場合、設定の優先順位が決定するため、プロジェクトまたは管理値は ~/.claude/settings.json より優先されます。実行中のセッションの権限モードを変更するには、権限モードを切り替えるを参照してください。

開始権限モードを設定する対象 これを実行
開始しようとしている 1 つのセッション 権限モードをフラグとして渡します。例えば claude --permission-mode default
このマシンで開始するすべてのターミナルセッション ~/.claude/settings.json で permissions.defaultMode を設定します。VS Code 拡張機能が読み取る内容については、権限モードを切り替えるを参照してください
1 つのプロジェクトで開始するすべてのターミナルセッション プロジェクトの .claude/settings.json で permissions.defaultMode を設定します。ターミナルで開始するセッションは auto と bypassPermissions を除くすべての値を尊重します。VS Code 拡張機能が開始するセッションはプロジェクト設定を開始権限モードに読み込みません
組織内のすべてのターミナルセッション 管理設定で permissions.defaultMode を設定します。ターミナルセッションはそのモードで開始し、ユーザーは依然として auto モードに切り替えることができます。VS Code 拡張機能が読み取る内容については、権限モードを切り替えるを参照してください。auto モードを削除してユーザーが選択できないようにするには、代わりに permissions.disableAutoMode を "disable" に設定します

この例は、マシン上のすべてのターミナルセッションを Manual モード(その設定値は default)で開始するようにします。~/.claude/settings.json に保存します。

{
  "permissions": {
    "defaultMode": "default"
  }
}

次に開始するセッションは、ステータスバーに ⏸ manual mode on を表示します。

HIPAA 設定での権限モード

HIPAA 設定が適用されている組織では、組み込みの auto デフォルトは適用されません。開始権限モードを他に選択するものがない場合、ターミナルまたは VS Code のセッションは Manual モードで開始します。ターミナルセッションでは Auto mode isn't the default for your organization · Shift+Tab to switch も表示され、VS Code 拡張機能では通知は表示されません。これが適用されるセッションについては、開発者のサインイン方法と接続方法を確認するに記載されています。

auto モードと bypassPermissions は引き続き利用できます。

Claude Code v2.1.285 以降が必要です。これは HIPAA 設定の最小バージョンです。

権限モードを切り替える

各インターフェースには、セッション中に権限モードを切り替えるための独自のコントロールと、新しいセッションが開始する権限モードを選択するための独自の方法があります。インターフェースを選択して、そのコントロールを確認してください。

CLI

セッション中:Shift+Tab を押して権限モードをサイクルします。auto からの場合、最初のプレスで default に切り替わり、その後サイクルは default → acceptEdits → plan の順に進みます。オプションモードは plan の後にスロットインします。ステータスバーはアクティブなモードを、default の場合はグレーの ⏸ manual mode on、または ⏵⏵ accept edits on、⏸ plan mode on、⏵⏵ auto mode on、⏵⏵ don't ask on、または ⏵⏵ bypass permissions on として表示します。

auto モードで開始したセッションのこのクリップで、ステータスバーに注目してください。Shift+Tab を押すたびに、auto mode on から manual mode on、accept edits on、plan mode on へと変わり、再び auto mode on に戻ります。