メインコンテンツへスキップ
← 記事一覧に戻る
·運営·16 min read

Claude Code 権限モード完全ガイド【2026】|6つのモードの違いと安全な自動承認の選び方

Claude Code個人開発AI自動化セキュリティ

Claude Code を使ってると、何かするたびに「このファイル編集していい?」「このコマンド実行していい?」と聞かれます。最初は安心だけど、進むほどこの確認がだるくなってくる。

そこでやりがちなのが、ブログやXで見た「--dangerously-skip-permissions を付ければ全部聞かれなくなる」を、意味も分からずコピペすること。僕がまさにそれで、ずっと「全部すっ飛ばし」で使ってました。でもこれ、Claude Code で一番危険なモードだったんです。

権限モードというのは、ざっくり言うと「Claude が何かするたびに出す"確認"の頻度を決める設定」。確認が多いほど安全だけど遅い、少ないほど速いけど暴走を止めにくい。このバランスを6段階から選べる、というのが全体像です。この記事では、用語を知らない前提でその6つを1つずつ説明して、初心者がどれを選べばいいかまでまとめます。

結論:迷ったらこれ

先に要点だけ。

  • これから使い始める人 → まずは default(標準)のまま。聞かれたら中身を見て「はい/いいえ」を選ぶ。これで Claude Code の挙動に慣れる。
  • 確認がだるくなってきたらacceptEdits(ファイル編集だけ自動)。これが一番無難な「次の一歩」。
  • もっと自動で任せたい、かつ条件を満たすならauto(背景で安全チェックしながらほぼ自動)。
  • --dangerously-skip-permissions(= bypassPermissions)は、普段使ってはいけません。これは安全チェックを全部切る隔離環境専用のモードです。僕がやっていた「意味も分からず常用」は間違いでした。

6つの権限モードを1つずつ

claude --help を見ると、--permission-mode で選べるモードは6つあります。

--permission-mode <mode>   (choices: "acceptEdits", "auto",
                            "bypassPermissions", "default",
                            "dontAsk", "plan")

安全な順(確認が多い順)に、1つずつ見ていきます。挙動はすべて Claude Code 公式ドキュメント(パーミッションモードを選択する)で確認したものです。

1. default(標準)— 全員これでスタート

  • ひとことで: 読み取りは自動、書き換えは毎回確認。
  • 自動になること: ファイルを「読む」だけの操作や、ls(ファイル一覧)cat(中身を見る)のような何も壊さないコマンド
  • 止まること: ファイルの編集・新規作成、ファイルを書き換える系のコマンド。これらは毎回「やっていい?」と聞かれる。
  • こんな時に: Claude Code を初めて触る時。何が起きるか分からないうちは、毎回中身を見て承認するのが一番安全。
  • 初心者メモ: まずはこれで慣れる。「うざい」と感じてから次のモードを考えれば十分です。

2. plan(計画モード)— 先に計画を見せてもらう

  • ひとことで: 実際に書き換える前に、Claude が「これからやることの計画」を文章で出す。
  • 自動になること: 読み取りのみ(default と同じく、調べるだけ)。
  • 止まること: ファイルの編集。そもそも編集しない。まず計画を書いて、あなたが「OK」と言ってから実行に移る。
  • こんな時に: 大きめの変更を頼む前に、「AI が見当違いの方向に進んでいないか」を先に確認したい時。
  • 初心者メモ: Shift+Tab で切り替えるか、プロンプトの頭に /plan を付けると入れます。計画を見て納得してから進められるので、事故が減ります。

3. acceptEdits(編集は自動)— だるさ解消の最初の一歩

  • ひとことで: ファイルの編集だけは勝手にやっていい。それ以外のコマンドは確認。
  • 自動になること: 作業フォルダの中のファイル編集・作成と、mkdir(フォルダ作成)touch mv(移動)cp(コピー)rm(削除)など一般的なファイル操作コマンド。
  • 止まること: 上記以外のコマンド(ビルド、インストール、git 操作など書き込み系の Bash)は確認が出る。
  • こんな時に: 「編集は任せて、あとでまとめて git diff(変更の差分)で見ればいい」と思える段階。
  • 初心者メモ: default の次の一歩として一番無難。ステータスバーに ⏵⏵ accept edits on と出ます。default から Shift+Tab を1回押すと入れます。

4. auto(自動モード)— 背景で安全チェックしながらほぼ自動

  • ひとことで: ほぼ全部を自動で進めるが、裏で別の AI(分類器)が1つずつ危険判定して、危ないものだけ止める。
  • 自動になること: 読み取り・作業フォルダ内の編集はそのまま自動。それ以外のコマンドも、裏のチェックを通って安全なら自動実行。
  • 止まること(自動でブロック): 本番環境へのデプロイ、クラウドの大量削除、curl | bash(ネットから落としてそのまま実行)、機密データの外部送信、main への直接プッシュなど、危険なものは自動でブロックして別の方法を探させる。
  • こんな時に: 長めの作業を任せたい、でも「全許可」は怖い時。確認の数を大きく減らしつつ、危険操作だけは止めてくれる。
  • ⚠ 重要な注意: 公式は auto を**「リサーチプレビュー(試験提供)」**とし、「プロンプトを削減するが、安全性を保証するものではない」と明記しています。「一般的な方向を信頼できる作業」に使うもので、機密操作のレビューの代わりにはしないこと。
  • 初心者メモ: 後述しますが、auto は使える条件があります。使えない場合は無理せず acceptEdits に戻るのが安全です。

