SpyBara
Go Premium

permission-modes.md 2026-07-10 17:00 UTC to 2026-07-11 19:03 UTC

This page contains 1 addition and 1 deletion.

2026
Fri 3 23:00 Fri 10 17:00 Sat 11 19:03 Mon 13 23:57 Tue 14 23:01 Thu 16 22:59

選擇權限模式

控制 Claude 是否在編輯檔案或執行命令前詢問。在 CLI 中使用 Shift+Tab 循環模式,或在 VS Code、Desktop 和 claude.ai 中使用模式選擇器。

當 Claude 想要編輯檔案、執行 shell 命令或進行網路請求時,它會暫停並要求您批准該操作。權限模式控制該暫停發生的頻率。您選擇的模式塑造了會話的流程:Manual mode 讓您在操作進行時審查每個操作,而較寬鬆的模式讓 Claude 在較長的不間斷時間內工作並在完成時報告。對敏感工作選擇更多監督,或在您信任方向時選擇較少中斷。

可用模式

每種模式在便利性和監督之間進行不同的權衡。下表顯示在每種模式中 Claude 無需權限提示即可執行的操作。

模式 無需詢問即可執行的操作 最適合
default 僅讀取。在 CLI 和 IDE 擴充功能中標記為 Manual 入門、敏感工作
acceptEdits 讀取、檔案編輯和常見檔案系統命令(mkdir、touch、mv、cp 等) 迭代您正在審查的程式碼
plan 僅讀取 在變更前探索程式碼庫
auto 所有操作,具有背景安全檢查 長時間執行的任務、減少提示疲勞
dontAsk 僅預先批准的工具 鎖定的 CI 和指令碼
bypassPermissions 所有操作 隔離容器和 VM 僅

在 CLI、claude --help 中以及 VS Code 和 JetBrains 擴充功能中,審查每個操作的模式名為 Manual。其配置值為 default,這是 hooks 和 SDK 整合使用的值。CLI 在您輸入值的任何地方接受 manual 作為別名,例如 claude --permission-mode manual 或 "defaultMode": "manual"。Manual 標籤和 manual 別名需要 Claude Code v2.1.200 或更新版本。

在除 bypassPermissions 外的每種模式中,寫入受保護路徑永遠不會自動批准,保護倉庫狀態和 Claude 自己的配置免受意外損壞。

模式設定基線。在頂部分層權限規則以預先批准或阻止特定工具。拒絕規則和明確詢問規則適用於每種模式,包括 bypassPermissions。允許規則在該模式中無效,因為其他所有操作都已經被批准。

切換權限模式

您可以在會話期間、啟動時或作為持久預設值切換模式。模式通過這些控制設定,而不是通過在聊天中詢問 Claude。選擇下面的您的介面以查看如何變更它。

在會話期間:按 Shift+Tab 循環 default → acceptEdits → plan。目前模式出現在狀態欄中。{/* min-version: 2.1.203 */}手動模式(該循環中的 default)顯示灰色的 ⏸ manual mode on 徽章。在 v2.1.203 之前,狀態欄在手動模式中不顯示徽章。

並非每種模式都在預設循環中:

  • auto:當您的帳戶符合 auto 模式要求時出現;循環到它會在不確認提示的情況下切換模式
  • bypassPermissions:在您使用 --permission-mode bypassPermissions、--dangerously-skip-permissions 或 --allow-dangerously-skip-permissions 啟動後出現;--allow- 變體將模式添加到循環中而不啟動它
  • dontAsk:永遠不在循環中出現;使用 --permission-mode dontAsk 設定它

啟用的可選模式在 plan 後插入,bypassPermissions 優先,auto 最後。如果您同時啟用了兩者,您將在前往 auto 的途中循環通過 bypassPermissions。

啟動時:將模式作為標誌傳遞。

claude --permission-mode plan

作為預設值:在設定中設定 defaultMode。

{
"permissions": {
"defaultMode": "acceptEdits"
}
}

相同的 --permission-mode 標誌適用於 -p 用於非互動式執行。

使用 acceptEdits 模式自動批准檔案編輯

acceptEdits 模式讓 Claude 在您的工作目錄中建立和編輯檔案而不提示。狀態欄顯示 ⏵⏵ accept edits on 當此模式處於活動狀態時。

