コンテンツにスキップ

Claude Code 完全ガイド

Claude Code自動承認を安全に運用する3ステップ

この記事の対象者

  • Claude Codeの基本操作を理解し、自動許可モードを導入したい中級エンジニア

この記事のポイント

  1. タスク開始前に自動許可モードへ即切り替えできる
  2. --dangerously-skip-permissionsの利用範囲を明文化できる
  3. 許可/拒否リストでリスクの高いツールをブロックできる

2026-04 対応バージョン

本ガイドは以下の環境を前提に検証しています。

コンポーネントバージョン / 備考
Claude Codev2.1.80+(Compaction・VS Code統合・Checkpoint・Auto mode対応)
Claude Opus 4.61Mコンテキスト(標準提供・betaヘッダー不要)、128K出力、Agent Teams、Adaptive Thinking
Claude Sonnet 4.6デフォルトコーディングモデル(Sonnet 4.5の後継)
Hooks複数イベントタイプ対応(PreToolUse / PostToolUse / SubagentStop / PermissionDenied / defer判定
auto mode2026-03-24 Research Preview(Team / Enterprise / API、Pro/Max未対応)→ 詳細記事1

なぜこの問題が今重要か

Claude Code v2.0以降、自動許可モードの機能が拡充され利用者が増えている一方、設定ミスによる意図しないコマンド実行のリスクも高まっています。高速化と安全運用を両立する運用ルールの整備が急務です。

90秒版との連携

解決ステップ概要

Claude Codeがコマンドを実行しようとしたとき、3つの関門を順に通過する必要があります。以下のシミュレーターで、コマンドごとの挙動を確認できます。

コマンドを選択してゲート通過を確認

ステップ1: モード切替で自動許可を限定する

自動許可の範囲はモードで決まります。Shift+Tabでモードを切り替え、タスクのリスクに応じた適切なモードを選択してください。

🔵
default
標準モード — 全操作に承認が必要

ステップ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-permissionsbypassPermissionsモード)を有効にしていても、これらのパスへの書き込み操作には承認プロンプトが表示されます。

  • v2.1.81で .claude/skills/ も保護対象に追加
  • VS Code拡張ではsettings.jsonの権限設定が無視される報告あり(CLIのみ正常動作)
  • この制約は今後拡大する可能性が高い

影響: スキルファイルの自動生成や.claude/配下の設定変更を含む自動化パイプラインでは、このフラグだけでは完全な無人実行ができなくなっています。

PreToolUse Hook 検査フロー
コマンドを選択して検査フローを確認

Hooksはsettings.jsonのallow/denyリストと組み合わせて多層防御を構築します。詳細は 運用ベストプラクティス上級編【2026年版】 を参照してください。

2026年3月追加のHook機能

  • PermissionDenied hook: 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で許可・拒否ルールを明文化します。以下のマッチャーで、コマンドがどのルールに該当するか確認できます。

✅ allow ルール
🚫 deny ルール
コマンドを選択してルールマッチを確認

既知の問題: 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機能は、長時間セッションでコンテキストが上限に近づくと自動的に会話を圧縮し、作業を継続させます。

25K / 200K12%
12%

よくある落とし穴と対処

症状原因即時対処
危険コマンドまで自動実行される許可/拒否リストが未設定settings.jsondenyに高リスクコマンドを追加し再テスト
自動許可モードのまま本番デプロイモード表示を確認せず作業継続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\"

次に読む(関連記事)


  1. Anthropic, "Auto mode for Claude Code", 2026-03-24. https://claude.com/blog/auto-mode