Claude Code 権限モードの違い|6種類と切り替え方

この記事の要点
- 権限モードは、Claude が確認なしで進めてよい範囲を決める設定。6種類ある
- 会話の途中は Shift+Tab で切り替え、起動時は --permission-mode で決める
- 禁止(deny)のルールはどのモードでも効く。確認をすべて飛ばすモードは隔離した環境だけで使う
Claude Code は、ファイルを書き換えたりコマンドを動かしたりする前に、確認を求めることがあります。どこまで確認なしで進めてよいか を決めるのが「権限モード」です。
この記事では、公式ドキュメント「Choose a permission mode」(2026年11月3日確認)にもとづいて、6つのモードの違いと切り替え方、目的に合った選び方を比べます。
結論:ふだんは auto か manual、自動実行は dontAsk
手元の作業は、確認を減らすなら auto、1つずつ見たいなら manual(設定上の名前は default)。決まった作業だけを自動で動かすなら dontAsk。 確認をすべて飛ばす bypassPermissions は、コンテナや仮想マシンのような隔離した環境だけで使います。
6つのモードの比較
| モード | 確認なしで動くこと | 向いている場面 |
|---|---|---|
default(画面では Manual) | 読むことだけ | すべての操作を自分で確かめたい・大事な作業 |
acceptEdits | 読む・ファイルの編集・よく使うファイル操作(mkdir・mv・cp など) | 変更を見ながら直していく |
plan | 読むこと(オートモードが使える時は、安全と判定されたコマンドも) | 変える前に中を調べて計画を立てる |
auto | ほぼすべて。裏で安全チェックが動く | 長い作業・確認の多さに疲れたとき |
dontAsk | 読むことと、事前に許可した道具だけ。ほかは確認せずに断る | CI やスクリプトの自動実行 |
bypassPermissions | すべて | 隔離したコンテナや仮想マシンの中だけ |
各モードは土台です。その上に、許可・禁止のルールを重ねて細かく決めます。禁止(deny)のルールは、bypassPermissions も含めてどのモードでも効きます。 ルールの書き方は 権限設定入門 で説明しています。
会話の途中で切り替える
ターミナルでは Shift+Tab を押すたびにモードが切り替わり、画面の下に manual mode on・accept edits on・plan mode on・auto mode on のように表示されます。
autoは、オートモードが使える時だけ順番に入るbypassPermissionsは、起動時にこのモードを有効にした時だけ順番に入るdontAskは順番に入らない。起動時に--permission-mode dontAskで指定する
起動時のモードの決まり方
ターミナルで新しく始めるとき、次の順で最初に当てはまったものが使われます。
- 起動時の
--permission-mode(または--dangerously-skip-permissions) - 設定ファイルの
permissions.defaultMode - 組み込みの既定
組み込みの既定は、ターミナルや VS Code では auto です(2.1.283 以降。使えない条件の時は Manual)。一方、claude -p や Agent SDK の自動実行は Manual で始まります。自動実行で確認が要る操作が断られる時は、--allowedTools で許可を足すか、--permission-mode auto を付けます。くわしくは claude -p の使い方 で説明しています。
いつも同じモードで始めたい時は、自分の ~/.claude/settings.json に書きます。
{
"permissions": {
"defaultMode": "default"
}
}
プロジェクトの .claude/settings.json に auto や bypassPermissions を書いても、そのプロジェクトのターミナルの起動には効きません。 共有のファイルに危ない設定を入れられないようにするためです。設定ファイルの置き場所は settings.json 入門 で説明しています。
目的別の選び方
| やりたいこと | 始め方 | 隔離 |
|---|---|---|
| すべて自分で確かめる | claude --permission-mode default | 不要 |
| 変える前に調べる | claude --permission-mode plan | 不要 |
| 確認を減らして任せる | claude --permission-mode auto | 不要(あるとより安全) |
| CI で決まった作業だけ動かす | claude -p "テストを実行" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" | CI の環境のまま |
| 完全に放置で動かす | claude -p "…" --dangerously-skip-permissions | 必須(コンテナ・仮想マシン) |
プランモードの進め方は プランモードとは?、オートモードの安全チェックの中身は オートモードとは?、コマンドが届く範囲を絞る方法は サンドボックスとは? で説明しています。
どのモードでも確認なしでは通らない操作
bypassPermissions でも、次のものは確認か拒否になります。
- 許可・禁止のルールで「確認する(ask)」と決めた道具
- ユーザーへの質問など、人の操作が前提の道具
- ホームやシステムの大事な場所をまるごと消す
rmのような操作 - 作業フォルダの外への読み書きを止める設定を有効にしているときの、外への読み書き
モードは「どこまで任せるか」、ルールとサンドボックスは「何に触れてよいか」 を決めるもの、と分けて考えると整理しやすくなります。
サブエージェントのモード
サブエージェントは、定義ファイルの permissionMode で個別にモードを決められます。ただし、メインの会話が auto・acceptEdits・bypassPermissions の時は、サブエージェントもメインと同じモードで動き、指定は使われません。メインが plan の時は、サブエージェントも plan のままです。サブエージェントの作り方は マルチエージェント入門 で説明しています。
まとめ
- 権限モードは 確認なしで進めてよい範囲 を決める。6種類あり、Shift+Tab で切り替える
- 手元は auto か manual、自動実行は dontAsk +許可リスト、bypassPermissions は隔離した環境だけ
- 禁止ルールはどのモードでも効く。プロジェクトの設定では auto や bypass を既定にできない
出典
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