除了檔案編輯外,acceptEdits 模式自動批准常見的檔案系統 Bash 命令:mkdir、touch、rm、rmdir、mv、cp 和 sed。這些命令在以安全環境變數(如 LANG=C 或 NO_COLOR=1)或流程包裝器(如 timeout、nice 或 nohup)為前綴時也會自動批准。與檔案編輯一樣,自動批准僅適用於您的工作目錄或 additionalDirectories 內的路徑。該範圍外的路徑、寫入受保護路徑和所有其他 Bash 命令仍然提示。

當啟用 PowerShell tool 時,acceptEdits 模式也會自動批准 Set-Content、Add-Content、Clear-Content 和 Remove-Item 在範圍內的路徑上,以及它們的常見別名。相同的範圍和受保護路徑規則適用。

當您想在編輯器中或通過 git diff 之後審查變更而不是在線批准每個編輯時,使用 acceptEdits。從手動模式按 Shift+Tab 一次進入它,或直接啟動它:

claude --permission-mode acceptEdits

使用 plan mode 在編輯前分析

Plan mode 告訴 Claude 研究和提議變更而不進行變更。Claude 讀取檔案、執行 shell 命令進行探索,並寫入計劃,但不編輯您的原始程式碼。權限提示的應用方式與手動模式相同。

通過按 Shift+Tab 或在單個提示前加上 /plan 進入 plan mode。您也可以從 CLI 啟動 plan mode:

claude --permission-mode plan

再次按 Shift+Tab 離開 plan mode 而不批准計劃。

審查並批准計劃

當計劃準備好時,Claude 呈現它並詢問如何進行。從該提示您可以:

  • 批准並在 auto mode 中啟動
  • 批准並接受編輯
  • 批准並手動審查每個編輯
  • 繼續規劃並提供反饋
  • 使用 Ultraplan 進行基於瀏覽器的審查進行細化

批准計劃會退出 plan mode 並將工作階段切換到每個批准選項描述的權限模式,因此 Claude 開始編輯。若要再次規劃,使用 Shift+Tab 循環回到 plan mode,或在您的下一個提示前加上 /plan。

按 Ctrl+G 在您的預設文字編輯器中開啟提議的計劃並在 Claude 繼續之前直接編輯它。當啟用 showClearContextOnPlanAccept 時,每個批准選項也提供首先清除規劃上下文的選項。

接受計劃也會根據計劃內容自動命名工作階段,除非您已經使用 --name 或 /rename 設定了名稱。

將 plan mode 設定為預設值

若要將 plan mode 設定為專案的預設值,請在 .claude/settings.json 中設定 defaultMode:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

使用 auto mode 消除提示

Auto mode 讓 Claude 執行而不顯示例行權限提示。單獨的分類器模型在執行前審查操作,阻止任何超出您要求的操作、針對無法識別的基礎設施的操作,或似乎由 Claude 讀到的敵對內容驅動的操作。明確的詢問規則仍然會強制提示。

Auto mode 也指示 Claude 繼續工作而不停止以提出澄清問題,儘管當您的提示或技能明確依賴它時,Claude 仍然會提問。若要在保持權限提示的情況下獲得更強的自主行為,請改為設定主動輸出風格。

Auto mode 僅在您的帳戶符合所有這些要求時可用:

  • 計劃:所有計劃。
  • 擁有者:在 Team 和 Enterprise 上,擁有者必須在 Claude Code 管理設定中啟用它,使用者才能打開它。管理員也可以通過在受管設定中將 permissions.disableAutoMode 設定為 "disable" 來鎖定它。
  • 模型:在 Anthropic API 上,Claude Opus 4.6 或更新版本,或 Sonnet 4.6 或更新版本。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 Claude apps gateway 會話上,僅支援 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。不支援較舊的模型,包括 Sonnet 4.5、Opus 4.5、Haiku 和 claude-3 模型,在任何提供商上都不支援。
  • 提供商:在 Anthropic API 上預設可用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 Claude apps gateway 會話上,auto mode 關閉,直到您設定 CLAUDE_CODE_ENABLE_AUTO_MODE。

如果 Claude Code 報告 auto mode 不可用,其中一項要求未滿足;這不是暫時性中斷。單獨的訊息命名模型並說 auto mode「無法確定」操作的安全性是暫時性分類器中斷;請參閱錯誤參考。

