Claude Code自動承認を安全に運用する3ステップ¶
この記事の対象者
- Claude Codeの基本操作を理解し、自動許可モードを導入したい中級エンジニア
この記事のポイント¶
- タスク開始前に自動許可モードへ即切り替えできる
--dangerously-skip-permissionsの利用範囲を明文化できる- 許可/拒否リストでリスクの高いツールをブロックできる
2026-04 対応バージョン
本ガイドは以下の環境を前提に検証しています。
| コンポーネント | バージョン / 備考 |
|---|---|
| Claude Code | v2.1.80+(Compaction・VS Code統合・Checkpoint・Auto mode対応) |
| Claude Opus 4.6 | 1Mコンテキスト(標準提供・betaヘッダー不要)、128K出力、Agent Teams、Adaptive Thinking |
| Claude Sonnet 4.6 | デフォルトコーディングモデル(Sonnet 4.5の後継) |
| Hooks | 複数イベントタイプ対応(PreToolUse / PostToolUse / SubagentStop / PermissionDenied / defer判定) |
| auto mode | 2026-03-24 Research Preview(Team / Enterprise / API、Pro/Max未対応)→ 詳細記事1 |
なぜこの問題が今重要か¶
Claude Code v2.0以降、自動許可モードの機能が拡充され利用者が増えている一方、設定ミスによる意図しないコマンド実行のリスクも高まっています。高速化と安全運用を両立する運用ルールの整備が急務です。
90秒版との連携
- 即効Tipsは別記事 Claude Code自動承認クイックTips(90秒実践) に集約しました。
- 本ガイドは体系的な手順を提供し、クイックTipsは着手前チェックリストとして使い分ける想定です。
解決ステップ概要¶
Claude Codeがコマンドを実行しようとしたとき、3つの関門を順に通過する必要があります。以下のシミュレーターで、コマンドごとの挙動を確認できます。
ステップ1: モード切替で自動許可を限定する¶
自動許可の範囲はモードで決まります。Shift+Tabでモードを切り替え、タスクのリスクに応じた適切なモードを選択してください。
ステップ2: CLIフラグをルール化して使う¶
バッチ処理やCIで確実に承認をスキップしたい場合は --dangerously-skip-permissions を使います。
⚠️ 「dangerously」フラグは意図的に危険と明示されている
一般的なベストプラクティスとして、「dangerously」という命名は意図的であり、リスクを十分理解した上で使用すべきフラグであると考えられています。本記事の説明は公式ドキュメントの引用ではなく、一般的な安全運用上のガイダンスです。
原則オフとし、以下の場合のみ例外的に使用してください:
- 隔離されたCI/CD環境
- 検証済みの自動修正タスク(lint、テスト再実行等)
- ログ監査が確立されたパイプライン
チーム内で「どのタスクに許可するか」「ログ保管先」を決めてから、以下のように実行すると安全性と速度を両立できます。
claude --dangerously-skip-permissions "Run eslint --fix and rerun tests"
claude --dangerously-skip-permissions "Regenerate Storybook docs without manual approvals"
v2.1.78以降の動作変更: protected paths
v2.1.78以降、.git/ および .claude/ ディレクトリがprotected pathsに指定されました。--dangerously-skip-permissions(bypassPermissionsモード)を有効にしていても、これらのパスへの書き込み操作には承認プロンプトが表示されます。
- v2.1.81で
.claude/skills/も保護対象に追加 - VS Code拡張ではsettings.jsonの権限設定が無視される報告あり(CLIのみ正常動作)
- この制約は今後拡大する可能性が高い
影響: スキルファイルの自動生成や.claude/配下の設定変更を含む自動化パイプラインでは、このフラグだけでは完全な無人実行ができなくなっています。
Hooksはsettings.jsonのallow/denyリストと組み合わせて多層防御を構築します。詳細は 運用ベストプラクティス上級編【2026年版】 を参照してください。
2026年3月追加のHook機能
PermissionDeniedhook: Auto modeのClassifierが操作を拒否した後に発火。{retry: true}を返すことでモデルにリトライを指示可能defer判定(PreToolUse): headlessセッション(-pモード)でツール呼び出しを一時停止し、-p --resumeで再開時にhookを再評価できる
これらはAuto modeとの併用を前提とした機能だが、Hooks単体でも権限制御の粒度が向上している。
Team/Enterprise向け新機能: Auto mode(2026年3月24日〜)
Anthropicは--dangerously-skip-permissionsの安全な代替としてAuto modeをリリースしました。Sonnet 4.6ベースのClassifierがツール呼び出しごとにリスク判定を行い、安全な操作は自動承認、危険な操作(大量ファイル削除・データ流出・悪意あるコード実行等)はブロックします。
対応プラン(2026年4月時点):
- Team: 利用可(research preview)
- Enterprise: 利用可
- API: 利用可
- Pro / Max(個人プラン): 未対応
有効化:
claude --enable-auto-mode
有効化後、Shift+Tabのサイクルに auto が追加されます。
個人プランユーザーへの影響: Pro/Maxプランでは現時点でAuto modeを利用できません。本記事で解説しているacceptEditsモード + Hooks + allow/denyリストの組み合わせが引き続き最も実用的な自動承認運用手段です。
詳細: Auto mode for Claude Code(公式ブログ) / Anthropic Engineering解説
組織でのバイパス制限¶
エンタープライズ環境では、組織管理ポリシー(Organization managed policies)で --dangerously-skip-permissions の使用を制限できます。管理者がポリシーを設定すると、メンバーのCLIに自動適用されます。
許可対象は検証済みの自動修正タスクに限定し、デプロイやシークレット閲覧など高リスク処理は常に通常モードで承認してください。
ステップ3: 許可/拒否リストでガードレールを固定する¶
チーム運用ではsettings.jsonで許可・拒否ルールを明文化します。以下のマッチャーで、コマンドがどのルールに該当するか確認できます。
既知の問題: denyルールが正しく機能しない場合がある
GitHub Issues #6631、#6699 で報告されているように、denyルール(特にRead/Write系)が正しく機能しない問題があります。これらのIssueはClosedですが、#12918(v2.0.56)や#27040(2026年2月)で再発が報告されており、2026年2月時点でも完全には解決していません。セキュリティ上重要な制限にはdenyルールだけに依存しないでください。
推奨対策: denyルールとPreToolUse Hooksを併用して確実にブロックしてください。Hooksは非ゼロの終了コードでツール呼び出しを拒否でき、多層防御を実現します。
2026年3月の進展: v2.1.80+のリリースで「PreToolUse hooksがallowを返した場合にdenyルール(enterprise managed settings含む)をバイパスしてしまう問題」が修正されました。ただし、deny機能の信頼性は段階的に改善中であり、多層防御の方針は引き続き推奨されます。
設定変更後はClaude Codeを再起動し、denyに該当するコマンドが自動で停止するかをテストしてから本番運用へ移行します。ログは必ずリポジトリ外の監査ストレージに同期し、誰が自動許可モードを使ったか追跡できる状態を維持してください。
Compaction: 長時間自動承認セッションの安定化¶
Claude CodeのCompaction機能は、長時間セッションでコンテキストが上限に近づくと自動的に会話を圧縮し、作業を継続させます。
よくある落とし穴と対処¶
| 症状 | 原因 | 即時対処 |
|---|---|---|
| 危険コマンドまで自動実行される | 許可/拒否リストが未設定 | settings.jsonでdenyに高リスクコマンドを追加し再テスト |
| 自動許可モードのまま本番デプロイ | モード表示を確認せず作業継続 | Shift+Tabでdefaultモードへ戻し、承認履歴をレビュー |
| 監査が追えない | ログ保存先がローカルのみ | CIでログをクラウドストレージへ同期し保持期間を定義 |
| 長時間セッションでコンテキスト切れ | Compaction未活用 | Claude Code v2.0+にアップデートし、Checkpoint併用で安全網を確保 |
--dangerously-skip-permissions でも.git/操作で承認を求められる | v2.1.78以降のprotected paths仕様 | Auto mode(Team/Enterprise)への移行、またはHooksで対象操作を個別許可 |
詳細設定(高度最適化)
- `alias cca="claude --dangerously-skip-permissions"` のように限定用途のエイリアスを作成し、想定外の引数が来たら実行を停止する簡易ラッパーを追加すると事故を防げます。 - `CLAUDE.md` に自動許可利用ポリシー(利用可能タスク、ログ提出先、承認プロセス)を記載し、オンボーディング時に共有してください。 - CI/CDで使う場合はジョブ開始時に `git diff --stat` を記録し、自動許可モードで何が変更されたかをプルリク説明に転記するとレビューが短縮されます。alias cca="claude --dangerously-skip-permissions"
cca \"Fix eslint warnings and rerun tests\"
次に読む(関連記事)¶
- Claude Code auto mode完全ガイド — classifierの判定ロジック・Subagent挙動・有効化手順の詳細
- Auto mode for Claude Code(公式ブログ) — Team/Enterprise向け: Classifierベースの自動承認モード
- 運用ベストプラクティス上級編【2026年版】 — Hooks・Subagents・コンテキスト管理など11の実践テクニック
- Claude Code Hooks完全ガイド — PostToolUseフックで自動承認の安全網を構築
- CLAUDE.md入門ガイド — 自動承認ポリシーをCLAUDE.mdに記載する方法
- Claude Code CLI最新4機能で開発効率を2倍にする実践ガイド — Async Subagentsと自動承認の組み合わせ
- Claude Codeトラブルシューティングガイド — 自動承認で問題が起きた時の切り分け
- Claude Code権限モデルの全体像
- Claude Code権限モード公式ドキュメント — 全モード(default/acceptEdits/plan/auto/bypassPermissions)の公式解説
- Codex CLI approval_policy実装パターン完全ガイド — Codex CLIでの同等機能との比較
- Codex CLI承認モード完全ガイド — クロスツール比較: Codex CLIの
-a never
Anthropic, "Auto mode for Claude Code", 2026-03-24. https://claude.com/blog/auto-mode ↩