AI コーディング CLI にフルパーミッションを与えて自走させる - Claude Code、Codex、Gemini CLI 比較
Claude Code、Codex CLI、Gemini CLI。ターミナルで動く AI コーディングエージェントは日々進化を続けています。
これらのツールはデフォルトではファイルの書き込みやコマンドの実行のたびにユーザーの承認を求めます。安全ですが、大規模なリファクタリングや反復的なタスクでは承認プロンプトが作業のボトルネックになります。
各ツールにはパーミッションを緩和して自律的に動かすためのモードが用意されています。本記事では、3 つの CLI エージェントのパーミッションモデルを比較し、フルパーミッションで自走させるための設定と注意点を整理します。
チートシート: コピペで使えるフルパーミッションコマンド
Claude Code
# フルパーミッション(隔離環境向け)
claude --dangerously-skip-permissions
# AI 安全検証付き自律モード(Team/Enterprise/API プラン必要)
claude --permission-mode autoCodex CLI
# ワークスペース内で自律実行(推奨)
codex --full-auto
# サンドボックスも承認も完全無効化
codex --yoloGemini CLI
# 全ツール自動承認
gemini --approval-mode yolo
# サンドボックス付きで全ツール自動承認
gemini --approval-mode yolo --sandbox各コマンドの詳細とリスクについては、以下のセクションで解説します。
Claude Code のパーミッションモード
Claude Code は 6 つのパーミッションモードを提供しています。
| モード | フラグ | 動作 |
|---|---|---|
default | --permission-mode default | 読み取りのみ自動。編集・コマンドは承認が必要 |
acceptEdits | --permission-mode acceptEdits | 読み取り・ファイル編集は自動。コマンドは承認が必要 |
plan | --permission-mode plan | 読み取り専用。変更の提案のみで実行しない |
auto | --permission-mode auto | 承認なしで実行。別の分類モデルが各アクションを事前検証 |
dontAsk | --permission-mode dontAsk | 事前許可されたツール以外は自動拒否。CI 向け |
bypassPermissions | --dangerously-skip-permissions | すべてのパーミッションプロンプトを無効化 |
セッション中に Shift+Tab でモードを切り替えられます。
auto モード: AI が AI を監視する
auto モードは Claude Code 独自の仕組みです。ユーザーへの承認プロンプトなしで実行しつつ、別の分類モデルがバックグラウンドで各アクションをレビューします。
claude --permission-mode auto分類モデルは以下のケースでアクションをブロックします。
- リクエストの範囲を超えたエスカレーション
- 認識されていないインフラへのアクセス
- 悪意のあるコンテンツに起因する操作
連続 3 回または累計 20 回ブロックされると、auto モードは一時停止し、通常の承認プロンプトにフォールバックします。
auto モードには制約があります。Team、Enterprise、または API プランが必要で、Anthropic API 経由かつ Sonnet 4.6 または Opus 4.6 モデルでのみ利用可能です。
bypassPermissions モード: 全開放
claude --dangerously-skip-permissionsすべてのパーミッションチェックをスキップします。.git、.claude などの保護パスへの書き込みのみ引き続きプロンプトが表示されます。
フラグ名に dangerously が含まれている通り、プロンプトインジェクションや意図しない操作に対する保護はありません。Docker コンテナや VM など、隔離された環境での利用が前提です。
管理者は permissions.disableBypassPermissionsMode を "disable" に設定することで、組織全体でこのモードを無効化できます。
Codex CLI のパーミッションモデル
Codex CLI は「承認ポリシー」と「サンドボックス」の 2 軸でパーミッションを制御します。
承認ポリシー
| ポリシー | フラグ | 動作 |
|---|---|---|
untrusted | --ask-for-approval untrusted | 安全な読み取り操作のみ自動。変更・実行は承認が必要 |
on-request | --ask-for-approval on-request | ワークスペース内の読み書き・コマンドは自動。外部アクセスは承認が必要 |
never | --ask-for-approval never | 承認プロンプトなし |
サンドボックスモード
| モード | 動作 |
|---|---|
read-only | 読み取りのみ。編集・コマンド・ネットワークは承認が必要 |
workspace-write | ワークスペース内の読み書き可。ネットワークはデフォルトで無効 |
danger-full-access | サンドボックスなし。すべての操作が許可 |
ショートカットフラグ
実際の利用では、2 つのショートカットフラグがよく使われます。
# ワークスペース内で自律実行(推奨)
codex --full-auto
# サンドボックスも承認も完全無効化(非推奨)
codex --yolo--full-auto は workspace-write サンドボックス + on-request 承認ポリシーの組み合わせです。ワークスペース内では自由に動きますが、外部へのアクセスには制限がかかります。
--yolo(正式名: --dangerously-bypass-approvals-and-sandbox)はすべての制限を解除します。
Gemini CLI のパーミッションモデル
Gemini CLI は 4 つの承認モードを提供しています。
| モード | フラグ | 動作 |
|---|---|---|
default | --approval-mode default | すべてのツール呼び出しで承認が必要 |
auto_edit | --approval-mode auto_edit | ファイル編集は自動承認。その他は承認が必要 |
yolo | --approval-mode yolo | すべてのツール呼び出しを自動承認 |
plan | --approval-mode plan | 読み取り専用(実験的) |
# フルパーミッションで起動
gemini --approval-mode yoloGemini CLI の yolo モードには意図的な制約があります。settings.json のデフォルト設定には指定できず、毎回コマンドラインフラグで明示的に指定する必要があります。「うっかり全開放」を防ぐ設計です。
管理者は security.disableYoloMode: true を設定することで、フラグを渡しても yolo モードが有効にならないよう制限できます。
サンドボックスとの併用
Gemini CLI は承認モードとは別に、macOS の seatbelt プロファイルを利用したサンドボックス機能を備えています。
# サンドボックス有効で起動
gemini --sandboxpermissive-open から strict-proxied まで 6 段階のプロファイルが用意されており、yolo モードと組み合わせることで「承認なしだがサンドボックスで保護」という構成が可能です。
3 ツールの比較
| 項目 | Claude Code | Codex CLI | Gemini CLI |
|---|---|---|---|
| フル自律フラグ | --dangerously-skip-permissions | --yolo | --approval-mode yolo |
| スコープ付き自律 | --permission-mode auto | --full-auto | --approval-mode auto_edit |
| AI による安全検証 | あり(auto モードの分類モデル) | なし | なし |
| サンドボックス | なし(外部ツールに依存) | 組み込み(3 段階) | 組み込み(macOS seatbelt) |
| 管理者による無効化 | あり | なし(ドキュメントに記載なし) | あり |
| 警告的な命名 | dangerously | dangerously / yolo | yolo |
3 ツールに共通しているのは、フルパーミッションモードのフラグ名に「これは危険ですよ」というメッセージが込められている点です。dangerously、yolo といった命名は、開発者に対する明示的な警告として機能しています。
Claude Code だけが auto モードという中間的な選択肢を持っています。ユーザーへの承認プロンプトなしで動きつつ、別の AI モデルが安全性を検証する仕組みです。
どの場面でフルパーミッションを使うか
推奨される利用シーン
- 隔離された CI/CD 環境: Docker コンテナや VM 内でのコード生成・テスト実行
- 使い捨ての開発環境: GitHub Codespaces でのプロトタイピング
- 大規模リファクタリング: 数百ファイルにわたる機械的な変更(import パスの変更、API の移行など)
- 反復的なタスク: テストの生成、ドキュメントの更新、ボイラープレートの作成
避けるべき利用シーン
- 本番環境に直接アクセスできるマシン: インフラの変更やデータベース操作が意図せず実行されるリスク
- 信頼できないコードベースでの作業: プロンプトインジェクションのリスクが高い
- 機密情報を含むリポジトリ: シークレットやクレデンシャルが含まれる環境では、サンドボックスなしの全開放は危険
実用的な構成例
筆者が普段使っている構成を紹介します。
# 日常の開発作業: スコープ付き自律モード
claude --permission-mode acceptEdits
# 大規模リファクタリング: auto モード(AI による安全検証付き)
claude --permission-mode auto
# CI/CD パイプライン(Docker 内): フルパーミッション
claude --dangerously-skip-permissionsCodex CLI の場合は以下です。
# 日常の開発作業
codex --full-auto
# CI/CD パイプライン(Docker 内)
codex --yoloポイントは「ローカルの日常作業ではスコープ付き自律、隔離環境ではフル自律」という使い分けです。
まとめ
Claude Code、Codex CLI、Gemini CLI の 3 つの AI コーディング CLI は、それぞれ異なるアプローチでパーミッションモデルを設計しています。
- Claude Code: 6 段階のモードを持ち、
autoモードでは AI による安全検証という独自のアプローチを採用 - Codex CLI: 承認ポリシーとサンドボックスの 2 軸で柔軟に制御。
--full-autoが実用的な選択肢 - Gemini CLI: シンプルな 4 段階のモード。
yoloモードを設定ファイルに保存できない設計で誤用を防止
フルパーミッションモードは強力ですが、隔離された環境で使うことが前提です。日常の開発では、各ツールが提供する「スコープ付き自律」モード(Claude Code の auto / acceptEdits、Codex の --full-auto、Gemini の auto_edit)を使い分けるのが実用的です。
以上、AI コーディング CLI のパーミッション設定を比較した現場からお送りしました。