如果您在設定中設定 defaultMode: "auto" 並且會話以 default 模式啟動且沒有錯誤,該設定可能在 .claude/settings.json 或 .claude/settings.local.json 中。Claude Code v2.1.142 及更新版本忽略來自這些檔案的 auto,因此倉庫無法授予自己 auto mode。將其移至 ~/.claude/settings.json。

在 Bedrock、Agent Platform 或 Foundry 上啟用 auto mode

在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 Claude apps gateway 會話上,auto mode 不會出現在 Shift+Tab 循環中,直到 CLAUDE_CODE_ENABLE_AUTO_MODE 設定為 1。該變數在 Claude Code v2.1.158 及更新版本中有效。這些提供商上僅支援 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。

若要為一個開發人員啟用它,請將變數添加到 ~/.claude/settings.json 中的 env 區塊:

{
  "env": {
    "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"
  }
}

若要為您的組織啟用它,請將相同的 env 區塊添加到受管設定。

設定變數後,auto mode 會出現在每個會話的 Shift+Tab 循環中。若要使其成為預設啟動模式,也請在使用者或受管設定中設定 "permissions": {"defaultMode": "auto"}。在這些提供商上,Claude Code 忽略 defaultMode: "auto",除非也設定了 CLAUDE_CODE_ENABLE_AUTO_MODE。

若要防止開發人員啟用 auto mode,請在受管設定中將 disableAutoMode 設定為 "disable"。這會覆蓋啟用變數。

如果您通過配置了 ANTHROPIC_BASE_URL 的 LLM gateway 連接,auto mode 可能已經可以在沒有啟用變數的情況下到達,因為網關通過 Anthropic API 路由請求。這不適用於已登入的 Claude apps gateway 會話,它是自己的提供商類別,需要啟用變數。disableAutoMode 設定在任一配置中以相同方式應用。

分類器預設阻止的內容

分類器信任您的工作目錄和會話啟動時為其配置的遠端。使用 git remote add 或 git remote set-url 在會話期間添加或重新指向的遠端不受信任,其他所有內容都被視為外部,直到您配置受信任的基礎設施。在 v2.1.200 之前,會話中期添加的遠端也受信任。

預設阻止:

  • 下載和執行程式碼,如 curl | bash
  • 將敏感資料發送到外部端點
  • 生產部署和遷移
  • 雲端儲存上的大量刪除
  • 授予 IAM 或倉庫權限
  • 修改共享基礎設施
  • 不可逆轉地銷毀會話開始前存在的檔案
  • 強制推送
  • {/* min-version: 2.1.203 */}當推送攜帶敏感內容(如密鑰或個人或受信任的資料)、攜帶相對於您要求的隱藏或誤述的變更、攜帶從倉庫外部移植或首次讀取的內容,或繞過您要求的拉取請求、審查或檢查時,推送到倉庫的預設分支。純粹推送到預設分支本身不被阻止,清除標記的推送需要命名標記的內容或被繞過的審查,而不僅僅是推送。分類器是一層:permissions.deny 規則在每種模式中應用,可以完全阻止推送到預設分支,遠端自己的分支保護仍然適用。在 v2.1.203 之前,任何直接推送到預設分支都被阻止
  • {/* min-version: 2.1.182 */}}git reset --hard、git checkout -- .、git restore .、git clean -fd、git stash drop 或 git stash clear,分類器推測這些會捨棄未提交的變更
  • git commit --amend,當 HEAD 的提交不是在此會話中建立的
  • {/* min-version: 2.1.198 */}}從 v2.1.198 開始,git commit --amend 當 HEAD 的提交已經被推送時。僅訊息重新措辭不被阻止:--amend -m 沒有新暫存的內容,在 Claude 在此會話中建立的提交上
  • terraform destroy、pulumi destroy、cdk destroy 或 terragrunt destroy,以及應用會銷毀資源的計劃

