跳轉到主要內容
權限模式控制 Claude 是否在執行前詢問。不同的任務需要不同的自主程度:您可能希望對敏感工作進行完全監督,對長時間重構進行最少中斷,或在探索程式碼庫時進行唯讀存取。 本頁涵蓋如何:

切換權限模式

您可以在會話期間、啟動時或作為持久預設值隨時切換模式。機制取決於您在何處執行 Claude Code。
在會話期間:按 Shift+Tab 循環通過 defaultacceptEditsplanauto。目前模式顯示在狀態欄中。在您在啟動時傳遞 --enable-auto-mode 之前,auto 不會出現在循環中。自動模式還需要 Team(或 Enterprise/API 一旦可用)計劃和 Claude Sonnet 4.6 或 Opus 4.6,因此即使使用該標誌,該選項也可能保持不可用。如果也啟用了 bypassPermissions,它會出現在 planauto 之間的循環中。啟動時:將模式作為 CLI 標誌傳遞:
claude --permission-mode plan
作為預設值:在您的設定檔中設定 defaultMode
{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}
非互動式:相同的標誌適用於指令碼執行的 -p
claude -p "refactor auth" --permission-mode acceptEdits
dontAsk 永遠不在 Shift+Tab 循環中。bypassPermissions 只有在您使用 --permission-mode bypassPermissions--dangerously-skip-permissions--allow-dangerously-skip-permissions 啟動會話時才會出現在循環中。第三個標誌將模式添加到循環中而不啟動它,因此您可以將其與不同的啟動模式(如 --permission-mode plan)組合。在啟動時或在設定檔中設定這些中的任何一個。
權限模式通過 UI、CLI 標誌或設定檔設定。在聊天中告訴 Claude「停止詢問權限」不會改變模式。有關模式如何與允許、詢問和拒絕規則互動的資訊,請參閱權限

可用模式

每種模式在便利性和監督之間進行不同的權衡。選擇與您的任務相符的模式。
模式Claude 無需詢問即可執行的操作最適合
default讀取檔案入門、敏感工作
acceptEdits讀取和編輯檔案迭代您正在審查的程式碼
plan讀取檔案探索程式碼庫、規劃重構
auto所有操作,具有背景安全檢查長時間執行的任務、減少提示疲勞
bypassPermissions所有操作,無檢查隔離容器和 VM 僅
dontAsk僅預先批准的工具鎖定環境

使用規劃模式在編輯前分析

規劃模式告訴 Claude 研究和提議變更而不進行變更。Claude 讀取檔案、執行 shell 命令進行探索、提出澄清問題並寫入計劃檔案,但不編輯您的原始程式碼。權限提示的工作方式與預設模式相同:您仍然批准 Bash 命令、網路請求和其他通常會提示的操作。

何時使用規劃模式

當您希望 Claude 在進行變更前研究和提議方法時,規劃模式很有用:
  • 多步驟實現:當功能需要跨多個檔案進行編輯時
  • 程式碼探索:當您想在更改任何內容前研究程式碼庫時
  • 互動式開發:當您想與 Claude 迭代方向時

啟動和使用規劃模式

通過在提示前加上 /plan 為單個請求進入規劃模式,或通過按 Shift+Tab 循環通過權限模式將整個會話切換到規劃模式。您也可以從 CLI 啟動規劃模式:
claude --permission-mode plan
此示例為複雜重構啟動規劃會話:
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude 分析目前的實現並建立計劃。使用後續問題進行細化:
What about backward compatibility?
How should we handle database migration?
當計劃準備好時,Claude 呈現它並詢問如何進行。從該提示您可以:
  • 批准並在自動模式下啟動
  • 批准並接受編輯
  • 批准並手動審查每個編輯
  • 繼續規劃,將您的反饋發送回 Claude 進行另一輪
每個批准選項也提供首先清除規劃上下文的選項。

使用自動模式消除提示

