Claude CLI 提供六種權限模式,從完全手動到完全自動化。核心差異在於「哪些操作無需詢問即可執行」。

六種模式總覽

模式 CLI 參數 自動執行範圍 適用情境
default --permission-mode default 僅讀取 入門、敏感/生產環境
acceptEdits --permission-mode acceptEdits 讀取 + 檔案編輯 + 常見檔案系統指令 主動編碼、跨檔案重構
plan --permission-mode plan 僅讀取(阻擋所有修改) 程式碼探索、架構分析
auto --permission-mode auto 所有操作,但安全分類器逐項審查 長時間任務、降低審批疲勞
dontAsk --permission-mode dontAsk 僅預先核准工具(其餘靜默拒絕) CI/CD 管道、鎖定腳本
bypassPermissions --dangerously-skip-permissions 所有操作,無任何檢查 僅限隔離容器/VM

核心對比:Auto Mode vs. Bypass Permissions

兩者都消除「持續核准」的摩擦,但機制截然不同:

情境 Auto Mode --dangerously-skip-permissions
讀取設定檔 ✅ 自動執行 ✅ 自動執行
寫入原始碼 ✅ 自動執行 ✅ 自動執行
刪除大型目錄 ⚠️ 可能阻擋或詢問 ✅ 自動執行(高風險)
執行 rm -rf / 🚫 阻擋 ✅ 自動執行(災難性)
刪除資料庫 🚫 阻擋 ✅ 自動執行
外部網路請求 ⚠️ 依風險評估決定 ✅ 自動執行
危險操作誤放率 ~17%(Anthropic 實測) ~100% — 無任何評估

Auto Mode 運作機制

  • 每個工具呼叫前執行安全分類器評估
  • 安全操作自動通過;風險操作阻擋或升級人工確認
  • 設計背景:93% 的權限提示最終都被核准,Auto Mode 移除這 93% 的摩擦,同時保留對風險 7% 的防護

Bypass Permissions 運作機制

  • 零評估、零防護
  • 參數名稱 --dangerously-skip-permissions 刻意警示性設計
  • 官方預期用途:僅限可拋棄的容器或臨時 VM

啟用方式

啟動時指定

# Auto mode
claude --permission-mode auto

# Plan mode
claude --permission-mode plan

# 跳過所有權限(危險)
claude --dangerously-skip-permissions

# 單次無頭任務 + auto mode
claude --permission-mode auto -p "Refactor all files in src/utils"

工作階段中切換

Shift+Tab 循環:

default → acceptEdits → plan → [auto] → [bypassPermissions]

(Auto 與 bypass 需帳號/方案支援且已啟用才會顯示)

設為預設值

全域:~/.claude/settings.json 或專案層級:.claude/settings.json

{
  "permissions": {
    "defaultMode": "auto"
  }
}

可用性限制

模式 方案要求 模型要求
default / acceptEdits / plan 任意 任意
auto Team / Enterprise / Max / API Sonnet 4.6+ 或 Opus 4.6+
bypassPermissions 任意(組織管理員可禁用) 任意
dontAsk 任意 任意

情境建議

情境 推薦模式 理由
探索陌生程式碼庫 plan 無法意外修改任何內容
生產環境程式碼變更 default 每個動作手動審查
大型重構工作 acceptEdits 自動核准檔案變更,shell 指令仍詢問
夜間/自動化任務 auto 分類器防災,無需值守
無人 CI/CD 管道 dontAsk + 許可清單 僅預核准工具執行,其餘靜默拒絕
可拋棄 Docker 容器 bypassPermissions 容器邊界提供安全;速度最大化
無頭/背景代理 auto 無需持續核准即可離開

五種安全設定:速度與安全排序

排序 設定 消除的提示 剩餘保護機制
1 Auto mode ~93%(核准類提示) 分類器阻擋危險呼叫
2 settings.json 許可清單 清單內所有項目 未列工具仍適用拒絕/詢問規則
3 acceptEdits + 許可清單 所有檔案編輯 + 列出的指令 未列出 Bash 指令仍提示
4 沙箱環境 所有沙箱指令 OS 級檔案系統 + 網路邊界
5 Docker 內 bypass 所有 僅容器隔離牆

結論

  • 日常使用首選--permission-mode auto — 消除 ~93% 核准提示,同時保留安全分類器監控破壞性操作
  • 絕對避免:在隔離、可拋棄環境之外使用 --dangerously-skip-permissions
  • Auto Mode 是官方設計的中間地帶:接近 bypass 的速度,風險大幅降低