Insights·2026-07-24

Claude Code の権限モードとは何か、いつ auto で手を離してよいのか?

権限モード(permission mode)は、毎回あなたの承認を得なくても Claude Code が何を実行してよいかを一度だけ決めておく設定だ。六つある。manual は読み取りのみで、それ以外はすべて尋ねる。acceptEdits は読み取り・ファイル編集・よくあるファイルシステム系コマンドまで尋ねずに進め、あとでまとめてレビューさせる。plan は読み取って調査し計画を提案するだけで編集はしない。auto はすべてを実行しつつ、別個の分類器モデルが各アクションを実行直前に審査して危険なものだけを止める——手を離すときの既定だ。dontAsk は事前承認したツールだけを許可し、それ以外はプロンプトなしで自動拒否するので CI や夜間バッチに向く。bypassPermissions はすべてのチェックを飛ばす dangerously-skip-permissions と同じで、隔離されたコンテナや VM の中でのみ使う。shift+tab で manual → acceptEdits → plan → auto を巡回し、ステータスバーが現在のモードを示す。auto の分類器は意図は守るがコードが正しいかは見ないため、テストを走らせる stop hook と併用し、意図は分類器が、正しさは hook が分担する。結局、どこまで手を離すかは度胸ではなく仕事に合わせて決め、それに合うモードを選べばよい。

클로드 코드 권한 모드 6종을 게 캐릭터로 표현한 그리드 — manual(읽기만), acceptEdits(편집 수락), plan(모자·돋보기로 조사), auto(빗자루로 자동 작업), dontAsk(잠자는 zzz), bypassPermissions(경고 표지). 각 모드마다 다른 배경색 카드.
출처: Anthropic Claude Code 공식 영상 — 권한 모드 6종(manual·acceptEdits·plan·auto·dontAsk·bypassPermissions)

権限モードとは何か、なぜ一度で決めておくのか

権限モードは、毎回確認しなくても Claude Code が何を実行してよいかを一度だけ決めておく設定だ。Claude Code はファイルの読み書き、ターミナルコマンドの実行、パッケージのインストールといった実作業を行うが、動作ごとに「これをやってよいか」を尋ねると、長い作業ほど承認のために張り付くことになる。権限モードはその基準を先に一度決め、安全な範囲では尋ねずに進めさせる。

設定は簡単だ。Claude Code の画面で shift を押しながら tab を押すとモードが順に切り替わる。manual、acceptEdits、plan、auto の四つがこの巡回で移り変わり、今どのモードかは画面下のステータスバー(status bar)に表示される。残り二つ(dontAsk、bypassPermissions)は無人実行や隔離環境などの特殊な場合に使う。

肝心なのは「モードを仕事に合わせる」ことだ。一行ずつ変更を目で確かめたい序盤はよく尋ねるモードが安全で、方向が定まり反復作業だけになれば、あまり尋ねないモードが速い。以下では六つのモードを「どこまで自動で許可するか」の順に見ていく。

モード自動で何をするかいつ使うか
manual読み取りのみ。ほかは毎回尋ねる一動作ずつ確認して慎重に進めるとき
acceptEdits読み取り + ファイル編集 + よくあるファイルシステム系コマンドコードを繰り返し直し、あとでまとめてレビューするとき
plan読み取り・調査・提案のみ。編集はしない実行前にまず計画を受け取りたいとき
autoすべて実行しつつ分類器が危険動作を事前に遮断手を離して任せる既定
dontAsk事前承認したツールのみ。ほかは静かに自動拒否CI・夜間バッチなど承認する人がいないとき
bypassPermissionsすべてのチェックを飛ばす隔離されたコンテナ・VM の中でのみ

毎回尋ねる側 — manual と plan

manual は最も保守的なモードだ。Claude Code は読み取りだけを尋ねずに許可し、ファイルの編集やコマンドの実行など、それ以外のすべての動作は実行前に人の確認を受ける。何が変わるかを一つずつ目で見て承認したいとき、あるいは不慣れなコードベースを慎重に扱うときに向く。

plan(プランモード)も読み取りのみだが目的が違う。plan はコードを調査し「何をどう変えるか」の計画を立てて提案するだけで、実際にはファイルを編集しない。大きな作業を始める前に Claude にまずコードを見渡させて実行計画を出させ、それを読んでから方向づける用途だ。計画が緻密なほど、実行時にずれる余地は減る。