自動模式在 Team 計劃上可用,Enterprise 和 API 支援即將推出。在 Team 和 Enterprise 上,管理員必須在 Claude Code 管理設定中啟用它,使用者才能打開它。它需要 Claude Sonnet 4.6 或 Claude Opus 4.6,在 Haiku、claude-3 模型或第三方提供商(Bedrock、Vertex、Foundry)上不可用。 自動模式讓 Claude 執行操作而不顯示權限提示。在每個操作執行前,單獨的分類器模型審查對話並決定操作是否與您要求的相符:它阻止超出任務範圍的操作、針對分類器不認識為受信任的基礎設施的操作,或似乎由檔案或網頁中遇到的敵對內容驅動的操作。有關分類器設計方式的更深入了解,請參閱自動模式公告
自動模式是研究預覽。它減少提示但不保證安全。它提供比 bypassPermissions 更多的保護,但不如手動審查每個操作那樣徹底。將其用於您信任一般方向的任務,而不是作為敏感操作審查的替代品。
模型:分類器在 Claude Sonnet 4.6 上執行,即使您的主會話使用不同的模型。 成本:分類器呼叫計入您的令牌使用量,與主會話呼叫相同。每個檢查的操作將對話記錄的一部分加上待處理操作發送到分類器。額外成本主要來自 shell 命令和網路操作,因為唯讀操作和工作目錄中的檔案編輯不會觸發分類器呼叫。 延遲:每個分類器檢查在操作執行前添加往返。

操作如何被評估

每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:
  1. 與您的允許或拒絕規則相符的操作立即解決
  2. 唯讀操作和工作目錄中的檔案編輯自動批准
  3. 其他所有內容都發送到分類器
  4. 如果分類器阻止,Claude 接收原因並嘗試替代方法
進入自動模式時,Claude Code 會刪除任何已知授予任意程式碼執行的允許規則:全面 shell 存取(如 Bash(*))、通配符指令碼解釋器(如 Bash(python*)Bash(node*))、套件管理器執行命令和任何 Agent 允許規則。這些規則會自動批准命令和子代理委派,這些命令和委派最有能力在分類器看到它們之前造成損害。像 Bash(npm test) 這樣的狹義規則會保留。刪除的規則在您離開自動模式時恢復。 分類器接收使用者訊息和工具呼叫作為輸入,並去除 Claude 自己的文字和工具結果。它也接收您的 CLAUDE.md 內容,因此您的專案說明中描述的操作會被納入允許和阻止決策中。因為工具結果永遠不會到達分類器,檔案或網頁中的敵對內容無法直接操縱它。分類器根據可自訂的阻止和允許規則集評估待處理操作,檢查操作是否是超出您要求的過度升級、對安全觸及內容的誤解,或與您陳述的意圖的突然偏離,表明 Claude 可能已被它讀到的內容引導。 與您的權限規則不同,後者與工具名稱和參數模式相符,分類器讀取要阻止和允許的內容的散文描述:它根據上下文推理操作,而不是匹配語法。

自動模式如何處理子代理

當 Claude 生成子代理時,分類器在子代理啟動前評估委派的任務。看起來本身很危險的任務描述,如「刪除所有與此模式相符的遠端分支」,在生成時被阻止。 在子代理內,自動模式使用與父會話相同的阻止和允許規則執行。子代理在其自己的前置事項中定義的任何 permissionMode 都被忽略。子代理自己的工具呼叫獨立通過分類器。 當子代理完成時,分類器審查其完整操作歷史。在生成時看起來無害的子代理可能在執行中期被它讀到的內容洩露。如果返回檢查標記了一個問題,安全警告會被添加到子代理的結果前面,以便主代理可以決定如何進行。

分類器預設阻止的內容

開箱即用,分類器信任您的工作目錄,如果您在 git 倉庫中,該倉庫的配置遠端。其他所有內容都被視為外部:您的公司的原始碼控制組織、雲端儲存桶和內部服務是未知的,直到您告訴分類器它們。 預設阻止
  • 下載和執行程式碼,如 curl | bash 或來自克隆倉庫的指令碼
  • 將敏感資料發送到外部端點
  • 生產部署和遷移
  • 雲端儲存上的大量刪除
  • 授予 IAM 或倉庫權限
  • 修改共享基礎設施
  • 不可逆轉地銷毀會話開始前存在的檔案
  • 破壞性原始碼控制操作,如強制推送或直接推送到 main
預設允許
  • 工作目錄中的本地檔案操作
  • 安裝已在您的鎖定檔案或清單中聲明的依賴項
  • 讀取 .env 並將認證發送到其匹配的 API
  • 唯讀 HTTP 請求
  • 推送到您啟動的分支或 Claude 建立的分支
