--dangerously-skip-permissionsとは?
読み方: デンジャラスリー スキップ パーミッションズ
定義
Claude Code 起動時に指定する CLI フラグ。すべてのツール実行をユーザー確認なしで自動承認する。CI/CD やヘッドレス自動化向け。
詳しい解説
--dangerously-skip-permissions は claude コマンドの起動オプションで、このフラグを有効にすると、ファイルの読み書き(Read / Write / Edit)、シェルコマンド実行(Bash)、Web 検索など、すべてのツール呼び出しがユーザーの承認なしに自動実行されます。通常の Claude Code では危険な操作の前に確認ダイアログが表示されますが、このフラグはその安全機構を完全に無効化します。コミュニティでは「YOLO モード」という通称で広く知られており、用語集の yolo-mode はこのフラグの別名です。主な用途は GitHub Actions のワークフロー、CI/CD パイプライン、cron ジョブなど、人間が画面を見ていないヘッドレス自動化です。-p フラグ(非対話モード)と組み合わせて claude --dangerously-skip-permissions -p '指示' のように使うのが典型的なパターンです。一方、対話的なセッションや本番コードベースでの使用は推奨されません。意図しないファイル削除、破壊的な Git 操作(git reset --hard など)、機密情報を含むコマンドの実行を防ぐ手段がなくなるためです。安全に自動化を行うためのミティゲーション手段がいくつかあります。まず --allowedTools フラグで許可するツールを明示的にホワイトリスト化できます(例: --allowedTools 'Edit,Read,Glob,Grep' とすれば Bash の実行を禁止できます)。次に Docker コンテナやサンドボックス環境内で実行すれば、ホストシステムへの影響を物理的に遮断できます。GitHub Actions では actions/checkout で取得した一時的なワークスペースで実行されるため、リスクは限定的です。なお、--dangerously-skip-permissions と .claude/settings.json のパーミッション設定は異なる仕組みです。settings.json の allowedTools はプロジェクト単位で特定のツールやコマンドパターンを事前承認するホワイトリストで、それ以外の操作では引き続き確認が求められます。一方 --dangerously-skip-permissions はすべての確認を一括で無効化するグローバルなオーバーライドです。自動化が目的であれば、まず settings.json や CLAUDE.md の allowedTools で必要最小限のツールだけを許可し、それでも不十分な場合にのみ --dangerously-skip-permissions を検討するのがベストプラクティスです。
使用例
claude --dangerously-skip-permissions -p 'Fix all lint errors'