科技數碼
Claude CLI 權限模式完整比較:Auto Mode 與 Bypass Permissions 的關鍵差異

Claude CLI 提供六種權限模式,從完全手動到零防護,覆蓋不同開發場景的安全需求。本文聚焦最常被比較的兩個極端——Auto Mode 與 Bypass Permissions——解析其運作機制、風險落差與適用情境。
六種權限模式總覽
| 模式 | 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 運作原理
- 每項工具呼叫前執行安全分類器評估
- 安全操作自動放行,高風險操作阻擋或升級人工確認
- 設計背景:Anthropic 發現 93% 的權限提示最終都被核准——Auto Mode 移除這 93% 的摩擦,同時保留對剩餘 7% 風險的防護
Bypass Permissions 運作原理
- 零評估、零防護的「YOLO 模式」
- 旗標名稱
--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 是官方認證的中間地帶:近乎同等的執行速度,風險大幅降低