5. dontAsk(事前許可のみ)— CI・自動実行向け

  • ひとことで: 事前に「これはOK」とリスト登録したものだけ実行。それ以外は確認せず拒否
  • 自動になること: 設定ファイルの allow(許可リスト)に登録済みのものと、読み取り専用コマンドだけ。
  • 止まること: リストにないものは、プロンプトすら出さずに拒否される。
  • こんな時に: CI(自動テストの仕組み)など、人が見ていない環境で、想定外を一切動かしたくない時。
  • 初心者メモ: 普段の手作業では基本使いません。「人がいない場所で安全に回す」ための上級者・自動化向けモードだと思ってOKです。

6. bypassPermissions(全スキップ)— 僕が誤って常用していた危険モード

  • ひとことで: 安全チェックを全部オフにして、何でも即実行。--dangerously-skip-permissions と同じもの。
  • 自動になること: ほぼ全部。確認は出ない。
  • 止まること: rm -rf /(システム全体を消す)のようなごく一部の破滅的コマンドだけが、安全装置として確認される。それ以外はほぼ素通り。
  • 公式の警告: このモードは「プロンプトインジェクション(AI が悪意あるデータに操られる攻撃)や、意図しない操作に対する保護を提供しない」。だからコンテナ・VM・ネット遮断した環境など、壊れても被害が出ない隔離環境でのみ使うべき、とされています。Linux/macOS では root や sudo では起動すら拒否されます。
  • 僕の失敗: 「聞かれるのがうざい」だけで、このモードを普段の作業で常用していました。意味を知った今は完全に間違いだったと分かります。公式自身が「プロンプトを大きく減らしたいなら、bypass の代わりに auto を使え」と書いています

プランやモデルで使えるモードは変わる?

「自分のプランだと使えないモードがあるのでは?」——気になるところなので、公式ドキュメントで確認しました。

結論: 6モードのうち5つ(default/plan/acceptEdits/dontAsk/bypassPermissions)は、プランによる制限はありません。 どのプランでも使えます。

例外は auto(自動モード)だけです。auto は次の条件をすべて満たした時に使えます。

  • プラン: 公式は「すべてのプラン」と明記(プランの種類で弾かれるわけではない)。
  • モデル: Anthropic API なら Opus 4.6 以降、または Sonnet 4.6。Amazon Bedrock / Google Vertex AI / Microsoft Foundry 経由なら Opus 4.7・4.8 のみ。古いモデル(Sonnet 4.5・Opus 4.5・Haiku・claude-3 など)はどの経路でも非対応
  • バージョン: Claude Code v2.1.83 以降
  • 管理者: Team・Enterprise では、管理者が有効化するまで使えません(個人プランは管理者設定は不要)。

つまり「プランで決まる」というより、使っているモデルとバージョンで auto が使えるかが決まる、というのが正確なところでした。claude --permission-mode auto を打っても動かない場合、ここが原因です。その時は危険な bypass に戻さず、acceptEdits を使うのが安全な落とし所です。

もう1つ、どこで Claude Code を動かすか(実行環境)でも、出てくるモードが変わります

  • Web版(claude.ai/code のクラウドセッション): bypassPermissions は使えない。auto は組織が許可し対応モデルの時だけ表示。
  • Remote Control(手元マシンを遠隔操作): auto と bypassPermissions は使えない。

僕が bypass → auto に変えた判断

僕の修正は、起動エイリアスのこの1行だけです。

# ~/.zshrc
- alias cc='claude --dangerously-skip-permissions'
+ alias cc='claude --permission-mode auto'

理由はシンプルで、「確認を減らしたい」という当初の目的はそのままに、bypass にあった『無防備さ』を auto の背景チェックで埋められるからです。公式も「プロンプトを大きく減らしたいなら bypass でなく auto」と位置づけています。僕は Opus 4.8 を使っているので、auto の条件を満たしていました。

正直に書くと、変えたのは執筆時点(2026年6月)で、運用の効果(速くなった・事故が減った等)はまだ実測していません。今言えるのは「意味も分からず全許可していた状態をやめ、背景チェック付きの自動化に変えた」という設定の事実だけです。実測が貯まったら追記します。

どれを使えばいい?(初心者向けフロー)

Claude Code を使い始めたばかり          → default のまま
大きな変更の前に方針を確認したい          → plan
確認がだるい、編集は任せたい              → acceptEdits(一番無難な次の一歩)
もっと自動で任せたい(auto が使える)      → auto
auto が使えない(モデル/バージョン条件)   → acceptEdits に留める
壊れてもいい隔離環境で全部すっ飛ばす       → bypassPermissions(普段は使わない)

補足: どのモードでも、deny(禁止)と ask(毎回確認)の権限ルールは効きます。「auto だけど、この危ないコマンドだけは毎回確認したい」は ask ルールで作れます。

今日やること(3つ)

  1. 自分の起動コマンドやエイリアスに --dangerously-skip-permissions が入っていないか確認する。入っていて、隔離環境でもないなら、それは「全許可」の常用です。
  2. --permission-mode auto(使えなければ acceptEdits)に変える。cc のようなエイリアスを使っているなら、そこを1行書き換えるだけ。
  3. 毎回その状態で始めたいなら、ユーザー設定 ~/.claude/settings.json に既定モードを書く。
// ~/.claude/settings.json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

注意: defaultMode: "auto"ユーザー設定(~/.claude/)にしか効きません。プロジェクト側(.claude/settings.json)に書いても無視されます。acceptEdits などはプロジェクト側でも有効です。

セッションの途中でモードを変えたい時は Shift+Tab でサイクルできます(auto や bypass は条件を満たすとサイクルに出てきます)。


僕がやった修正は、エイリアスを1行変えただけ。「うざいから全許可」をやめて、背景チェック付きの auto にしただけです。同じように意味も分からず --dangerously-skip-permissions を常用している人が、これを見て一度立ち止まってくれたら嬉しいです。

記事が役に立ったら気軽にどうぞ。

この記事が役に立ったらシェア