autoMode 設定區塊告訴該分類器您的組織信任哪些儲存庫、儲存桶和網域,以便它停止阻止常規內部操作。
開箱即用,分類器只信任工作目錄和目前儲存庫的已設定遠端。推送到您公司的原始碼控制組織或寫入團隊雲端儲存桶等操作會被阻止,直到您將它們新增到 autoMode.environment。
有關如何啟用自動模式以及它預設阻止的內容,請參閱權限模式。本頁是設定參考。
本頁涵蓋如何:
- 選擇在何處設定規則跨 CLAUDE.md、使用者設定和受管設定
- 定義受信任的基礎設施使用
autoMode.environment - 覆蓋阻止和允許規則當預設值不符合您的管道時
- 檢查您的有效設定使用
claude auto-mode子命令 - 檢查拒絕以便您知道接下來要新增什麼
分類器讀取設定的位置
分類器讀取與 Claude 本身載入的相同 CLAUDE.md 內容,因此您專案的 CLAUDE.md 中的「永遠不要強制推送」之類的指令同時引導 Claude 和分類器。從那裡開始了解專案慣例和行為規則。 對於跨專案應用的規則,例如受信任的基礎設施或組織範圍的拒絕規則,請使用autoMode 設定區塊。分類器從以下範圍讀取 autoMode:
| 範圍 | 檔案 | 用途 |
|---|---|---|
| 一個開發人員 | ~/.claude/settings.json | 個人受信任的基礎設施 |
| 一個專案,一個開發人員 | .claude/settings.local.json | 每個專案的受信任儲存桶或服務,gitignored |
| 組織範圍 | 受管設定 | 分散到所有開發人員的受信任基礎設施 |
--settings 旗標或 Agent SDK | 內聯 JSON | 自動化的每次呼叫覆蓋 |
.claude/settings.json 中的共用專案設定讀取 autoMode,因此簽入的儲存庫無法注入其自己的允許規則。
來自每個範圍的項目會被合併。開發人員可以使用個人項目擴展 environment、allow 和 soft_deny,但無法移除受管設定提供的項目。因為允許規則在分類器內充當阻止規則的例外,開發人員新增的 allow 項目可以覆蓋組織 soft_deny 項目:組合是加法的,而不是硬策略邊界。
分類器是在權限系統之後執行的第二道門。對於無論使用者意圖或分類器設定如何都必須永遠不執行的操作,請在受管設定中使用
permissions.deny,它在諮詢分類器之前阻止操作,無法被覆蓋。定義受信任的基礎設施
對於大多數組織,autoMode.environment 是您唯一需要設定的欄位。它告訴分類器哪些儲存庫、儲存桶和網域是受信任的:分類器使用它來決定「外部」的含義,因此任何未列出的目的地都是潛在的資料外洩目標。
設定 environment 會取代預設環境清單,其中包括信任工作儲存庫及其遠端的項目。執行 claude auto-mode defaults 列印預設值,然後將它們與您自己的項目一起包含,以便擴展清單而不是縮小清單。
- 組織:您的公司名稱以及 Claude Code 的主要用途,例如軟體開發、基礎設施自動化或資料工程
- 原始碼控制:您的開發人員推送到的每個 GitHub、GitLab 或 Bitbucket 組織
- 雲端提供者和受信任的儲存桶:Claude 應該能夠讀取和寫入的儲存桶名稱或前綴
- 受信任的內部網域:您網路內的 API、儀表板和服務的主機名稱,例如
*.internal.example.com - 關鍵內部服務:CI、工件登錄、內部套件索引、事件工具
- 其他上下文:受管制行業的限制、多租戶基礎設施或影響分類器應將什麼視為風險的合規要求
覆蓋阻止和允許規則
兩個額外的欄位讓您取代分類器的內建規則清單:autoMode.soft_deny 控制被阻止的內容,autoMode.allow 控制應用哪些例外。每個都是散文描述的陣列,讀取為自然語言規則。沒有 autoMode.deny 欄位;要硬阻止操作而不管意圖,請使用 permissions.deny,它在分類器之前執行。
在分類器內,優先順序分為三個層級:
soft_deny規則首先阻止allow規則然後覆蓋匹配的阻止作為例外- 明確的使用者意圖覆蓋兩者:如果使用者的訊息直接且具體地描述 Claude 即將採取的確切操作,分類器允許它,即使
soft_deny規則匹配
設定
environment、allow 或 soft_deny 中的任何一個會取代該部分的整個預設清單。如果您設定 soft_deny 為單一項目,每個內建阻止規則都會被丟棄:強制推送、資料外洩、curl | bash、生產部署以及所有其他預設阻止規則都變成允許。要安全地自訂,執行 claude auto-mode defaults 列印內建規則,將它們複製到您的設定檔案中,然後根據您自己的管道和風險容限檢查每個規則。只移除您的基礎設施已經緩解的風險的規則。soft_deny 移除規則,或當分類器重複標記預設例外不涵蓋的常規模式時新增到 allow。要加強:對於預設值遺漏的特定於您環境的風險,新增到 soft_deny,或從 allow 移除以對阻止規則保持預設例外。在所有情況下,執行 claude auto-mode defaults 取得完整的預設清單,然後複製和編輯:永遠不要從空清單開始。
environment 會保持預設 allow 和 soft_deny 清單完整。
檢查預設值和您的有效設定
因為設定三個陣列中的任何一個都會取代其預設值,請透過複製完整的預設清單開始任何自訂。三個 CLI 子命令幫助您檢查和驗證。 將內建environment、allow 和 soft_deny 規則列印為 JSON:
allow 和 soft_deny 規則的 AI 反饋:
claude auto-mode defaults 的輸出儲存到檔案,編輯清單以符合您的策略,並將結果貼到您的設定檔案中。儲存後,執行 claude auto-mode config 確認有效規則是您期望的。如果您已編寫自訂規則,claude auto-mode critique 會檢查它們並標記模糊、冗餘或可能導致誤報的項目。
檢查拒絕
當自動模式拒絕工具呼叫時,拒絕會記錄在/permissions 下的「最近拒絕」標籤中。在拒絕的操作上按 r 將其標記為重試:當您退出對話框時,Claude Code 會傳送一條訊息告訴模型它可能重試該工具呼叫並繼續對話。
對同一目的地的重複拒絕通常意味著分類器缺少上下文。將該目的地新增到 autoMode.environment,然後執行 claude auto-mode config 確認它生效。
要以程式設計方式對拒絕做出反應,請使用 PermissionDenied hook。