Claude Code v2.1.195 及更新版本預設阻止更多類別。有些取決於環境項目,例如敏感遠端目標和受保護的 IaC 範圍,您可以將其縮小到具體名稱。

  • 寫入密鑰管理器,或變更 DNS 記錄或 TLS 憑證
  • 合併人類未批准的拉取請求、批准 Claude 自己的拉取請求,或禁用 CI 檢查
  • 發佈本身是自動化命令的評論,例如 atlantis apply 或機器人的 /deploy 或 /merge
  • 切換、調整或刪除生產功能旗標
  • 將基礎設施變更應用到受保護的 IaC 範圍,或排空和移除叢集節點
  • 寫入超出您命名的資源的共享計算叢集,例如標籤選擇器或 --all 捕捉其他使用者的工作
  • 建立在每個節點上執行或攔截叢集流量的 Kubernetes 資源,例如 DaemonSets 和准入 webhooks
  • 互動式 shell 或連接埠轉發到敏感遠端目標
  • 開啟隧道或反向 shell,使本地服務可從公開網際網路到達
  • 將即時認證或令牌列印到記錄或檔案
  • 存取列為您環境中敏感資料位置的位置,或從其中複製資料。{/* min-version: 2.1.198 */}從 v2.1.198 開始,這也會阻止將資料從一個發送到該項目排除的對象
  • 繞過您的內部套件登錄將套件安裝路由到公開登錄。{/* min-version: 2.1.198 */}從 v2.1.198 開始,這也適用於您在對話中告訴 Claude 內部登錄或鏡像存在的情況,不僅當一個列在您的環境中時
  • 執行帶有標誌的命令,該標誌會解除安全防護,如 --insecure
  • 啟動自主代理迴圈,在沒有人類批准或沙箱的情況下執行,例如使用 --dangerously-skip-permissions 或 --no-sandbox 啟動的迴圈。{/* min-version: 2.1.198 */}從 v2.1.198 開始,這也涵蓋執行第三方代理或評估工具,隔離和每個操作批准禁用,例如使用 --yes-always 啟動的執行器
  • Chrome 中的 Claude 瀏覽器操作,可能會將頁面內容、Cookie 或認證發送到跨來源

Claude Code v2.1.198 及更新版本也預設阻止這些:

  • 通過通配符、glob 或年齡篩選器而不是特定命名路徑刪除 /tmp、$TMPDIR 或另一個共享暫存或快取目錄中的檔案
  • 在發送、上傳、發佈或寫入其他人或共享系統的內容中包含敏感詳細資訊,當您自己的訊息沒有授權這些詳細資訊給該收件人時。{/* min-version: 2.1.200 /}PR 和問題本文、提交訊息和評論在倉庫在信任邊界外或公開時計為此類出站內容,包括您組織自己的公開倉庫;內部檔案路徑、代碼名稱、即時 API 回應資料(如電子郵件或帳戶識別碼)和基礎設施識別碼計為敏感詳細資訊。PR、問題和提交訊息範圍需要 Claude Code v2.1.200 或更新版本。{/ min-version: 2.1.203 */}}PR 或問題本文中的即時個人資料(如電子郵件地址、帳戶或組織識別碼或使用指標)需要您命名這些詳細資訊和收件人,無論倉庫的可見性或信任邊界如何。該檢查需要 Claude Code v2.1.203 或更新版本
  • 將按鍵發送到 Claude Code 自己的 tmux 窗格以驅動其自己的介面,分類器將其視為 Claude 改變自己的權限或監督

Claude Code v2.1.200 及更新版本也預設阻止這些:

  • 註釋掉、刪除或強制通過保護安全行為的測試或斷言,例如身份驗證、存取控制、輸入驗證或沙箱
  • 刪除或拆除 Claude 在會話中未建立的有狀態資源,當沒有更具體的刪除規則適用且您沒有命名該資源時
  • 將 API 基礎 URL、代理端點、webhook 接收器或登錄鏡像重新指向不適合任務的第三方主機,包括在 .env.example 等範例檔案中
  • 使用 git remote set-url 或 git remote add 改變推送去向,除非您命名了新遠端
  • 推送密鑰或個人或受信任的資料到已知為公開的倉庫,或推送其他機密材料到那裡,這些不是該倉庫自己工作的一部分。{/* min-version: 2.1.203 */}}dotfiles 倉庫自己的主題是個人或受信任資料的唯一例外,來自私人倉庫到任何公開表面的內容以相同方式被阻止;兩項改進都需要 Claude Code v2.1.203 或更新版本。在 v2.1.203 之前,個人資料與機密材料分組,僅在不是該倉庫自己工作的一部分時被阻止。當倉庫的可見性未確定時,分類器不會單獨在此阻止;它改為根據其他規則判斷內容
  • 針對不同的倉庫或組織開啟拉取請求、使用 gh repo fork 進行分叉,或推送到第三方倉庫,除非您命名了該外部目標