レビューを後回しにする側 — acceptEdits

acceptEdits は読み取りとファイル編集、そしてよく使うファイルシステム系のターミナルコマンドまで尋ねずに進める。Claude がコードを直す間、毎回承認ボタンを押す必要なく流れが続き、人は結果が出たあとにまとめて確認する。

だから acceptEdits は「今は速く反復し、レビューは後で」という進め方に合う。すでに方向が定まったコードを何度も磨くときに特に効率的だ。ただし編集を事後に確認する仕組みなので、変わった内容を後で必ず見返すことが前提になる。

手を離す既定 — auto モードと分類器

手を離して任せる場面でまず考えるモードは auto だ。auto モードでは Claude は人に尋ねずに動作を実行するが、その手前で別個の分類器モデル(classifier)が各動作を実行直前に審査する。危険と判断した動作だけを遮り、残りの日常的な作業はそのまま通す。つまり「すべて自動」でありながら、危険なものだけを選んで止める仕組みだ。

分類器が止めるのは「要求の範囲を超えて話を大きくする」動作だ。たとえば本番環境へのデプロイやデータベースのマイグレーション、強制プッシュ(force push)、ダウンロードしたコードをそのままシェルにパイプして実行すること、機微なデータを外部エンドポイントへ送ること、セッションに必要なファイルを消してしまうことなどだ。逆に通すのは日常作業で、プロジェクト内のローカル編集、ロックファイル(lockfile)に記載された依存関係のインストール、読み取り専用のリクエスト、自分のブランチへのプッシュなどだ。

auto は shift+tab 巡回の最後にあり手軽に入れられ、ステータスバーで今 auto かを確認できる。「手を離す既定」と呼ぶ理由は、人が張り付いて承認しなくても、危険な境界だけは分類器が守るからだ。

分類器の盲点と stop hook

auto の分類器には明確な限界がある。分類器は意図を守るだけで、コードが実際に正しく動くかは見ない。たとえば Claude に認証ロジックをリファクタリングさせて、結果が壊れた認証コードでも、分類器はそれをそのまま通す。「壊れている」ことは「危険」ではないからだ。

だから auto はテストを走らせる stop hook と併用するのが定石だ。stop hook は Claude が一区切りの作業を終えた時点で自動的に走る検査で、そこにテスト実行を仕込んでおけば、auto が「何をしようとしているか(意図)」を守る間、hook が「コードが実際に動くか(正しさ)」を確認する。意図は分類器、正しさは hook が分担する形だ。

auto のガードレールはまだ発展途上で、何を止め何を許すかのリストは変わり続ける。実際に auto を使うときは、公式ドキュメントで現在の遮断・許可リストを確認するとよい。

.claude/settings.json — 一区切りの終わりにテストを走らせる stop hook
{
  "hooks": {
    "Stop": [
      { "hooks": [ { "type": "command", "command": "npm test" } ] }
    ]
  }
}

無人パイプラインは dontAsk、隔離環境は bypassPermissions

dontAsk は人が承認できない自動化の場面のためのモードだ。あらかじめ承認したツールだけ実行を許し、そのリストにない動作は人に尋ねずただちに自動拒否する。CI パイプライン、予約ジョブ、夜通し走るバッチのように傍に人がいない状況で、誰も押さない承認ウィンドウに引っかかって止まる代わりに、パイプラインを流し続ける。

bypassPermissions はすべてのチェックを飛ばす。Claude Code の「危険を承知で権限確認を飛ばす」(dangerously-skip-permissions)設定と同じで、分類器も承認もなく何でも実行する。それだけ危険なので、隔離されたコンテナや仮想マシン(VM)の中でのみ走らせるべきだ。実際の作業環境で常時使うモードではない。

結論 — モードを仕事に合わせる

権限モードはいくつもあるが、毎日使うものは shift+tab 巡回で届く。手を離す既定は auto で、その安全は二重に守られる。動作の実行前には分類器が意図を検査し、一区切りの終わりには stop hook がコードが実際に動くかを確認する。

傍に承認する人がいない無人パイプラインは dontAsk が担い、すべてのチェックを飛ばす bypassPermissions は隔離されたコンテナと VM の中だけで使う。結局は一つに畳まれる。どこまで手を離すかを度胸ではなく仕事に合わせて決め、その仕事に合う権限モードを選べばよい。