要查看分類器接收的完整預設規則列表,請執行 claude auto-mode defaults 如果自動模式阻止您的團隊例行的內容,如推送到您自己的組織倉庫或寫入公司儲存桶,那是因為分類器不知道這些是受信任的。管理員可以通過 autoMode.environment 設定添加受信任的倉庫、儲存桶和內部服務:有關完整配置指南,請參閱配置自動模式分類器

自動模式何時回退

回退設計防止誤報使會話脫軌:誤報阻止會讓 Claude 重試,而不是您的進度。如果分類器在一行中阻止操作 3 次或在一個會話中總共 20 次,自動模式暫停,Claude Code 恢復為每個操作提示。這些閾值不可配置。
  • CLI:您在狀態區域中看到通知。批准提示的操作會重置拒絕計數器,因此您可以繼續在自動模式中
  • 非互動式模式(使用 -p 標誌):中止會話,因為沒有使用者可以提示
重複阻止通常意味著以下兩件事之一:任務確實需要分類器構建以停止的操作,或分類器缺少有關您的受信任基礎設施的上下文,並將安全操作視為有風險。如果阻止看起來像誤報,或分類器遺漏了應該捕捉的內容,請使用 /feedback 報告。如果阻止發生是因為分類器不認識您的倉庫或服務為受信任,請讓管理員在受管設定中配置受信任基礎設施

使用 dontAsk 模式僅允許預先批准的工具

dontAsk 模式自動拒絕不是明確允許的每個工具。只有與您的 /permissions 允許規則或 permissions.allow 設定相符的操作才能執行。如果工具有明確的 ask 規則,操作也被拒絕而不是提示。這使模式完全非互動式,適合 CI 管道或受限環境,您可以在其中預先定義 Claude 被允許執行的操作。
claude --permission-mode dontAsk

使用 bypassPermissions 模式跳過所有檢查

bypassPermissions 模式禁用所有權限提示和安全檢查。每個工具呼叫立即執行而無需任何驗證。僅在隔離環境(如容器、VM 或 devcontainer)中使用此模式,沒有網際網路存取,其中 Claude Code 無法對您的主機系統造成損害。
claude --permission-mode bypassPermissions
--dangerously-skip-permissions 標誌等同於 --permission-mode bypassPermissions
claude -p "refactor the auth module" --dangerously-skip-permissions
bypassPermissions 模式不提供針對提示注入或意外操作的保護。對於仍然維持背景安全檢查的更安全替代品,請使用自動模式。管理員可以通過在受管設定中將 permissions.disableBypassPermissionsMode 設定為 "disable" 來阻止此模式。

比較權限方法

下表總結了每種模式在如何處理批准方面的關鍵差異。plan 被省略,因為它限制 Claude 可以執行的操作而不是批准的工作方式。
defaultacceptEditsautodontAskbypassPermissions
權限提示檔案編輯和命令僅命令無,除非回退觸發無,除非預先允許否則被阻止
安全檢查您審查每個操作您審查命令分類器審查命令僅您預先批准的規則
令牌使用標準標準更高,來自分類器呼叫標準標準

進一步自訂權限

權限模式設定基線批准行為。對於對個別工具或命令的控制,在活動模式之上分層額外配置。 權限規則是第一站。將 allowaskdeny 條目添加到您的設定檔以預先批准安全命令、強制提示有風險的命令或完全阻止特定工具。規則適用於除 bypassPermissions 外的每種模式,後者完全跳過權限層,並通過工具名稱和參數模式相符。有關語法和示例,請參閱管理權限 Hooks 涵蓋模式匹配規則無法表達的邏輯。PreToolUse hook 在每個工具呼叫前執行,可以根據命令內容、檔案路徑、時間或來自外部策略服務的回應允許、拒絕或升級。PermissionRequest hook 攔截權限對話本身並代表您回答。有關配置,請參閱 Hooks

另請參閱

  • 權限:權限規則、語法、受管策略
  • Hooks:自訂權限邏輯、生命週期指令碼
  • 安全:安全保障和最佳實踐
  • 沙箱:Bash 命令的檔案系統和網路隔離
  • 非互動式模式:使用 -p 標誌以程式設計方式執行 Claude Code