Claude Code v2.1.203 及更新版本也預設阻止這些:

  • 來自敏感本地存儲或檔案名稱、路徑或類型標記為敏感的檔案的內容進入提交、推送、PR 或問題文本、gist 或貼上或套件發佈,除非您命名了來源和目的地。會話記錄和對話日誌、認證和配置點資料夾(如 SSH 金鑰、雲端認證、瀏覽器設定檔和 shell 歷史記錄)以及使用者資料匯出都計為此類,倉庫是私人的不會清除它

Claude Code v2.1.205 及更新版本也預設阻止這些:

  • 寫入 Claude Code 會話記錄、~/.claude/projects/ 下的 .jsonl 歷史檔案或您配置的配置目錄,無論是直接還是通過 shell 命令。該規則也涵蓋 Claude Code 為其自己的檢查附加到每個記錄項目的中繼資料行。記錄是 Claude Code 寫入的會話狀態,而不是工作檔案,篡改的項目在您恢復會話後到達每個稍後的檢查,因此 auto mode 作為深度防禦阻止這些寫入。讀取記錄不被阻止
  • 遞迴強制刪除,例如 rm -rf "$VAR" 或 Remove-Item -Recurse -Force $dir,其目標是分類器看到的對話中任何地方都未指派的 shell 變數,或以一個為根的 glob。該值僅來自較早的命令輸出,分類器永遠不會收到,因此分類器無法根據其他刪除規則驗證刪除目標。分類器根據設計讀取對話而不是命令輸出,因此它阻止呼叫而不是猜測目標。當您命名被刪除的確切路徑,或當 Claude 使用寫入命令的已解析文字路徑重新執行刪除時,該阻止清除。其目標分類器可以解析的刪除不受影響

預設允許:

  • 工作目錄中的本地檔案操作
  • 安裝在您的鎖定檔案或清單中聲明的依賴項
  • 讀取 .env 並將認證發送到其匹配的 API
  • 唯讀 HTTP 請求
  • 推送到您啟動的分支或 Claude 建立的分支

Claude Code v2.1.195 及更新版本也預設允許這些:

  • 刪除 Claude 在同一會話中稍早建立的確切工作
  • 作為您的任務的一部分,讀取、審查或編寫安全相關的程式碼、配置和威脅模型
  • 在同一多代理會話中協同工作的代理之間的訊息
  • 將資料發送到您在 environment 中列出的受信任網域、儲存桶和服務。這僅涵蓋資料流,不涵蓋相同基礎設施上的破壞性或認證操作
  • Chrome 中的 Claude 導航到受信任的內部網域、localhost 或您命名的 URL

沙箱網路存取請求通過分類器路由,而不是預設允許。{/* min-version: 2.1.198 */}從 v2.1.198 開始,分類器重複使用其對網路主機和連接埠的判決,而不是在每次連接時重新執行:

  • 允許被重複使用,直到新內容進入對話,此時該主機被再次檢查
  • 在互動式 CLI 中,拒絕在轉向結束時被丟棄
  • 在非互動式模式和 Agent SDK 會話中沒有轉向邊界,因此拒絕在執行的其餘部分被重複使用
  • 改變您的權限模式或規則會丟棄所有快取的判決

執行 claude auto-mode defaults 以查看完整規則列表。如果例行操作被阻止,管理員可以通過 autoMode.environment 設定添加受信任的倉庫、儲存桶和服務:請參閱配置 auto mode。

您在對話中陳述的邊界

分類器將您在對話中陳述的邊界視為阻止信號。如果您告訴 Claude「不要推送」或「在我審查前等待再部署」,分類器阻止匹配的操作,即使預設規則會允許它們。邊界保持有效,直到您在稍後的訊息中解除它。Claude 自己的判斷條件已滿足不會解除它。

邊界不作為規則儲存。分類器在每次檢查時從記錄中重新讀取它們,因此如果上下文壓縮移除陳述邊界的訊息,邊界可能會丟失。為了硬保證,請改為添加拒絕規則。

當 auto mode 回退時

每個被拒絕的操作顯示通知並出現在 /permissions 下的「最近拒絕」標籤中,您可以按 r 使用手動批准重試它。

