標籤: Claude Code

  • AI CLI 工具的 YOLO mode 設定報告

    AI CLI 工具的 YOLO mode 設定報告

    報告範圍

    本報告整理四款 AI CLI (Claude Code、Gemini CLI、Codex CLI、Copilot CLI )工具在 2026-05-09 可查證的 YOLO mode 用法,分成兩類:

    • 單次開啟:只對這次 session 生效
    • 預設開啟:透過設定檔、環境變數或固定啟動方式,讓之後啟動時直接進入高權限模式

    本文以官方文件為主,輔以你提供的 GitHub issue、YouTube 影片描述與科技翰林院文章。要先說結論:四家都有人把「少按確認」叫成 YOLO,但實際上分成三種不同層級:

    • 真正全開:幾乎不再擋你,像 Claude Code bypassPermissions、Codex danger-full-access、Copilot --yolo
    • 半自動:能自動跑,但仍有安全邊界,像 Claude auto
    • 只是自動續跑:像 Copilot Autopilot,不是權限全開

    快速結論

    工具單次開啟 YOLO能否預設 YOLO重點限制
    Claude Codeclaude --permission-mode bypassPermissionsclaude --dangerously-skip-permissions可部分持久化,偏可行auto 不等於 YOLO;bypassPermissions 風險最高
    Gemini CLIgemini --approval-mode=yolo不行,官方明寫只能命令列啟用settings.json 不能把 yolo 設成預設
    Codex CLIcodex exec --dangerously-bypass-approvals-and-sandbox--yolo;互動式可用 Full Access / 高權限組合可以--full-auto 已過時;建議改用 approval_policy + sandbox_mode
    GitHub Copilot CLIcopilot --yolo / copilot --allow-all;session 內 /yolo沒有正式設定鍵,但可用 COPILOT_ALLOW_ALL=true 達成類似效果Autopilot 不等於 YOLO;/yolo 開啟後當次 session 不能切回

    1. Claude Code

    單次開啟

    真正接近 YOLO 的做法是:

    claude --permission-mode bypassPermissions

    或:

    claude --dangerously-skip-permissions

    設定步驟:

    1. 開啟終端機,切到專案目錄。
    2. 輸入上述任一指令啟動 Claude Code。
    3. 確認你是在可承受風險的工作目錄,最好是 Git 專案或隔離容器。

    補充:

    • acceptEdits 只是自動接受編輯,不是 YOLO。
    • auto 也不是 YOLO。它會交給背景 classifier 檢查動作。

    預設開啟

    官方文件顯示可在 settings.json 設預設模式,設定檔位置:

    • 全域:~/.claude/settings.json
    • 專案:.claude/settings.json
    • 個人專案覆蓋:.claude/settings.local.json

    範例:

    {
      "permissions": {
        "defaultMode": "bypassPermissions"
      }
    }

    建議步驟:

    1. 建立或編輯 ~/.claude/settings.json
    2. 加入 permissions.defaultMode
    3. 重新啟動 Claude Code。

    實務注意:

    • 官方文件明確寫 defaultMode 可設成權限模式,但 bypassPermissions 是否能直接出現在可切換列表,仍和啟動旗標、介面上的危險模式允許開關有關。
    • Claude 的「可預設」能力比 Gemini、Copilot 強,但最安全的理解方式是:settings.json 可以把高權限設成預設,真正要不要完全跳過檢查,還受產品安全機制控制。

    限制差異

    • auto 模式有背景安全檢查,會阻擋下載執行、production deploy、force push 等高風險動作。
    • bypassPermissions 是直接跳過權限與安全檢查,官方只建議在隔離環境使用。
    • 除了 bypassPermissions,其他模式對受保護路徑仍有額外限制。

    2. Gemini CLI

    單次開啟

    官方建議寫法:

    gemini --approval-mode=yolo

    舊寫法仍存在,但已標為 deprecated:

    gemini --yolo

    設定步驟:

    1. 開啟終端機,切到工作目錄。
    2. 輸入 gemini --approval-mode=yolo
    3. 如需額外控制,再視需求搭配 --sandbox

    預設開啟

    不能。

    這不是推測,是官方文件直接寫明:

    • general.defaultApprovalMode 只支援 default
    • auto_edit
    • plan
    • YOLO 只能透過命令列 --yolo--approval-mode=yolo 啟用

    設定檔位置:

    • 全域:~/.gemini/settings.json
    • 專案:your-project/.gemini/settings.json

    可做的是「預設比較少確認」,不是預設 YOLO:

    {
      "general": {
        "defaultApprovalMode": "auto_edit"
      }
    }

    設定步驟:

    1. 建立或編輯 ~/.gemini/settings.json
    2. general.defaultApprovalModeauto_edit
    3. 重新啟動 Gemini CLI。

    限制差異

    • Gemini 是四家裡最明確禁止「設定檔永久 YOLO」的一家。
    • auto_edit 只會自動批准 edit tools,不會自動批准所有工具。
    • --yolo--approval-mode=yolo 是單次 session override。
    • CLI 文件另提到 plan 是唯讀模式,和 YOLO 完全相反。

    3. Codex CLI

    單次開啟

    先分兩種情境。

    非互動 / script 型

    官方目前最明確的 YOLO 旗標在 codex exec

    codex exec --dangerously-bypass-approvals-and-sandbox "你的任務"

    別名:

    codex exec --yolo "你的任務"

    互動式 CLI

    OpenAI 最新文件不再把 --full-auto 當正式主路徑。--full-auto 已標示為 deprecated compatibility flag,官方寫法是改用:

    codex --sandbox workspace-write

    但這其實不是完全 YOLO,只是偏向「Auto」模式。若你要真正高權限預設,應用設定檔組合而不是依賴 --full-auto

    預設開啟

    可以,而且四家裡 Codex 是最適合用設定檔做持久高權限配置的一家。

    設定檔位置:

    • 全域:~/.codex/config.toml
    • 專案:.codex/config.toml

    接近「預設 YOLO」的設定:

    approval_policy = "never"
    sandbox_mode = "danger-full-access"

    如果你想保留一點沙箱,但不要一直問,也可以用:

    approval_policy = "never"
    sandbox_mode = "workspace-write"

    設定步驟:

    1. 建立或編輯 ~/.codex/config.toml
    2. 設定 approval_policy
    3. 設定 sandbox_mode
    4. 重新啟動 Codex CLI。

    更穩妥的做法是用 profile:

    [profiles.yolo]
    approval_policy = "never"
    sandbox_mode = "danger-full-access"

    之後啟動:

    codex -p yolo

    限制差異

    • --full-auto 是舊旗標,不建議再當教學主軸。
    • workspace-write 不是完全放行,仍受工作目錄範圍限制。
    • danger-full-access 才是比較貼近傳統 YOLO 的模式。
    • 組織環境可用 requirements.toml 禁止 approval_policy = "never"sandbox_mode = "danger-full-access"

    4. GitHub Copilot CLI

    單次開啟

    啟動時:

    copilot --yolo

    等價寫法:

    copilot --allow-all

    它等同同時開啟:

    • --allow-all-tools
    • --allow-all-paths
    • --allow-all-urls

    如果已經在互動 session 裡,也可以直接輸入:

    /yolo

    或:

    /allow-all

    設定步驟:

    1. 進入專案目錄後啟動 copilot --yolo
    2. 若已在 session 中,輸入 /yolo
    3. 如需真正長任務自走,再搭配 --autopilot

    範例:

    copilot --autopilot --yolo --max-autopilot-continues 10 -p "YOUR PROMPT HERE"

    預設開啟

    Copilot CLI 沒有正式的 settings.json 鍵可寫成 yolo: true

    可行做法有兩種:

    做法 A:環境變數

    export COPILOT_ALLOW_ALL=true

    若想每次 shell 啟動都生效,可加進 ~/.zshrc~/.bashrc

    做法 B:固定 alias

    alias copilot-yolo='copilot --yolo'

    不建議誤解的做法:

    • ~/.copilot/settings.json 不能直接設成全域 YOLO
    • permissions-config.json 只是記住你在某專案曾批准過什麼,不是預設 YOLO 模式
    • askUser=false 只是少問澄清問題,不等於給全權限

    限制差異

    • Autopilot 不等於 --yolo。Autopilot 是多步續跑機制,不是權限開關。
    • 即使用 --yolo,仍可能受 deny rules 影響;文件明寫 deny 規則優先。
    • /yolo 只會對當前 session 生效,而且再次輸入不會關掉。
    • 你提供的 GitHub issue #737 反映 2025-12-08 社群曾希望能 mid-session toggle YOLO;現行官方文件已能在 session 中啟用 /yolo,但仍不是 toggle。

    5. 四家差異總整理

    A. 能否用設定檔永久預設成真正 YOLO

    工具結論
    Claude Code大致可以,但仍受危險模式啟用條件影響
    Gemini CLI不行
    Codex CLI可以
    Copilot CLI沒有正式設定鍵;改用環境變數或 alias

    B. 名稱容易誤解的地方

    名稱真正意思
    Claude auto自動跑,但有 classifier 安全檢查
    Gemini auto_edit只自動批准編輯工具
    Codex --full-auto舊旗標,已不建議
    Copilot Autopilot自動續跑,不是權限全開

    C. 安全邊界誰最硬

    由硬到鬆,大致可這樣看:

    1. Gemini CLI:最不願意讓你持久化 YOLO
    2. Copilot CLI:能開 YOLO,但主要靠啟動旗標或環境變數,不走正式設定檔
    3. Claude Code:有完整權限模式體系,但 autobypassPermissions 差很大
    4. Codex CLI:最容易做成持久化高權限 profile

    6. 建議用法

    如果你要的是「這次先讓它自己跑完」:

    • Claude Code:claude --dangerously-skip-permissions
    • Gemini CLI:gemini --approval-mode=yolo
    • Codex CLI:codex exec --yolo "task"
    • Copilot CLI:copilot --yolo

    如果你要的是「之後每次都差不多這樣跑」:

    • Claude Code:改 ~/.claude/settings.json
    • Gemini CLI:做不到真正 YOLO,最多改成 auto_edit
    • Codex CLI:改 ~/.codex/config.toml
    • Copilot CLI:用 COPILOT_ALLOW_ALL=true 或 shell alias

    如果你要的是「少確認,但不要完全裸奔」:

    • Claude Code:acceptEditsauto
    • Gemini CLI:auto_edit
    • Codex CLI:approval_policy = "never" + sandbox_mode = "workspace-write"
    • Copilot CLI:--allow-tool--allow-url、信任目錄與專案權限記憶

    7. 來源

    • Claude Code permission modes: https://code.claude.com/docs/en/permission-modes
    • Claude Code settings: https://code.claude.com/docs/en/settings
    • Gemini CLI settings: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/settings.md
    • Gemini CLI configuration: https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md
    • Gemini CLI cheatsheet: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/cli-reference.md
    • Codex CLI overview: https://developers.openai.com/codex/cli
    • Codex CLI command line options: https://developers.openai.com/codex/cli/reference
    • Codex config basics: https://developers.openai.com/codex/config-basic
    • Codex config reference: https://developers.openai.com/codex/config-reference
    • GitHub Copilot CLI configure docs: https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli
    • GitHub Copilot CLI autopilot docs: https://docs.github.com/en/copilot/concepts/agents/copilot-cli/autopilot
    • GitHub Copilot CLI command reference: https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference
    • GitHub Copilot CLI config directory: https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference
    • GitHub Copilot CLI issue #737: https://github.com/github/copilot-cli/issues/737
    • GitHub YouTube 影片: https://www.youtube.com/watch?v=UMz8aQ4lOtE
    • 科技翰林院文章: https://www.techhanlin.tw/ai-coding-cli-tools-yolo-mode-setup-guide/