如果分類器連續 3 次或總共 20 次阻止操作,auto mode 暫停,Claude Code 恢復提示。批准提示的操作恢復 auto mode。這些閾值不可配置。任何允許的操作重置連續計數器,而總計數器在會話期間持續,僅在其自己的限制觸發回退時重置。

在非互動式模式中使用 -p 標誌,重複阻止中止會話,因為沒有使用者可以提示。

重複阻止通常意味著分類器缺少有關您的基礎設施的上下文。使用 /feedback 報告誤報,或讓管理員配置受信任的基礎設施。

每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:
1. 與您的[允許或拒絕規則](/anthropic/claude-code/history/docs/zh-TW/2026-07-10-1700..2026-07-11-1903/permissions/#manage-permissions)相符的操作立即解決,除了寫入[受保護路徑](#protected-paths),即使允許規則相符也會路由到分類器
2. 唯讀操作和工作目錄中的檔案編輯自動批准,除了寫入[受保護路徑](#protected-paths)
3. 其他所有內容都發送到分類器。{/* min-version: 2.1.199 */}從 v2.1.199 開始,標記有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具跳過分類器並直接提示您,因此同意步驟永遠不會代表工具作者自動批准
4. 如果分類器阻止,Claude 接收原因並嘗試替代方法

進入 auto mode 時,授予任意程式碼執行的廣泛允許規則被刪除:

* 全面 `Bash(*)` 或 `PowerShell(*)`
* 通配符解釋器,如 `Bash(python*)`
* 套件管理器執行命令
* `Agent` 允許規則

像 `Bash(npm test)` 這樣的狹義規則保留。刪除的規則在您離開 auto mode 時恢復。

分類器看到使用者訊息、工具呼叫和您的 CLAUDE.md 內容。工具結果被剝離,因此檔案或網頁中的敵對內容無法直接操縱它。單獨的伺服器端探針掃描傳入的工具結果並在 Claude 讀取前標記可疑內容。有關這些層如何協同工作的更多資訊,請參閱 [auto mode 公告](https://claude.com/blog/auto-mode)和[工程深度探討](https://www.anthropic.com/engineering/claude-code-auto-mode)。
Auto mode 如何處理子代理

分類器在三個點檢查子代理工作:

  1. 在子代理啟動前,委派的任務描述被評估,因此看起來危險的任務在生成時被阻止。
  2. 當子代理執行時,它的每個操作都通過分類器,使用與父會話相同的規則,子代理前置事項中的任何 permissionMode 都被忽略。
  3. 當子代理完成時,分類器審查其完整操作歷史;如果該返回檢查標記了一個問題,安全警告被添加到子代理結果前面。

步驟 1 需要 Claude Code v2.1.178 或更新版本。較早的版本在步驟 2 和 3 應用分類器,但在子代理啟動前沒有評估任務描述。

成本和延遲

分類器在伺服器配置的模型上執行,獨立於您的 /model 選擇,因此切換模型不會改變分類器可用性。分類器呼叫計入您的令牌使用量。每次檢查發送記錄的一部分加上待處理操作,在執行前添加往返。工作目錄外受保護路徑的讀取和編輯跳過分類器,因此開銷主要來自 shell 命令和網路操作。{/* min-version: 2.1.198 */}從 v2.1.198 開始,沙箱網路判決對於主機和連接埠被重複使用,而不是在每次連接時重新分類,因此重複連接到同一主機不會各自添加檢查。分類器預設阻止的內容描述允許和拒絕持續多長時間。

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

dontAsk 模式自動拒絕每個否則會提示的工具呼叫。狀態列顯示 ⏵⏵ don't ask on,當此模式處於活動狀態時。只有符合您的 permissions.allow 規則和唯讀 Bash 命令的操作可以執行;明確的 ask 規則被拒絕而不是提示。{/* min-version: 2.1.199 */}自 v2.1.199 起,標記有 _meta["anthropic/requiresUserInteraction"] 的 MCP 工具在此模式中也會被拒絕,即使允許規則符合它,因為其批准卡需要此模式永遠不會收集的答案。這使模式完全非互動式,適合 CI 管道或受限環境,您可以在其中預先定義 Claude 可能執行的操作。Claude Code on the web 上的雲端工作階段忽略 defaultMode: "dontAsk";詳見 bypassPermissions 以了解詳情。

在啟動時使用標誌設定它:

claude --permission-mode dontAsk

使用 bypassPermissions 模式跳過所有檢查

bypassPermissions 模式禁用權限提示和安全檢查,因此工具呼叫立即執行。自 v2.1.126 起,這包括寫入受保護路徑,較早版本仍會提示。明確的詢問規則仍會在此模式中強制提示,針對檔案系統根目錄或主目錄的移除操作,例如 rm -rf / 和 rm -rf ~,仍會作為針對模型錯誤的斷路器而提示。{/* min-version: 2.1.199 */}自 v2.1.199 起,標記有 _meta["anthropic/requiresUserInteraction"] 的 MCP 工具也仍會提示。僅在隔離環境(如容器、VM 或 dev container)中使用此模式,沒有網際網路存取,其中 Claude Code 無法損害您的主機系統。

您無法從未使用啟用標誌啟動的會話進入 bypassPermissions;使用其中一個重新啟動以啟用它:

claude --permission-mode bypassPermissions

--dangerously-skip-permissions 標誌等同於此。

在 Linux 和 macOS 上,當以 root 身份或在 sudo 下執行時,Claude Code 拒絕以此模式啟動:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

檢查在識別的沙箱內自動跳過。若要在容器中自主執行,請使用 dev container 配置,該配置以非 root 使用者身份執行 Claude Code。

Claude Code on the web 不遵守您設定檔案中的 defaultMode: "bypassPermissions" 或 "dontAsk",因此儲存庫的簽入設定無法在略過權限模式下啟動雲端會話。該設定會被無聲地忽略,會話會改為以模式下拉式選單中顯示的模式啟動。請參閱切換權限模式以了解雲端會話提供哪些模式。

受保護的路徑

寫入一小組路徑永遠不會自動批准,在除了 bypassPermissions 之外的每種模式中。這防止了倉庫狀態和 Claude 自己的配置的意外損壞。

模式 受保護路徑寫入
default、acceptEdits、plan 提示
auto 路由到分類器
dontAsk 拒絕
bypassPermissions 允許

permissions.allow 設定檔中的規則不會預先批准受保護路徑的寫入。安全檢查在 Claude Code 評估設定中的允許規則之前執行,因此在 ~/.claude/settings.json 或 .claude/settings.json 中的 Edit(.claude/**) 之類的項目不會改變上表中的每種模式結果。在提示的模式中,.claude/ 寫入的提示會提供是的,並允許 Claude 在此工作階段編輯其自己的設定,這會在該工作階段中批准後續的 .claude/ 寫入而不再提示。

受保護的目錄:

  • .git
  • .config/git
  • .vscode
  • .idea
  • .husky
  • .cargo
  • .devcontainer
  • .yarn
  • .mvn
  • .claude,除了 .claude/worktrees,其中 Claude 儲存其自己的 git worktrees

受保護的檔案:

  • .gitconfig、.gitmodules
  • .bashrc、.bash_profile、.bash_login、.bash_aliases、.bash_logout、.zshrc、.zprofile、.zshenv、.zlogin、.zlogout、.profile、.envrc
  • .npmrc、.yarnrc、.yarnrc.yml、.pnp.cjs、.pnp.loader.mjs、.pnpmfile.cjs、bunfig.toml、.bunfig.toml
  • .bazelrc、.bazelversion、.bazeliskrc
  • .pre-commit-config.yaml、lefthook.yml、lefthook.yaml、.lefthook.yml、.lefthook.yaml
  • gradle-wrapper.properties、maven-wrapper.properties
  • .devcontainer.json
  • .ripgreprc、pyrightconfig.json
  • .mcp.json、.claude.json

另請參閱

  • Permissions:允許、詢問和拒絕規則;受管策略
  • Configure auto mode:告訴分類器您的組織信任哪些基礎設施
  • Hooks:通過 PreToolUse 和 PermissionRequest hooks 的自訂權限邏輯
  • Ultraplan:在 Claude Code on the web 會話中執行 plan mode,具有基於瀏覽器的審查
  • Security:安全保障和最佳實踐
  • Sandboxing:Bash 命令的檔案系統和網路隔離
  • Non-interactive mode:使用 -p 標誌執行 Claude Code