4 4
5# 選擇權限模式5# 選擇權限模式
6 6
7> 控制 Claude 在編輯檔案或執行命令前是否詢問。在 CLI 中使用 Shift+Tab 循環切換模式,或在 VS Code、Desktop 和 claude.ai 中使用模式選擇器。7> 控制 Claude 在採取動作前是否詢問。在 CLI 中使用 Shift+Tab、在 VS Code 中使用模式指示器,或在 Desktop 中使用模式選擇器來切換權限模式。
8 8
9當 Claude 想要編輯檔案、執行 shell 命令或發出網路請求時,它會暫停並要求您批准該操作。權限模式控制暫停發生的頻率。您選擇的模式會影響工作階段的流程:手動模式讓您逐一檢查每個操作,而較寬鬆的模式則讓 Claude 能夠進行較長的不間斷工作,並在完成時回報。針對敏感工作選擇更多監督,或在您信任方向時選擇較少的中斷。9權限模式設定 Claude 在工作階段中可以執行哪些操作而無需先詢問您。在 Manual 模式中,Claude Code 會在大多數編輯檔案、執行 shell 命令或存取網路的操作前停止並詢問您。在[自動模式](#eliminate-prompts-with-auto-mode)中,第二個模型(分類器)會審查操作而不是您;[分類器如何評估操作](#how-the-classifier-evaluates-actions)列出它審查的操作以及跳過的操作。
10
11在 Pro、Max 和 Team 方案上,內建的起始權限模式是自動模式。[工作階段在哪個模式中啟動](#which-mode-a-session-starts-in)涵蓋改變起始權限模式的表面和設定。您也可以隨時改變執行中工作階段的權限模式。
10 12
11<h2 id="available-modes">13<h2 id="available-modes">
12 可用的模式14 可用的模式
13</h2>15</h2>
14 16
15每種模式在便利性和監督之間做出不同的權衡。下表顯示在每種模式中 Claude 無需權限提示即可執行的操作。17每種模式在便利性和監督之間做出不同的權衡。下表顯示在每種模式中 Claude 無需權限提示即可執行的操作。Manual 模式出現在其設定值 `default` 下。
16 18
17| 模式 | 無需詢問即可執行 | 最適合 |19| 模式 | 無需詢問即可執行 | 最適合 |
18| :------------------------------------------------------------------ | :--------------------------------------------- | :------------ |20| :------------------------------------------------------------------ | :--------------------------------------------------------- | :------------ |
19| `default` | 僅讀取 | 入門、敏感工作 |21| `default` | 僅讀取 | 自己審查每個操作、敏感工作 |
20| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 讀取、檔案編輯和常見的檔案系統命令(`mkdir`、`touch`、`mv`、`cp` 等) | 迭代您正在審查的程式碼 |22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 讀取、檔案編輯和常見的檔案系統命令(`mkdir`、`touch`、`mv`、`cp` 等) | 迭代您正在審查的程式碼 |
21| [`plan`](#analyze-before-you-edit-with-plan-mode) | 僅讀取 | 在變更程式碼前探索程式碼庫 |23| [`plan`](#analyze-before-you-edit-with-plan-mode) | 讀取,加上當[自動模式](#eliminate-prompts-with-auto-mode)可用時分類器批准的命令 | 在變更程式碼前探索程式碼庫 |
22| [`auto`](#eliminate-prompts-with-auto-mode) | 所有操作,具有背景安全檢查 | 長期任務、減少提示疲勞 |24| [`auto`](#eliminate-prompts-with-auto-mode) | 所有操作,具有背景安全檢查 | 長期任務、減少提示疲勞 |
23| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 僅預先批准的工具 | 鎖定的 CI 和指令碼 |25| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 僅預先批准的工具 | 鎖定的 CI 和指令碼 |
24| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | 所有操作 | 僅限隔離的容器和虛擬機器 |26| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | 所有操作 | 僅限隔離的容器和虛擬機器 |
25 27
26在 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 或更新版本。桌面應用程式的標籤不取決於您的 CLI 版本。28審查每個操作的模式在 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 或更新版本。桌面應用程式的標籤不取決於您的 CLI 版本。
29
30寫入[受保護的路徑](#protected-paths)永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用略過權限的計畫模式工作階段,也就是以[將 `bypassPermissions` 放入模式循環](#switch-permission-modes)的方式啟動的工作階段。
31
32模式設定基準。在頂部分層[權限規則](/docs/zh-TW/permissions#manage-permissions)以預先批准或阻止特定工具。拒絕規則在每種模式中都會阻止,包括 `bypassPermissions`。拒絕和詢問規則不適用於 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),只要 Claude 仍有至少一個其他工具可以呼叫。允許規則在 `bypassPermissions` 中無效。
33
34<h3 id="actions-no-mode-auto-approves">
35 任何模式都不會自動批准的操作
36</h3>
37
38Claude Code 在任何模式中都不會自動批准以下操作,包括 `bypassPermissions`。每個項目都連結到說明在每種模式中會發生什麼的部分:
39
40* 符合明確[詢問規則](/docs/zh-TW/permissions#manage-permissions)的工具
41* 您的組織[設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 的連接器工具,在該設定到達 Claude Code 的工作階段中
42* 需要使用者互動的工具:內建的 `AskUserQuestion` 工具和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具
43* `rm` 和 `rmdir` 移除針對[關鍵路徑](#critical-paths),沒有允許規則或 `PreToolUse` hook `"allow"` 批准
44* [跨工作階段訊息保護措施](#skip-all-checks-with-bypasspermissions-mode)
45* 當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 開啟時,在工作目錄外讀取:已識別的檔案讀取 Bash 命令和任何[未沙箱化的重試](/docs/zh-TW/sandboxing#the-unsandboxed-retry-escape-hatch),即使在自動模式和 `bypassPermissions` 模式中也需要批准才能在沙箱外執行。需要 Claude Code v2.1.257 或更新版本
46
47<h2 id="common-setups">
48 常見設定
49</h2>
50
51權限模式決定 Claude 是否在操作前詢問,而 [Bash 沙箱](/docs/zh-TW/sandboxing)和外部[隔離邊界](/docs/zh-TW/sandbox-environments)決定操作執行後可以到達什麼。下表中的每一行將目標與讓您到達該目標的旗標或設定以及所需的隔離配對,作為起點。[可用的模式](#available-modes)列出在每種模式中無需提示即可執行的操作。
52
53| 您想要 | 開始使用 | 所需的隔離 | 注意 |
54| :--------------- | :------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |
55| 自己審查每個操作 | Manual 模式:`claude --permission-mode default` | 無 | 敏感工作、不熟悉的程式碼 |
56| 在本地迭代,提示更少,無需分類器 | Manual 模式加上 Bash 沙箱在[自動允許模式](/docs/zh-TW/sandboxing#sandbox-modes)中:`claude --permission-mode default`,然後執行 `/sandbox` 並選擇自動允許 | 內建 Bash 沙箱,在 macOS、Linux 和 WSL2 上 | 拒絕規則仍然適用,詢問規則命名命令(例如 `Bash(git push *)`)仍然提示。若要改為從設定檔開啟沙箱,請將 [`sandbox.enabled`](/docs/zh-TW/settings-reference#sandbox-enabled) 設定為 `true` |
57| 在變更任何內容前探索 | `claude --permission-mode plan` | 無 | Claude Code 會阻止編輯,直到您[批准計畫](#review-and-approve-a-plan) |
58| 在自動模式中無人值守工作 | `claude --permission-mode auto`、Pro、Max 和 Team 上的[內建起始權限模式](#which-mode-a-session-starts-in) | 無;沙箱或容器增加深度防禦 | 需要[支援的模型](#eliminate-prompts-with-auto-mode),您的組織可以[關閉自動模式](#eliminate-prompts-with-auto-mode) |
59| 在 CI 中使用精確允許清單執行 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | 無,超出您的 CI 執行器提供的 | [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 忽略設定檔中的 `dontAsk` |
60| 在容器內完全無人值守執行 | `claude -p "<prompt>" --dangerously-skip-permissions` | 必需:容器、虛擬機或[沙箱執行時](/docs/zh-TW/sandbox-environments#sandbox-runtime);在 Linux 和 macOS 上,以[非 root 使用者](#skip-all-checks-with-bypasspermissions-mode)執行 | Claude Code on the web 忽略設定檔中的此模式。在此 `-p` 執行中,[仍會提示的少數呼叫](#skip-all-checks-with-bypasspermissions-mode)會被拒絕 |
61
62Bash 沙箱和自動模式獨立工作並結合,除了計畫模式,其中[自動允許不會擴大批准](/docs/zh-TW/sandboxing#sandbox-modes)。如需完整互動,請參閱[沙箱化如何與權限和權限模式相關](/docs/zh-TW/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)和[隔離如何與權限模式相關](/docs/zh-TW/sandbox-environments#how-isolation-relates-to-permission-modes)。
63
64<h2 id="which-mode-a-session-starts-in">
65 工作階段在哪個模式中啟動
66</h2>
67
68當您在終端中啟動新工作階段時,Claude Code 會從適用的第一個中取得權限模式:
69
701. `--permission-mode` 旗標或 `--dangerously-skip-permissions`
71
722. [設定檔](/docs/zh-TW/settings#where-settings-live)中的 `permissions.defaultMode`
73
74 如果您在 `.claude/settings.json` 或 `.claude/settings.local.json` 中設定 `"auto"`,該值不會生效,Claude Code 會改為使用內建預設值而不是來自 `~/.claude/settings.json` 的 `defaultMode`。如果您在這兩個檔案中設定 `"bypassPermissions"`,它也不會生效,工作階段會以 Manual 模式啟動。其他值適用於任何設定檔。
75
763. 內建預設值
77
78VS Code 擴充功能啟動的對話遵循[切換權限模式](#switch-permission-modes)中的擴充功能自身清單。如需 Claude Code 在恢復工作階段時啟動的權限模式,請參閱[恢復時的權限模式](/docs/zh-TW/sessions#permission-mode-on-resume)。
79
80內建 `auto` 預設在 macOS、Linux 和 WSL 上需要 Claude Code v2.1.228 或更新版本,在原生 Windows 上需要 v2.1.233 或更新版本。在較早的版本上,內建預設是 Manual。
81
82內建預設取決於您如何執行 Claude Code、您的方案以及 Claude Code 是否可以擷取其功能旗標。符合的第一行適用。該表涵蓋您在終端或透過 VS Code 擴充功能啟動的工作階段;對於桌面應用程式和 claude.ai,請參閱[切換權限模式](#switch-permission-modes)中的 Desktop 和 Web 標籤。
83
84| 您如何執行 Claude Code | 內建起始權限模式 |
85| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------- |
86| 任何設定檔將 `disableAutoMode` 設定為 `"disable"` | `default` |
87| [功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)已關閉 | `default` |
88| 您的[安裝 Claude Code 或升級後的第一個工作階段](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)到新增此預設的版本,除非在全新安裝後,Claude Code 及時擷取旗標 | `default` |
89| `claude -p` 或 [Agent SDK](/docs/zh-TW/agent-sdk/permissions) | `default` |
90| Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 或已登入的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)工作階段 | `default` |
91| Pro、Max 或 Team 方案,在終端或透過 [VS Code 擴充功能](/docs/zh-TW/vs-code) | `auto` |
92| Enterprise 方案或 Claude Console API 金鑰 | `default` |
93
94當功能旗標擷取已關閉或在[安裝或升級後的第一個工作階段](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)中旗標尚未到達時,VS Code 擴充功能在選擇起始權限模式時會忽略每個設定檔。
95
96當旗標、設定檔或內建預設選擇 `auto` 但自動模式對工作階段不可用時,Claude Code 會改為以 Manual 啟動工作階段。當工作階段不符合[可用性要求](#eliminate-prompts-with-auto-mode)時,自動模式不可用,例如設定檔關閉它或不支援它的模型,或當 Anthropic 已在伺服器端暫時關閉它時。
97
98內建預設第一次在自動模式中啟動您的工作階段時,Claude Code 會顯示連結到此頁面的通知:
27 99
28在除了 `bypassPermissions` 之外的每種模式中,寫入[受保護的路徑](#protected-paths)永遠不會自動批准,以防止儲存庫狀態和 Claude 自身設定遭到意外損毀。100* 在終端中,一次,在工作階段頂部
101* 在 VS Code 擴充功能中,作為新對話螢幕上的卡片,直到您關閉它
29 102
30模式設定基準。在頂部分層[權限規則](/docs/zh-TW/permissions#manage-permissions)以預先批准或阻止特定工具。拒絕規則、明確詢問規則、[連接器工具上的組織 `ask` 設定](/docs/zh-TW/mcp#organization-controls-on-connector-tools)和 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 標記適用於每種模式,包括 `bypassPermissions`。允許規則在該模式中無效,因為其他所有操作都已經被批准。103在 Pro、Max 和 Team 方案上,如果您的 `~/.claude/settings.json` 將 `defaultMode` 設定為 `auto` 以外的值,且沒有其他設定檔設定它,您的工作階段會繼續以該模式啟動。Claude Code 會在終端或 VS Code 擴充功能中詢問一次,是否將設定變更為自動模式。如果您拒絕,您的設定會保持原樣。
104
105<h3 id="start-in-a-different-mode">
106 以不同的權限模式啟動
107</h3>
108
109您可以為一個工作階段、或作為機器、專案或組織中每個工作階段的預設值設定起始權限模式。當多個設定檔設定 `permissions.defaultMode` 時,[設定優先順序](/docs/zh-TW/settings#settings-precedence)決定,因此專案或受管值優先於 `~/.claude/settings.json`。若要變更已執行工作階段的權限模式,請參閱[切換權限模式](#switch-permission-modes)。
110
111| 若要為以下設定起始權限模式 | 執行此操作 |
112| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
113| 您即將啟動的一個工作階段 | 將權限模式作為旗標傳遞,例如 `claude --permission-mode default` |
114| 您在此機器上啟動的每個終端工作階段 | 在 `~/.claude/settings.json` 中設定 `permissions.defaultMode`。如需 VS Code 擴充功能讀取的內容,請參閱[切換權限模式](#switch-permission-modes) |
115| 您在一個專案中啟動的每個終端工作階段 | 在專案的 `.claude/settings.json` 中設定 `permissions.defaultMode`。您在終端中啟動的工作階段遵守除 `auto` 和 `bypassPermissions` 外的每個值;VS Code 擴充功能啟動的工作階段不讀取專案設定以取得起始權限模式 |
116| 您組織中的每個終端工作階段 | 在[受管設定](/docs/zh-TW/managed-settings)中設定 `permissions.defaultMode`。終端工作階段以該模式啟動,人們仍然可以切換到自動模式;如需 VS Code 擴充功能讀取的內容,請參閱[切換權限模式](#switch-permission-modes)。若要移除自動模式以便沒有人可以選擇它,請改為將 `permissions.disableAutoMode` 設定為 `"disable"` |
117
118此範例使您機器上的每個終端工作階段以 Manual 模式啟動,其設定值為 `default`。將其儲存在 `~/.claude/settings.json` 中:
119
120```json theme={null}
121{
122 "permissions": {
123 "defaultMode": "default"
124 }
125}
126```
127
128您啟動的下一個工作階段會在狀態列中顯示 `⏸ manual mode on`。
31 129
32<h2 id="switch-permission-modes">130<h2 id="switch-permission-modes">
33 切換權限模式131 切換權限模式
34</h2>132</h2>
35 133
36您可以在工作階段中途、啟動時或設定為持久預設值時切換模式。模式是透過這些控制項設定的,而不是透過在聊天中詢問 Claude。請在下方選擇您的介面,以查看如何變更模式。134每個介面都有自己的控制項用於在工作階段期間切換權限模式,以及自己的方式來選擇新工作階段啟動的權限模式。選擇您的介面以查看其控制項。
37 135
38<Tabs>136<Tabs>
39 <Tab title="CLI">137 <Tab title="CLI">
40 **在工作階段期間**:按 `Shift+Tab` 循環切換 `default` → `acceptEdits` → `plan`。目前模式會顯示在狀態列中。手動模式(該循環中的 `default`)會顯示灰色的 `⏸ manual mode on` 徽章。在 v2.1.203 之前,狀態列在手動模式中不顯示徽章。138 **在工作階段期間**:按 `Shift+Tab` 循環切換權限模式。從 `auto`,第一次按下切換到 `default`,循環然後執行 `default` → `acceptEdits` → `plan` → 回到 `default`。可選模式(如下所述)在 `plan` 之後插入。狀態列將活動模式顯示為 `default` 的灰色 `⏸ manual mode on`,或作為 `⏵⏵ accept edits on`、`⏸ plan mode on`、`⏵⏵ auto mode on`、`⏵⏵ don't ask on` 或 `⏵⏵ bypass permissions on`。
41 139
42 並非每個模式都在預設循環中:140 並非每個模式都在預設循環中:
43 141
44 * `auto`:當您的帳戶符合 [auto 模式要求](#eliminate-prompts-with-auto-mode) 時出現;循環切換到它會在不需要確認提示的情況下切換模式142 * `auto`:當[自動模式可用](#eliminate-prompts-with-auto-mode)時出現;循環切換到它會在不需要確認提示的情況下切換模式
45 * `bypassPermissions`:在您使用 `--permission-mode bypassPermissions`、`--dangerously-skip-permissions` 或 `--allow-dangerously-skip-permissions` 啟動後出現;`--allow-` 變體會將模式新增到循環中而不啟動它143 * `bypassPermissions`:在您使用 `--permission-mode bypassPermissions`、`--dangerously-skip-permissions`、`--allow-dangerously-skip-permissions` 或[使用者、`--settings` 或受管設定](/docs/zh-TW/settings-reference#permissions-defaultmode)中的 `permissions.defaultMode: "bypassPermissions"` 啟動後出現。`--allow-` 變體將權限模式新增到循環中而不啟動它
46 * `dontAsk`:永遠不會在循環中出現;使用 `--permission-mode dontAsk` 設定它144 * `dontAsk`:永遠不會在循環中出現;使用 `--permission-mode dontAsk` 設定它
47 145
48 啟用的選用模式會在 `plan` 之後插入,`bypassPermissions` 優先,`auto` 最後。如果您同時啟用了兩者,您將在循環到 `auto` 的途中循環通過 `bypassPermissions`。146 啟用的可選模式在 `plan` 之後插入,`bypassPermissions` 優先,`auto` 最後。如果您同時啟用了兩者,您將在循環到 `auto` 的途中循環通過 `bypassPermissions`。
49 147
50 **在啟動時**:將模式作為旗標傳遞。148 **從 Bash 權限提示**:在 Manual 和 `acceptEdits` 權限模式中,當[自動模式](#eliminate-prompts-with-auto-mode)可用時,Claude Code 會將**是的,並切換到自動模式**新增到 Bash 命令的權限提示。選擇它以批准命令並將工作階段切換到自動模式。[PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)提示不提供該選項。需要 Claude Code v2.1.247 或更新版本。
149
150 Claude Code 不會將該選項新增到由您的[`ask` 規則](/docs/zh-TW/permissions#manage-permissions)之一或[hook](/docs/zh-TW/hooks#pretooluse-decision-control)強制的提示,因為自動模式仍會向您顯示這些提示,因此切換不會移除它們。
151
152 **在啟動時**:將權限模式作為旗標傳遞。
51 153
52 ```bash theme={null}154 ```bash theme={null}
53 claude --permission-mode plan155 claude --permission-mode plan
54 ```156 ```
55 157
56 **作為預設值**:在 [settings](/docs/zh-TW/settings#settings-files) 中設定 `defaultMode`。158 **作為預設值**:在您想要的範圍設定 `permissions.defaultMode`,如[以不同的權限模式啟動](#start-in-a-different-mode)中所述。
57
58 ```json theme={null}
59 {
60 "permissions": {
61 "defaultMode": "acceptEdits"
62 }
63 }
64 ```
65 159
66 相同的 `--permission-mode` 旗標適用於 `-p` 用於 [非互動式執行](/docs/zh-TW/headless)。160 相同的 `--permission-mode` 旗標適用於 `-p` 用於[非互動式執行](/docs/zh-TW/headless)。
67 </Tab>161 </Tab>
68 162
69 <Tab title="VS Code">163 <Tab title="VS Code">
70 **在工作階段期間**:點擊提示框底部的模式指示器。164 **在工作階段期間**:點擊提示框底部的模式指示器。它對此頁面上的模式使用這些標籤:
71
72 **作為預設值**:在 VS Code 設定中設定 `claudeCode.initialPermissionMode`,或使用 Claude Code 擴充功能設定面板。
73
74 模式指示器顯示這些標籤,對應到每個標籤適用的模式:
75 165
76 | UI 標籤 | 模式 |166 | UI 標籤 | 模式 |
77 | :----------------- | :------------------ |167 | :----------------- | :------------------ |
81 | Auto | `auto` |171 | Auto | `auto` |
82 | Bypass permissions | `bypassPermissions` |172 | Bypass permissions | `bypassPermissions` |
83 173
84 在 v2.1.205 之前,擴充功能將 `plan` 標記為 Plan mode,將 `auto` 標記為 Auto mode。174 **作為預設值**:若要固定對話啟動的權限模式,請在 VS Code 使用者設定中將 `claudeCode.initialPermissionMode` 設定為 `default`、`manual`、`acceptEdits`、`plan` 或 `bypassPermissions`。該設定不接受 `auto`;若要以 Auto 啟動,請將其保留未設定,並從模式指示器中選擇**Auto**一次,如下面第 2 項所述。擴充功能在適用的第一個中啟動每個新對話:
85 175
86 當您的帳戶符合 [auto 模式部分](#eliminate-prompts-with-auto-mode) 中列出的每項要求時,Auto 模式會在模式指示器中出現。`claudeCode.initialPermissionMode` 設定不接受 `auto`。若要預設以 auto 模式啟動,請改為在您的 [使用者設定](/docs/zh-TW/settings#settings-files) 中設定 `defaultMode`。Claude Code 會忽略專案和本機設定中的 `defaultMode: "auto"`。176 1. `claudeCode.initialPermissionMode`
177 2. 您上次從模式指示器選擇的模式,如果它是 Manual、Edit automatically 或 Auto。選擇 Plan 或 Bypass permissions 僅適用於該對話
178 3. 來自[受管設定](/docs/zh-TW/managed-settings)或 `~/.claude/settings.json` 的 `permissions.defaultMode`,在 Pro、Max 和 Team 方案上具有[功能旗標擷取](#which-mode-a-session-starts-in)可用
179 4. 您的方案、提供者和組織設定的[內建預設](#which-mode-a-session-starts-in)
87 180
88 略過權限需要擴充功能設定中的 **Allow dangerously skip permissions** 切換,才能在模式指示器中出現。181 擴充功能永遠不會從專案的 `.claude/settings.json` 或 `.claude/settings.local.json` 讀取起始權限模式,在不符合第 3 項條件的對話中根本不讀取任何設定檔。當設定 `claudeCode.claudeProcessWrapper` 時,第 3 和 4 項也不適用:這些對話以 Manual 啟動,除非第 1 或 2 項設定權限模式。
89 182
90 請參閱 [VS Code 指南](/docs/zh-TW/vs-code) 以取得擴充功能特定的詳細資訊。183 當[自動模式可用](#eliminate-prompts-with-auto-mode)時,Auto 會在模式指示器中出現。
184
185 Bypass permissions 需要擴充功能設定中的 **Allow dangerously skip permissions** 切換。沒有它,權限模式不會在指示器中出現,來自第 1 或 3 項的 `bypassPermissions` 值會改為以 Manual 啟動對話。當自動模式不可用時,來自任何項的 Auto 同樣會以 Manual 啟動對話。
186
187 請參閱 [VS Code 指南](/docs/zh-TW/vs-code)以取得擴充功能特定的詳細資訊。
91 </Tab>188 </Tab>
92 189
93 <Tab title="JetBrains">190 <Tab title="JetBrains">
94 JetBrains 外掛程式在 IDE 終端中執行 Claude Code,因此切換模式的方式與 CLI 中相同:按 `Shift+Tab` 循環切換,或在啟動時傳遞 `--permission-mode`。191 JetBrains 外掛程式在 IDE 終端中執行 Claude Code,因此切換權限模式的方式與 CLI 中相同:按 `Shift+Tab` 循環切換,或在啟動時傳遞 `--permission-mode`。
95 </Tab>192 </Tab>
96 193
97 <Tab title="Desktop">194 <Tab title="Desktop">
98 **在工作階段期間**:使用傳送按鈕旁邊的模式選擇器。並非每個模式都會在選擇器中出現:195 **在工作階段期間**:在 Code 標籤中,使用傳送按鈕旁邊的模式選擇器。並非每個模式都會在選擇器中出現:
99 196
100 * **Auto**:當您的帳戶符合 [auto 模式要求](#eliminate-prompts-with-auto-mode) 時出現197 * **Auto**:當[自動模式可用](#eliminate-prompts-with-auto-mode)時出現
101 * **Bypass permissions**:在 Pro 和 Max 方案上需要桌面設定中的 **Allow bypass permissions mode** 切換;在 Team 和 Enterprise 方案上,組織政策會改為控制它198 * **Bypass permissions**:在 Pro 和 Max 方案上需要 Desktop 設定中的 **Allow bypass permissions mode** 切換;在 Team 和 Enterprise 方案上,組織政策改為控制它
102 199
103 如需桌面特定的詳細資訊,請參閱桌面指南中的 [選擇權限模式](/docs/zh-TW/desktop#choose-a-permission-mode)。200 Cowork 標籤不使用這些模式。Cowork 有自己的權限模式,單獨啟用,Cowork 標籤在為您的帳戶啟用超出其預設值的模式之前根本不顯示模式選擇器。請參閱 [Cowork 文件](https://claude.com/docs/cowork/overview)。
104 201
105 **作為預設值**:在 [settings](/docs/zh-TW/settings#settings-files) 中設定 `defaultMode`。桌面應用程式讀取與 CLI 相同的設定檔,並將模式套用到新的本機工作階段。202 如需桌面特定的詳細資訊,請參閱 Desktop 指南中的[選擇權限模式](/docs/zh-TW/desktop#choose-a-permission-mode)。
106 203
107 您在模式選擇器中選擇的模式會按資料夾記住,並優先於該資料夾的 `defaultMode`。Plan 是例外:選擇它只會套用到目前工作階段。204 **作為預設值**:在[設定](/docs/zh-TW/settings#where-settings-live)中設定 `defaultMode`。桌面應用程式讀取與 CLI 相同的設定檔,並將權限模式套用到新的本機工作階段。
108 205
109 此範例將 Plan 模式設定為新本機工作階段的預設值:206 您在模式選擇器中選擇的模式會按資料夾記住,並優先於該資料夾的 `defaultMode`。Plan 是例外:選擇它僅適用於目前工作階段。
110 207
111 ```json theme={null}208 如需 `defaultMode` 在設定檔中的位置,請參閱[以不同的權限模式啟動](#start-in-a-different-mode)下的範例。
112 {
113 "permissions": {
114 "defaultMode": "plan"
115 }
116 }
117 ```
118 </Tab>209 </Tab>
119 210
120 <Tab title="Web and mobile">211 <Tab title="Web and mobile">
121 在 [claude.ai/code](https://claude.ai/code) 或行動應用程式中使用提示框旁邊的模式下拉式選單。權限提示會在 claude.ai 中出現以供核准。出現的模式取決於工作階段在何處執行:212 在 [claude.ai/code](https://claude.ai/code) 或行動應用程式中使用提示框旁邊的模式下拉式選單。權限提示會在 claude.ai 中出現以供批准。出現的模式取決於工作階段在何處執行:
122 213
123 * **Cloud sessions** 在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上:接受編輯、Plan 和 Auto。接受編輯對應於 `default` 模式:雲端環境預先核准檔案編輯,無論模式為何,因此下拉式選單會顯示接受編輯而不是手動。雲端工作階段仍然遵守設定中的 `defaultMode: "acceptEdits"`。Auto 模式僅在您的組織允許且選定的模型支援時出現。略過權限不可用。214 * **Cloud sessions** 在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上:接受編輯、Plan 和 Auto。接受編輯對應於 `default` 模式:雲端工作階段預先批准檔案編輯,無論模式為何,因此下拉式選單會顯示接受編輯而不是 Manual。雲端工作階段仍然遵守設定中的 `defaultMode: "acceptEdits"`。Auto 模式僅在您的組織允許且選定的模型支援時出現。Bypass permissions 不可用。
124 * **[Remote Control](/docs/zh-TW/remote-control) sessions** 在您的本機機器上:手動、接受編輯和 Plan。您無法從應用程式選擇 Auto 或 Bypass permissions。下拉式選單顯示本機工作階段所在的模式,包括從終端設定的模式,並在應用程式或終端中模式變更時更新。唯一的例外是 Bypass permissions:工作階段永遠不會向 claude.ai 報告該模式,因此從終端切換到它不會變更下拉式選單顯示的內容。在 v2.1.202 之前,使用 `/remote-control` 或 `claude --remote-control` 連線的工作階段根本不報告其模式,因此 claude.ai 和行動應用程式可能會顯示工作階段不在的模式。不匹配只影響標籤:Claude Code 從工作階段的實際模式產生權限提示,它們仍然在應用程式中出現以供核准。215 * **[Remote Control](/docs/zh-TW/remote-control) sessions** 在您的本機機器上:Manual、接受編輯和 Plan。您無法從應用程式選擇 Auto 或 Bypass permissions。
216 * 除了 Bypass permissions,下拉式選單顯示本機工作階段所在的權限模式,包括從終端設定的模式。它在應用程式或終端中權限模式變更時更新。工作階段永遠不會向 claude.ai 報告 Bypass permissions,因此從終端切換到它不會變更下拉式選單顯示的內容。
217 * 由[桌面應用程式](/docs/zh-TW/desktop)或 [VS Code 擴充功能](/docs/zh-TW/vs-code)託管的工作階段在權限模式變更時向 claude.ai 報告,與在終端中託管的工作階段相同。
218 * 在 v2.1.202 之前,使用 `/remote-control` 或 `claude --remote-control` 連線的工作階段根本不報告其權限模式,因此 claude.ai 和行動應用程式可能會顯示工作階段不在的權限模式。不匹配僅影響標籤。Claude Code 從工作階段的實際權限模式產生權限提示,它們仍然在應用程式中出現以供批准。
125 219
126 對於 Remote Control,您也可以在啟動主機時設定起始模式:220 對於 Remote Control,執行工作階段的本機機器必須使用您的 claude.ai 帳戶登入;不支援 API 金鑰。您也可以在啟動該本機工作階段時設定起始權限模式:
127 221
128 ```bash theme={null}222 ```bash theme={null}
129 claude remote-control --permission-mode acceptEdits223 claude remote-control --permission-mode acceptEdits
137 231
138`acceptEdits` 模式讓 Claude 在您的工作目錄中建立和編輯檔案,無需提示。當此模式處於活動狀態時,狀態列會顯示 `⏵⏵ accept edits on`。232`acceptEdits` 模式讓 Claude 在您的工作目錄中建立和編輯檔案,無需提示。當此模式處於活動狀態時,狀態列會顯示 `⏵⏵ accept edits on`。
139 233
140除了檔案編輯外,`acceptEdits` 模式還會自動批准常見的檔案系統 Bash 命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp` 和 `sed`。當這些命令以安全環境變數(例如 `LANG=C` 或 `NO_COLOR=1`)或程序包裝器(例如 `timeout`、`nice` 或 `nohup`)作為前綴時,也會自動批准。與檔案編輯一樣,自動批准僅適用於工作目錄或 `additionalDirectories` 內的路徑。超出該範圍的路徑、寫入[受保護路徑](#protected-paths)以及所有其他 Bash 命令(除了[內建唯讀集合](/docs/zh-TW/permissions#read-only-commands))仍會提示。234除了檔案編輯外,`acceptEdits` 模式還會自動批准常見的檔案系統 Bash 命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp` 和 `sed`。當這些命令以安全環境變數(例如 `LANG=C` 或 `NO_COLOR=1`)或程序包裝器(例如 `timeout`、`nice` 或 `nohup`)作為前綴時,也會自動批准。與檔案編輯一樣,自動批准僅適用於工作目錄或 `additionalDirectories` 內的路徑。超出該範圍的路徑、寫入[受保護路徑](#protected-paths)、`rm` 和 `rmdir` 移除針對[關鍵路徑](#critical-paths)以及所有其他 Bash 命令(除了[內建唯讀集合](/docs/zh-TW/permissions#read-only-commands))仍會提示。
141 235
142當[PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)啟用時,`acceptEdits` 模式也會自動批准 `Set-Content`、`Add-Content`、`Clear-Content` 和 `Remove-Item` 在範圍內的路徑上,以及它們的常見別名。相同的範圍和受保護路徑規則適用。236當[PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)啟用時,`acceptEdits` 模式也會自動批准 `Set-Content`、`Add-Content`、`Clear-Content` 和 `Remove-Item` 在範圍內的路徑上,以及它們的常見別名。相同的範圍和受保護路徑規則適用,`Remove-Item` 有[自己的檢查](#remove-item-in-powershell)。包含引號字元的位置引數(例如 `Set-Content .\notes.txt "It's done"` 中的撇號)仍會在範圍內路徑上提示,因為 Claude Code 無法靜態驗證其引用和未引用讀數不同的引數。透過命名參數(例如 `-Value`)傳遞內容以避免提示。
143 237
144當您想在編輯器中或透過 `git diff` 事後檢查變更,而不是逐個批准每個編輯時,請使用 `acceptEdits`。238當您想在編輯器中或透過 `git diff` 事後檢查變更,而不是逐個批准每個編輯時,請使用 `acceptEdits`。
145 239
146從手動模式按一次 `Shift+Tab` 進入它,或直接啟動它:240從 Manual 模式按一次 `Shift+Tab` 進入它,或直接啟動它:
147 241
148```bash theme={null}242```bash theme={null}
149claude --permission-mode acceptEdits243claude --permission-mode acceptEdits
153 使用計畫模式在編輯前進行分析247 使用計畫模式在編輯前進行分析
154</h2>248</h2>
155 249
156計畫模式會告訴 Claude 在進行變更前先研究並提出建議。Claude 會讀取檔案、執行 shell 命令進行探索,並撰寫計畫,但不會編輯您的原始碼。權限提示的應用方式與手動模式相同,除非 [自動模式](/docs/zh-TW/auto-mode-config) 可用且 `useAutoModeDuringPlan` 已開啟(預設為開啟)。啟用自動模式後,分類器會核准搜尋和檔案讀取等唯讀命令,無需提示。無論如何,編輯都會保持被阻止,直到您核准計畫為止。250計畫模式會告訴 Claude 在進行變更前先研究並提出建議。Claude 會讀取檔案、執行 shell 命令進行探索,並撰寫計畫,但不會編輯您的原始碼。除了在[略過權限可用](#skip-all-checks-with-bypasspermissions-mode)的工作階段中,編輯會保持被阻止,直到您批准計畫為止。
251
252當[自動模式](/docs/zh-TW/auto-mode-config)可用且 `useAutoModeDuringPlan` 設定開啟(預設為開啟)時,分類器會在規劃期間審查 shell 命令而不是提示您。批准的命令執行,拒絕的命令被阻止。否則,[內建唯讀集合](/docs/zh-TW/permissions#read-only-commands)外的命令會提示批准,包括當沙箱的[自動允許模式](/docs/zh-TW/sandboxing#sandbox-modes)啟用時。在略過權限可用的工作階段中,分類器和提示都不適用於規劃命令;[使用 bypassPermissions 模式跳過所有檢查](#skip-all-checks-with-bypasspermissions-mode)涵蓋仍會在那裡提示的少數事項。在 v2.1.212 到 v2.1.217 中,沒有略過權限的工作階段會為唯讀集合外的每個命令提示,無論自動模式是否可用。
157 253
158按下 `Shift+Tab` 或在單一提示前加上 `/plan` 即可進入計畫模式。您也可以從 CLI 開始使用計畫模式:254按下 `Shift+Tab` 或在單一提示前加上 `/plan` 即可進入計畫模式。您也可以從 CLI 開始使用計畫模式:
159 255
161claude --permission-mode plan257claude --permission-mode plan
162```258```
163 259
164再次按下 `Shift+Tab` 即可在不核准計畫的情況下離開計畫模式。260再次按下 `Shift+Tab` 即可在不批准計畫的情況下離開計畫模式。
165 261
166<h3 id="review-and-approve-a-plan">262<h3 id="review-and-approve-a-plan">
167 檢視並核准計畫263 檢視並批准計畫
168</h3>264</h3>
169 265
170計畫準備好後,Claude 會呈現計畫並詢問如何進行。從該提示中,您可以:266計畫準備好後,Claude 會呈現計畫並詢問如何進行。從該提示中,您可以選擇:
171 267
172* 核准並在自動模式中開始268* **是的,並使用自動模式**:批准並以[自動模式](#eliminate-prompts-with-auto-mode)啟動。當自動模式不可用時,此選項讀作**是的,自動接受編輯**。如果您以啟用略過權限的方式啟動工作階段,該選項讀作**是的,並為此工作階段切換到略過權限(無進一步提示)**。
173* 核准並接受編輯269* **是的,手動批准編輯**:批准並逐個檢視每個編輯。
174* 核准並手動檢視每項編輯270* **否,繼續規劃**:保持在計畫模式並告訴 Claude 要變更什麼。
175* 透過回饋繼續規劃
176* 使用 [Ultraplan](/docs/zh-TW/ultraplan) 進行瀏覽器型檢視以進行精煉
177 271
178核准計畫會退出計畫模式,並將工作階段切換至每個核准選項所描述的權限模式,以便 Claude 開始編輯。若要再次規劃,請使用 `Shift+Tab` 循環回到計畫模式,或在下一個提示前加上 `/plan`。272批准計畫會退出計畫模式並將工作階段切換至每個批准選項所描述的權限模式,以便 Claude 開始編輯。若要再次規劃,請使用 `Shift+Tab` 循環回到計畫模式,或在下一個提示前加上 `/plan`。
179 273
180按下 `Ctrl+G` 即可在預設文字編輯器中開啟提議的計畫並直接編輯,然後 Claude 才會繼續進行。當啟用 [`showClearContextOnPlanAccept`](/docs/zh-TW/settings#available-settings) 時,每個核准選項也會提供在核准計畫前清除規劃上下文的選項。274按下 `Ctrl+G` 即可在預設文字編輯器中開啟提議的計畫並直接編輯,然後 Claude 才會繼續進行。當啟用 [`showClearContextOnPlanAccept`](/docs/zh-TW/settings-reference#showclearcontextonplanaccept) 時,清單會獲得第一個選項,該選項批准計畫並清除規劃上下文。
181 275
182接受計畫也會根據計畫內容自動為工作階段命名,除非您已使用 `--name` 或 `/rename` 設定名稱。276接受計畫也會根據計畫內容為工作階段提供[產生的標題](/docs/zh-TW/sessions#name-your-sessions),除非您已命名工作階段。
183 277
184<h3 id="set-plan-mode-as-the-default">278<h3 id="set-plan-mode-as-the-default">
185 將計畫模式設定為預設值279 將計畫模式設定為預設值
186</h3>280</h3>
187 281
188若要將計畫模式設定為專案的預設值,請在 `.claude/settings.json` 中設定 `defaultMode`:282若要將計畫模式設定為專案的終端工作階段的預設值,請在 `.claude/settings.json` 中將 `defaultMode` 設定為 `plan`,如[以不同的權限模式啟動](#start-in-a-different-mode)下的範例所示。[VS Code 擴充功能](/docs/zh-TW/vs-code)啟動的對話不讀取專案設定以取得起始權限模式。在那裡,請改為在 VS Code 使用者設定中將 `claudeCode.initialPermissionMode` 設定為 `plan`。
189
190```json theme={null}
191{
192 "permissions": {
193 "defaultMode": "plan"
194 }
195}
196```
197 283
198<h2 id="eliminate-prompts-with-auto-mode">284<h2 id="eliminate-prompts-with-auto-mode">
199 使用自動模式消除權限提示285 使用自動模式消除權限提示
201 287
202自動模式讓 Claude 無需例行權限提示即可執行。一個獨立的分類器模型在操作執行前進行審查,阻止任何超出您請求範圍、針對無法識別的基礎設施或似乎由 Claude 讀取的惡意內容驅動的操作。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)仍會強制提示。288自動模式讓 Claude 無需例行權限提示即可執行。一個獨立的分類器模型在操作執行前進行審查,阻止任何超出您請求範圍、針對無法識別的基礎設施或似乎由 Claude 讀取的惡意內容驅動的操作。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)仍會強制提示。
203 289
204針對檔案系統根目錄或主目錄的移除,例如 `rm -rf /` 和 `rm -rf ~`,會提示批准而不是進入分類器。當命令包含使用 `$(...)` 或反引號的命令替換,或使用 `<(...)` 的程序替換時,此提示也會觸發,無論移除是在替換內部(如 `echo "$(rm -rf ~)"`),還是在同一命令的其他地方。在 v2.1.208 之前,包含這些形式的命令進入分類器而不是提示。290在 Pro、Max 和 Team 方案上,自動模式是[會話開始時的內建預設權限模式](#which-mode-a-session-starts-in)。
291
292分類器也會在 Claude 使用 [`SendMessage`](/docs/zh-TW/tools-reference) 向另一個代理發送每條訊息時進行審查,無論是純文本還是結構化的[代理團隊](/docs/zh-TW/agent-teams)訊息,在 Claude Code 傳遞之前,無論是在自動模式還是在[計畫模式中分類器審查命令](#analyze-before-you-edit-with-plan-mode)時都會進行;發送審查需要 Claude Code v2.1.222 或更新版本。
293
294分類器也會審查並批准或阻止針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除,例如 `rm -rf /` 和 `rm -rf ~`,包括當移除位於命令或程序替換內時。
205 295
206自動模式也會促使 Claude 繼續工作而不停下來提出澄清問題,儘管當您的提示或技能明確依賴時 Claude 仍會詢問。為了在保持權限提示的同時獲得更強的自主行為,請改為設定[主動輸出風格](/docs/zh-TW/output-styles)。296自動模式也會促使 Claude 繼續工作而不停下來提出澄清問題,儘管當您的提示或技能明確依賴它時 Claude 仍會詢問。為了在仍會提示您的模式中獲得更強的自主行為,請改為設定[主動輸出風格](/docs/zh-TW/output-styles)。
207 297
208<Warning>298<Warning>
209 自動模式減少了權限提示,但不保證安全性。將其用於您信任一般方向的任務,而不是作為敏感操作審查的替代品。299 自動模式減少了權限提示,但不保證安全性。將其用於您信任一般方向的任務,而不是作為敏感操作審查的替代品。
212自動模式僅在您的帳戶滿足以下所有要求時才可用:302自動模式僅在您的帳戶滿足以下所有要求時才可用:
213 303
214* **方案**:所有方案。304* **方案**:所有方案。
215* **擁有者**:在 Team 和 Enterprise 上,擁有者必須在 [Claude Code 管理員設定](https://claude.ai/admin-settings/claude-code)中啟用它,使用者才能開啟。管理員也可以通過在[受管設定](/docs/zh-TW/permissions#managed-settings)中將 `permissions.disableAutoMode` 設定為 `"disable"` 來關閉自動模式。對於桌面應用程式的 Code 標籤,`disableAutoMode` 是組織級控制,管理員設定切換不適用。305* **組織**:在 Team 和 Enterprise 上,自動模式預設可用。管理員可以通過在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableAutoMode` 設定為 `"disable"` 來為組織關閉它。
216* **模型**:在 Anthropic API 上,Claude Opus 4.6 或更新版本,或 Sonnet 4.6 或更新版本。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)工作階段上,僅支援 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。較舊的模型,包括 Sonnet 4.5、Opus 4.5、Haiku 和 claude-3 模型,在任何提供者上都不受支援。306* **模型**:在 Anthropic API 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 上,Claude Opus 4.6 或更新版本、Sonnet 4.6 或更新版本,或[Fable 模型](/docs/zh-TW/model-config#work-with-fable)。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)會話上,僅限 Claude Sonnet 5、Opus 4.7 或更新版本以及 Fable 模型。較舊的模型,包括 Sonnet 4.5、Opus 4.5、Haiku 和 claude-3 模型,在任何提供者上都不受支援。
217* **提供者**:在 Anthropic API、Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 Claude 應用程式閘道工作階段上預設可用。在 v2.1.158 到 v2.1.206 中,自動模式在除了 Anthropic API 之外的所有這些提供者上都是關閉的,直到您設定 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`;v2.1.207 移除了該要求。307* **提供者**:在 Anthropic API、AWS 上的 Claude Platform、Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 Claude 應用程式閘道會話上預設可用。
218 308
219如果 Claude Code 報告自動模式不可用,則其中一項要求未滿足;這不是暫時性中斷。一個單獨的訊息,命名一個模型並說自動模式「無法確定」操作的安全性,是暫時性分類器中斷;請參閱[錯誤參考](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)。309如果 Claude Code 報告自動模式不可用,首先檢查這些要求以及任何設定檔是否設定了 [`disableAutoMode`](/docs/zh-TW/settings-reference#disableautomode)。Anthropic 也可能已在伺服器端關閉自動模式,或伺服器可能已為您的帳戶拒絕自動模式。收到任一答案的會話會保持自動模式關閉直到會話結束,因此稍後啟動新會話。
220 310
221如果您在[設定](/docs/zh-TW/settings#available-settings)中設定 `defaultMode: "auto"`,且工作階段以 `default` 模式啟動且沒有錯誤,該設定可能在 `.claude/settings.json` 或 `.claude/settings.local.json` 中。Claude Code v2.1.142 及更新版本會忽略來自這些檔案的 `auto`,因此儲存庫無法授予自己自動模式。將其移至 `~/.claude/settings.json`。311命名模型並說自動模式「無法確定」操作安全性的單獨訊息意味著分類器請求失敗。該失敗通常是暫時的,但在 Amazon Bedrock 上,它可能會重複直到您的帳戶可以調用命名的模型。請參閱[錯誤參考](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)以了解原因和應對方法。
312
313如果您在[設定](/docs/zh-TW/settings-reference#all-settings)中設定 `defaultMode: "auto"` 並且終端會話在沒有錯誤的情況下以手動模式啟動,該設定可能在 `.claude/settings.json` 或 `.claude/settings.local.json` 中。`auto` 不會從這些檔案生效。將其移至 `~/.claude/settings.json`。對於 VS Code 擴充功能啟動的對話,請改為檢查擴充功能自己的列表在[切換權限模式](#switch-permission-modes)中。
222 314
223<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">315<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">
224 Bedrock、Agent Platform 或 Foundry 上的自動模式316 Bedrock、Agent Platform 或 Foundry 上的自動模式
225</h3>317</h3>
226 318
227在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和已登入的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)工作階段上,自動模式預設會出現在 `Shift+Tab` 循環中。出現在循環中不會改變工作階段啟動的模式:工作階段仍會以您的 [`defaultMode`](/docs/zh-TW/settings#available-settings)啟動,除非您更改,否則為 Manual。這些提供者上僅支援 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。319在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和已登入的[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)會話上,自動模式預設出現在 `Shift+Tab` 循環中。出現在循環中不會改變會話開始時的權限模式:在這些提供者上,終端會話以您的 [`defaultMode`](/docs/zh-TW/settings-reference#permissions-defaultmode) 開始,除非您更改它,否則為手動,而[VS Code 擴充功能](/docs/zh-TW/vs-code)中的對話以手動開始,除非 `claudeCode.initialPermissionMode` 或您在擴充功能中選擇的模式設定了一個。這些提供者上僅支援 Claude Sonnet 5、Opus 4.7 或更新版本以及 Fable 模型。
320
321要使自動模式成為預設啟動權限模式,請在使用者或受管設定中設定 `"permissions": {"defaultMode": "auto"}`。在 VS Code 擴充功能啟動的會話中,改為從模式指示器選擇**自動**。[切換權限模式](#switch-permission-modes)涵蓋了什麼優先於該選擇。
228 322
229要使自動模式成為預設啟動模式,請在使用者或受管設定中設定 `"permissions": {"defaultMode": "auto"}`。323[`/doctor`](/docs/zh-TW/commands#all-commands)檢查在這些提供者上提議此使用者設定預設,就像在 Anthropic API 上一樣。
230 324
231要防止開發人員使用自動模式,請在[受管設定](/docs/zh-TW/permissions#managed-settings)中將 `disableAutoMode` 設定為 `"disable"`。這會從 `Shift+Tab` 循環中移除 `auto`,並在啟動時拒絕 `--permission-mode auto`。325要防止開發人員使用自動模式,請在[受管設定](/docs/zh-TW/managed-settings)中將 `disableAutoMode` 設定為 `"disable"`。這會從 `Shift+Tab` 循環中移除 `auto`,並且以 `--permission-mode auto` 啟動的會話以手動開始。已在自動模式中執行的會話在設定從[管理員部署的來源](/docs/zh-TW/managed-settings#which-managed-source-claude-code-uses)到達該會話時會離開它,並顯示 `auto mode disabled by settings`。在 v2.1.251 之前,執行中的會話會保持自動模式直到它結束。
232 326
233在 v2.1.158 到 v2.1.206 中,自動模式在這些提供者上是關閉的,直到您設定 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`,且 Claude Code 在這些提供者上忽略 `defaultMode: "auto"`,除非也設定了該變數。該變數仍被接受以保持相容性,從 v2.1.207 開始沒有效果。327在 v2.1.158 到 v2.1.206 中,自動模式在這些提供者上關閉,直到您設定 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`,並且 Claude Code 在這些提供者上忽略 `defaultMode: "auto"`,除非也設定了該變數。該變數仍被接受以保持相容性,從 v2.1.207 開始沒有效果。
234 328
235<h3 id="what-the-classifier-blocks-by-default">329<h3 id="what-the-classifier-blocks-by-default">
236 分類器預設阻止的內容330 分類器預設阻止的內容
237</h3>331</h3>
238 332
239分類器信任您的工作目錄和為其配置的遠端,這些遠端是在工作階段啟動時配置的。使用 `git remote add` 或 `git remote set-url` 在工作階段期間新增或重新指向的遠端不受信任,其他所有內容都被視為外部,直到您[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。在 v2.1.200 之前,中途新增的遠端也受信任。333分類器信任您的工作目錄和會話啟動時為其配置的遠端。在會話期間使用 `git remote add` 或 `git remote set-url` 添加或重新指向的遠端不受信任,其他所有內容都被視為外部,直到您[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。在 v2.1.200 之前,中途添加的遠端也受信任。
240 334
241**預設阻止**:335**預設阻止**:
242 336
243* 下載並執行程式碼,例如 `curl | bash`337* 下載並執行程式碼,例如 `curl | bash`
244* 將敏感資料傳送到外部端點338* 將敏感資料發送到外部端點
245* 生產部署和遷移339* 生產部署和遷移
246* 雲端儲存上的大量刪除340* 雲端儲存上的大量刪除
247* 授予 IAM 或儲存庫權限341* 授予 IAM 或儲存庫權限
248* 修改共享基礎設施342* 修改共享基礎設施
249* 不可逆地銷毀工作階段前存在的檔案343* 不可逆轉地銷毀會話前存在的檔案
250* 強制推送344* 強制推送
251* 當推送包含敏感內容(如祕密或個人或受託資料)、包含相對於您要求的隱藏或誤述的變更、包含從儲存庫外部移植或首次讀取的內容,或繞過您要求的拉取請求、審查或檢查時,推送到儲存庫的預設分支。純粹推送到預設分支本身不會被阻止,清除標記的推送需要命名標記的內容或繞過的審查,而不僅僅是推送。分類器是一層:[`permissions.deny` 規則](/docs/zh-TW/permissions#manage-permissions)適用於每種模式,可以完全阻止推送到預設分支,遠端自己的分支保護仍然適用。在 v2.1.203 之前,任何直接推送到預設分支都被阻止345* 提交或推送會在執行時將秘密或敏感資料發送到儲存庫外的更改,或擴大部署公開的內容。這涵蓋將秘密交給不已接收它的目的地的 CI 工作流程或部署配置、讀取秘密存儲並發送資料的指令碼或設定步驟,以及擴大部署發佈內容的配置更改,例如登錄、可見性、工件或來源地圖設定。檢查適用於任何分支,即使儲存庫是公開的也適用,並在更改登陸時觸發,無論該登陸是否觸發管道;清除它需要命名執行效果,而不僅僅是提交或推送。在 v2.1.211 之前,此檢查的範圍限於預設分支:推送到那裡時如果包含敏感內容、隱藏或誤描述相對於您要求的內容、從儲存庫外部移植的內容或繞過您要求的審查的內容,則被阻止
252* `git reset --hard`、`git checkout -- .`、`git restore .`、`git clean -fd`、`git stash drop` 或 `git stash clear`,分類器假設會丟棄未提交的變更346* `git reset --hard`、`git checkout -- .`、`git restore .`、`git clean -fd`、`git stash drop` 或 `git stash clear`,分類器假設會丟棄未提交的更改
253* 當 HEAD 的提交不是在此工作階段中建立時的 `git commit --amend`347* `git commit --amend` 當 HEAD 的提交不是在此會話中建立的
254* 從 v2.1.198 開始,當 HEAD 的提交已經被推送時的 `git commit --amend`。僅訊息重述不被阻止:`--amend -m` 沒有新暫存的內容,在 Claude 在此工作階段期間建立的提交上348* 從 v2.1.198 開始,`git commit --amend` 當 HEAD 的提交已經被推送。僅訊息重新措辭不被阻止:`--amend -m` 沒有新暫存的內容,在 Claude 在此會話期間建立的提交上
255* `terraform destroy`、`pulumi destroy`、`cdk destroy` 或 `terragrunt destroy`,以及應用銷毀資源的計畫349* `terraform destroy`、`pulumi destroy`、`cdk destroy` 或 `terragrunt destroy`,以及應用銷毀資源的計畫
256 350
257Claude Code v2.1.195 及更新版本預設阻止更多類別。有些取決於[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)條目,例如敏感遠端目標和受保護的 IaC 範圍,您可以將其縮小到具體名稱。351Claude Code v2.1.195 及更新版本預設阻止更多類別。其中幾個取決於[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)條目,例如敏感遠端目標和受保護的 IaC 範圍,您可以將其縮小到具體名稱。
258 352
259* 寫入祕密管理器,或更改 DNS 記錄或 TLS 憑證353* 寫入秘密管理器,或更改 DNS 記錄或 TLS 憑證
260* 合併沒有人類批准的拉取請求、批准 Claude 自己的拉取請求或禁用 CI 檢查354* 合併沒有人類批准的拉取請求、批准 Claude 自己的拉取請求或禁用 CI 檢查
261* 發佈本身是自動化命令的評論,例如 `atlantis apply` 或機器人的 `/deploy` 或 `/merge`355* 發佈本身是自動化命令的評論,例如 `atlantis apply` 或機器人的 `/deploy` 或 `/merge`
262* 切換、調整或刪除生產功能標誌356* 切換、調整或刪除生產功能旗標
263* 將基礎設施變更應用於受保護的 IaC 範圍,或排空並移除叢集節點357* 將基礎設施更改應用於受保護的 IaC 範圍,或排空並移除叢集節點
264* 寫入超出您命名的資源的共享計算叢集,例如標籤選擇器或 `--all` 捕捉其他使用者的工作358* 寫入超出您命名的資源的共享計算叢集,例如標籤選擇器或 `--all` 捕捉其他使用者的工作
265* 建立在每個節點上執行或攔截叢集流量的 Kubernetes 資源,例如 DaemonSets 和准入 webhooks359* 建立在每個節點上執行或攔截叢集流量的 Kubernetes 資源,例如 DaemonSets 和准入 webhooks
266* 互動式 shell 或埠轉發到敏感遠端目標360* 互動式 shell 或連接埠轉發到敏感遠端目標
267* 開啟隧道或反向 shell,使本地服務可從公共網際網路存取361* 開啟隧道或反向 shell 使本地服務可從公開網際網路到達
268* 將即時認證或令牌列印到文字記錄或檔案362* 將即時認證或令牌列印到文字記錄或檔案
269* 存取在您的[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中列為敏感資料位置的位置,或從中複製資料。從 v2.1.198 開始,這也會阻止從一個位置向該條目排除的受眾傳送資料363* 存取在您的[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中列為敏感資料位置的位置,或從其中複製資料。從 v2.1.198 開始,這也會阻止從一個發送資料到該條目排除的受眾
270* 繞過您的內部套件登錄將套件安裝路由到公共登錄。從 v2.1.198 開始,這也適用於您在對話中告訴 Claude 內部登錄或鏡像存在的情況,而不僅僅是在您的環境中列出的情況364* 繞過您的內部套件登錄將套件安裝路由到公開登錄。從 v2.1.198 開始,這也適用於您在對話中告訴 Claude 內部登錄或鏡像存在的情況,而不僅僅是在您的環境中列出的情況
271* 使用禁用安全防護的標誌執行命令,例如 `--insecure`365* 使用禁用安全防護的旗標執行命令,例如 `--insecure`
272* 啟動在沒有人類批准或沙箱的情況下執行的自主代理迴圈,例如使用 `--dangerously-skip-permissions` 或 `--no-sandbox` 啟動的迴圈。從 v2.1.198 開始,這也涵蓋執行禁用隔離和每操作批准的第三方代理或評估工具,例如使用 `--yes-always` 啟動的執行器366* 啟動在沒有人類批准或沙箱的情況下執行的自主代理迴圈,例如使用 `--dangerously-skip-permissions` 或 `--no-sandbox` 啟動的迴圈。從 v2.1.198 開始,這也涵蓋執行第三方代理或評估工具,隔離和每個操作批准禁用,例如使用 `--yes-always` 啟動的執行器
273* [Chrome 中的 Claude](/docs/zh-TW/chrome)瀏覽器操作,可能會將頁面內容、Cookie 或認證傳送到跨源367* [Chrome 中的 Claude](/docs/zh-TW/chrome)瀏覽器操作可能會將頁面內容、Cookie 或認證發送到跨來源
274 368
275Claude Code v2.1.198 及更新版本也預設阻止這些:369Claude Code v2.1.198 及更新版本也預設阻止這些:
276 370
277* 通過萬用字元、glob 或年齡篩選器而不是特定命名路徑刪除 `/tmp`、`$TMPDIR` 或其他共享暫存或快取目錄中的檔案371* 按萬用字元、glob 或年齡篩選器而不是按特定命名路徑刪除 `/tmp`、`$TMPDIR` 或另一個共享暫存或快取目錄中的檔案
278* 當您自己的訊息未授權這些詳細資訊給該收件人時,在傳送、上傳、發佈或寫入其他人或共享系統的內容中包含敏感詳細資訊。當儲存庫在信任邊界外或公開時,PR 和問題正文、提交訊息和評論算作這種類型的出站內容,包括您組織自己的公開儲存庫;內部檔案路徑、代碼名稱、即時 API 回應資料(如電子郵件或帳戶識別碼)和基礎設施識別碼算作敏感詳細資訊。PR、問題和提交訊息範圍需要 Claude Code v2.1.200 或更新版本。PR 或問題正文中的即時個人資料(如電子郵件地址、帳戶或組織識別碼或使用指標)需要您命名這些詳細資訊和收件人,無論儲存庫的可見性或信任邊界如何。該檢查需要 Claude Code v2.1.203 或更新版本372* 在您自己的訊息未授權這些詳細資訊給該收件人時,在發送、上傳、發佈或寫入其他人或共享系統的內容中包含敏感詳細資訊。PR 和問題正文、提交訊息和評論在儲存庫在信任邊界外或公開時計為此類出站內容,包括您組織自己的公開儲存庫;內部檔案路徑、代碼名稱、即時 API 回應資料(例如電子郵件或帳戶識別碼)和基礎設施識別碼計為敏感詳細資訊。PR、問題和提交訊息範圍需要 Claude Code v2.1.200 或更新版本。PR 或問題正文中的即時個人資料(例如電子郵件地址、帳戶或組織識別碼或使用指標)需要您命名這些詳細資訊和收件人,無論儲存庫的可見性或信任邊界如何。該檢查需要 Claude Code v2.1.203 或更新版本
279* 向 Claude Code 自己的 tmux 窗格傳送按鍵以驅動其自己的介面,分類器將其視為 Claude 更改自己的權限或監督373* 將按鍵發送到 Claude Code 自己的 tmux 窗格以驅動其自己的介面,分類器將其視為 Claude 更改自己的權限或監督
280 374
281Claude Code v2.1.200 及更新版本也預設阻止這些:375Claude Code v2.1.200 及更新版本也預設阻止這些:
282 376
283* 註解掉、刪除或強制通過保護安全行為的測試或斷言,例如驗證、存取控制、輸入驗證或沙箱377* 註解掉、刪除或強制通過保護安全行為的測試或斷言,例如驗證、存取控制、輸入驗證或沙箱
284* 刪除或拆除 Claude 在工作階段中未建立的有狀態資源,當沒有更具體的刪除規則適用且您未命名該資源時378* 刪除或拆除 Claude 在會話中未建立的有狀態資源,當沒有更具體的刪除規則適用且您未命名該資源時
285* 將 API 基礎 URL、代理端點、webhook 接收器或登錄鏡像重新指向不適合任務的第三方主機,包括在 `.env.example` 等範例檔案中379* 將 API 基礎 URL、代理端點、webhook 接收器或登錄鏡像重新指向不適合任務的第三方主機,包括在 `.env.example` 等範例檔案中
286* 使用 `git remote set-url` 或 `git remote add` 更改推送的去向,除非您命名了新遠端380* 使用 `git remote set-url` 或 `git remote add` 更改推送去向,除非您命名了新遠端
287* 推送祕密或個人或受託資料到已知為公開的儲存庫,或推送不是該儲存庫自己工作一部分的機密材料。dotfiles 儲存庫自己的主題是個人或受託資料的唯一例外,來自私有儲存庫到任何公開表面的內容以相同方式被阻止;兩項改進都需要 Claude Code v2.1.203 或更新版本。在 v2.1.203 之前,個人資料與機密材料分組,僅當它不是該儲存庫自己工作的一部分時才被阻止。當儲存庫的可見性未確定時,分類器不會單獨阻止;它改為根據其他規則判斷內容381* 推送秘密或個人或受信任資料到已知為公開的儲存庫,或推送不屬於該儲存庫自己工作的機密材料。dotfiles 儲存庫自己的主題是個人或受信任資料的唯一例外,來自私有儲存庫到任何公開表面的內容以相同方式被阻止;兩項改進都需要 Claude Code v2.1.203 或更新版本。在 v2.1.203 之前,個人資料與機密材料分組,僅當它不屬於該儲存庫自己的工作時才被阻止。當儲存庫的可見性未確定時,分類器不會單獨在此阻止;它改為根據其他規則判斷內容
288* 針對不同儲存庫或組織開啟拉取請求、使用 `gh repo fork` 進行分叉或推送到第三方儲存庫,除非您命名了該外部目標382* 針對不同的儲存庫或組織開啟拉取請求、使用 `gh repo fork` 進行分叉或推送到第三方儲存庫,除非您命名了該外部目標
289 383
290Claude Code v2.1.203 及更新版本也預設阻止這些:384Claude Code v2.1.203 及更新版本也預設阻止這些:
291 385
292* 來自敏感本地儲存或其名稱、路徑或類型將其標記為敏感的檔案的內容進入提交、推送、PR 或問題文字、gist 或貼上或套件發佈,除非您命名了來源和目的地。工作階段文字記錄和對話日誌、認證和配置點資料夾(如 SSH 金鑰、雲端認證、瀏覽器設定檔和 shell 歷史記錄)以及使用者資料匯出都算作,儲存庫為私有不會清除它386* 來自敏感本地存儲或其名稱、路徑或類型將其標記為敏感的檔案的內容進入提交、推送、PR 或問題文本、gist 或貼上或套件發佈,除非您命名了來源和目的地。會話文字記錄和對話日誌、認證和配置點資料夾(例如 SSH 金鑰、雲端認證、瀏覽器設定檔和 shell 歷史記錄)以及使用者資料匯出都計為此類,儲存庫為私有不會清除它
293 387
294Claude Code v2.1.205 及更新版本也預設阻止這些:388Claude Code v2.1.205 及更新版本也預設阻止這些:
295 389
296* 寫入 Claude Code 工作階段文字記錄、`~/.claude/projects/` 下的 `.jsonl` 歷史檔案或您配置的配置目錄,無論是直接還是通過 shell 命令。該規則也涵蓋 Claude Code 為其自己的檢查附加到每個文字記錄條目的中繼資料行。文字記錄是 Claude Code 寫入的工作階段狀態,而不是工作檔案,篡改的條目在您恢復工作階段後到達每個後續檢查,因此自動模式作為深度防禦阻止這些寫入。讀取文字記錄不被阻止390* 寫入 Claude Code 會話文字記錄,也就是 `~/.claude/projects/` 或您配置的配置目錄下的 `.jsonl` 歷史檔案,無論是直接還是通過 shell 命令。該規則也涵蓋 Claude Code 為其自己的檢查附加到每個文字記錄條目的中繼資料行。讀取文字記錄不被阻止
297* 遞迴強制刪除,例如 `rm -rf "$VAR"` 或 `Remove-Item -Recurse -Force $dir`,其目標是 shell 變數或以其為根的 glob,在分類器看到的對話中的任何地方都未指派。該值僅來自較早的命令輸出,分類器永遠不會收到,因此分類器無法根據其他刪除規則驗證刪除目標。分類器根據設計讀取對話而不是命令輸出,因此它阻止呼叫而不是猜測目標。當您命名被刪除的確切路徑或 Claude 使用寫入命令的已解析文字路徑重新執行刪除時,該阻止會清除。分類器可以解析其目標的刪除不受影響391* 遞迴強制刪除,例如 `rm -rf "$VAR"` 或 `Remove-Item -Recurse -Force $dir`,其目標是 shell 變數或以其為根的 glob,在對話中分類器看到的任何地方都未指派。該值僅來自較早的命令輸出,分類器永遠不會收到,因此分類器無法根據其他刪除規則驗證刪除目標。當您命名正在刪除的確切路徑或 Claude 使用寫入命令的已解析文字路徑重新執行刪除時,該塊會清除。其目標分類器可以解析的刪除不受影響。`Remove-Item` 目標為裸 `*` 或以 `/*` 或 `\*` 結尾的永遠不會到達分類器:Claude Code [直接拒絕它們](#remove-item-in-powershell)
392
393Claude Code v2.1.257 及更新版本也預設阻止這些:
394
395* 從雲端實例中繼資料端點(例如 `169.254.169.254`)請求認證,或使用機器自己的服務帳戶或節點身份明確驗證雲端、叢集或登錄呼叫
396* 通過直接請求以外的路由到達公開主機,例如隧道、反向 shell 或重新寫入以指向外部的解析器或代理配置
397* 讀取屬於主機而不是您的任務的認證,例如節點憑證或節點的容器登錄驗證
398* 連接到或掃描 Claude 未啟動的同級容器、pod 或 VM,或容器下的節點
399
400如果 Claude Code 在允許其中之一的地方執行,請在 `autoMode.environment` 中的[主機包含條目](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中描述該設定。
401
402Claude Code v2.1.261 及更新版本也預設阻止這些:
403
404* 在訊息、PR 或問題文本、文件或連結將被開啟或擷取的任何其他地方發佈或寫入公開貼上、圖表或資料共享服務的連結,當 URL 本身攜帶正在共享的內容時,除非您命名了該服務
298 405
299**預設允許**:406**預設允許**:
300 407
301* 您工作目錄中的本地檔案操作408* 您工作目錄中的本地檔案操作
302* 安裝在您的鎖定檔案或清單中宣告的依賴項409* 安裝在您的鎖定檔案或清單中聲明的依賴項
303* 讀取 `.env` 並將認證傳送到其匹配的 API410* 讀取 `.env` 並將認證發送到其匹配的 API
304* 唯讀 HTTP 請求411* 唯讀 HTTP 請求
305* 推送到您啟動的分支或 Claude 建立的分支412* 推送到您正在處理的儲存庫的任何分支,包括預設分支。其名稱將其標記為部署或發佈目標的非預設分支,例如 `production` 或 `gh-pages`,不涵蓋:分類器根據其自己的條款判斷推送到那裡。推送的內容仍根據其他規則進行檢查,[`permissions.deny` 規則](/docs/zh-TW/permissions#manage-permissions)仍可以在每種模式中[按書寫](/docs/zh-TW/permissions#bash-rule-limits)阻止推送命令,遠端自己的分支保護仍適用。在 v2.1.211 之前,僅允許推送到您啟動的分支、Claude 建立的分支和到預設分支的例行推送,在 v2.1.203 之前任何直接推送到預設分支都被阻止
306* 例行推送到儲存庫預設分支。在 v2.1.203 之前,任何直接推送到預設分支都被阻止
307 413
308Claude Code v2.1.195 及更新版本也預設允許這些:414Claude Code v2.1.195 及更新版本也預設允許這些:
309 415
310* 刪除 Claude 在同一工作階段中較早建立的確切工作416* 刪除 Claude 在同一會話中較早建立的確切工作
311* 作為您的任務的一部分讀取、審查或編寫安全相關程式碼、配置和威脅模型417* 作為您的任務的一部分讀取、審查或寫入安全相關的程式碼、配置和威脅模型
312* 在同一多代理工作階段中一起工作的代理之間的訊息418* 在同一多代理會話中一起工作的代理之間的訊息
313* 將資料傳送到您在 [`environment`](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中列出的受信任網域、儲存桶和服務。這僅涵蓋資料流,而不是相同基礎設施上的破壞性或認證操作419* 將資料發送到您在 [`environment`](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure) 中列出的受信任域、儲存桶和服務。這僅涵蓋資料流,不涵蓋同一基礎設施上的破壞性或認證操作
314* [Chrome 中的 Claude](/docs/zh-TW/chrome)導航到受信任的內部網域、localhost 或您命名的 URL420* [Chrome 中的 Claude](/docs/zh-TW/chrome)導航到受信任的內部域、localhost 或您命名的 URL
421
422沙箱網路存取請求通過分類器路由,而不是預設允許。從 v2.1.198 開始,分類器重複使用其對網路主機和連接埠的判決,而不是在每次連接時重新執行:
423
424* 允許被重複使用直到新內容進入對話,此時該主機再次被檢查
425* Claude Code v2.1.234 及更新版本重複使用由對話超出分類器上下文視窗引起的拒絕,直到新內容進入對話或直到[壓縮](/docs/zh-TW/costs#reduce-token-usage)縮小分類器讀取的內容。Claude Code 然後再次檢查主機
426* 分類器通過評估請求達到的拒絕在互動式 CLI 中持續該輪。在[非互動式模式](/docs/zh-TW/headless)和 Agent SDK 會話中,Claude Code 為其餘執行重複使用該拒絕,因為這些會話沒有輪邊界
427* 更改您的權限模式或規則會丟棄所有快取的判決
428
429執行 `claude auto-mode defaults` 以 JSON 形式列印完整規則列表。如果例行操作被阻止,管理員可以通過 `autoMode.environment` 設定添加受信任的儲存庫、儲存桶和服務:請參閱[配置自動模式](/docs/zh-TW/auto-mode-config)。
430
431推送到您正在處理的儲存庫的任何分支並建立與您的請求匹配的拉取請求無需提示即可執行,除非推送或拉取請求屬於[阻止列表](#what-the-classifier-blocks-by-default),例如秘密或敏感資料離開儲存庫,或針對不同儲存庫或組織的拉取請求。要在保持自動模式的同時要求這些命令前的人類檢查點,請添加 `permissions.ask` 規則,這些規則與命令[按書寫](/docs/zh-TW/permissions#bash-rule-limits)匹配:請參閱[常見邊界](/docs/zh-TW/auto-mode-config#common-boundaries)。
432
433<h3 id="first-read-outside-the-working-directories">
434 工作目錄外的第一次讀取
435</h3>
315 436
316沙箱網路存取請求通過分類器路由,而不是預設允許。從 v2.1.198 開始,分類器重複使用其對網路主機和埠的判決,而不是在每次連線時重新執行:437當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 關閉時,檔案讀取在自動模式中無需提示即可執行,包括在[工作目錄](/docs/zh-TW/permissions#working-directories)外的讀取。Claude 第一次在它們外的路徑上使用 Read、Grep 或 Glob 工具時,Claude Code 會詢問您是否繼續允許這些讀取。
317 438
318* 允許被重複使用,直到新內容進入對話,此時該主機被再次檢查439提示不會出現在非互動式 `-p` 執行或背景會話中;那裡的讀取照常執行。
319* 在互動式 CLI 中,拒絕在輪次結束時被丟棄
320* 在[非互動式模式](/docs/zh-TW/headless)和 Agent SDK 工作階段中沒有輪次邊界,因此拒絕在執行的其餘部分被重複使用
321* 更改您的權限模式或規則會丟棄所有快取判決
322 440
323執行 `claude auto-mode defaults` 以查看完整規則清單。如果例行操作被阻止,管理員可以通過 `autoMode.environment` 設定新增受信任的儲存庫、儲存桶和服務:請參閱[配置自動模式](/docs/zh-TW/auto-mode-config)。441無論您的答案如何,Claude 都會繼續工作:
324 442
325推送到您的工作分支、進行例行推送到儲存庫預設分支,以及建立與您的請求相符的拉取請求都無需提示即可執行。分類器僅在推送帶有風險時才阻止推送,例如強制推送或繞過您設定的審查的內容。要在保持自動模式的同時要求在這些操作前進行人工檢查點,請新增 `permissions.ask` 規則:請參閱[常見邊界](/docs/zh-TW/auto-mode-config#common-boundaries)。443* **繼續允許**:讀取執行,稍後對工作目錄外的讀取照常執行,Claude Code 記錄您的答案,以便提示不會再次出現
444* **從現在開始阻止**:讀取被拒絕,Claude Code 在您的使用者設定中將 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 設定為 `true`,這使檔案工具在每個稍後的會話和每種權限模式中拒絕此類讀取。要稍後讓 Claude 讀取此類路徑,請使用 `/add-dir` 添加其目錄或移除設定。
445* **下次再問**:讀取被拒絕,下一次對工作目錄外的讀取再次提示
326 446
327<h3 id="boundaries-you-state-in-conversation">447<h3 id="boundaries-you-state-in-conversation">
328 您在對話中陳述的邊界448 您在對話中陳述的邊界
329</h3>449</h3>
330 450
331分類器將您在對話中陳述的邊界視為阻止信號。如果您告訴 Claude「不要推送」或「在我審查後再部署」,分類器會阻止匹配的操作,即使預設規則會允許它們。邊界保持有效,直到您在後續訊息中解除它。Claude 自己的判斷條件已滿足不會解除它。451分類器將您在對話中陳述的邊界視為阻止信號。如果您告訴 Claude「不要推送」或「在我審查前等待再部署」,分類器會阻止匹配的操作,即使預設規則會允許它們。邊界保持有效直到您在稍後的訊息中解除它。Claude 自己的判斷條件已滿足不會解除它。
332 452
333邊界不作為規則儲存。分類器在每次檢查時從文字記錄重新讀取它們,因此如果[上下文壓縮](/docs/zh-TW/costs#reduce-token-usage)移除陳述邊界的訊息,邊界可能會丟失。為了獲得硬保證,請改為新增[拒絕規則](/docs/zh-TW/permissions#permission-rule-syntax)。453邊界不作為規則儲存。分類器在每次檢查時從文字記錄重新讀取它們,因此如果[上下文壓縮](/docs/zh-TW/costs#reduce-token-usage)移除陳述它的訊息,邊界可能會丟失。為了硬保證,請改為添加[拒絕規則](/docs/zh-TW/permissions#permission-rule-syntax)。
334 454
335<h3 id="when-auto-mode-falls-back">455<h3 id="when-auto-mode-falls-back">
336 自動模式何時回退456 當自動模式回退時
337</h3>457</h3>
338 458
339每個被拒絕的操作都會顯示通知,並在 `/permissions` 下的「最近拒絕」標籤中出現,您可以按 `r` 以手動批准重試它。459當自動模式無法批准您的會話操作時,發生的情況取決於情況:
340 460
341如果分類器連續阻止操作 3 次或總共 20 次,自動模式暫停,Claude Code 恢復提示。批准提示的操作會恢復自動模式。這些閾值不可配置。任何允許的操作都會重置連續計數器,而總計數器在工作階段中持續,僅在其自己的限制觸發回退時重置。461* **被阻止的操作**:Claude Code 顯示通知並在 `/permissions` 下的**最近拒絕**標籤中列出操作,您可以按 `r` 使用手動批准重試它。當分類器對操作[沒有判決](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,因為獨立於自動模式的安全檢查拒絕了分類器自己的請求或其回應未解析,Claude Code 拒絕操作而沒有通知或**最近拒絕**條目。
462* **重複阻止**:如果分類器連續 3 次或總共 20 次阻止操作,自動模式暫停,Claude Code 恢復提示。批准提示的操作恢復自動模式。這些閾值不可配置。任何允許的操作重置連續計數器,而總計數器在會話中持續並僅在其自己的限制觸發回退時重置。當[獨立於自動模式的安全檢查拒絕分類器自己的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,Claude Code 不計算拒絕到任一閾值;連結的條目涵蓋 Claude Code 如何處理這些拒絕。
463* **無法提示的會話**:沒有 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 的[非互動式](/docs/zh-TW/headless) `-p` 執行沒有回退提示。當重複阻止達到閾值時,操作不執行,Claude 繼續工作。當[獨立於自動模式的安全檢查拒絕分類器的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時也適用。Claude Code 在任一情況下都不停止執行。
464* **檢查期間的模式切換**:如果您在分類器檢查待決時切換權限模式,Claude Code 丟棄新模式不會請求的判決,而不是應用它:您改為被提示批准,或操作在 [`dontAsk` 模式](#allow-only-pre-approved-tools-with-dontask-mode)中自動拒絕。
342 465
343在[非互動式模式](/docs/zh-TW/headless)中使用 `-p` 標誌,重複阻止會中止工作階段,因為沒有使用者可提示。466重複阻止通常意味著分類器缺少關於您的基礎設施的上下文。使用 `/feedback` 報告誤報,或讓管理員[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。
344 467
345重複阻止通常意味著分類器缺少有關您的基礎設施的上下文。使用 `/feedback` 報告誤報,或讓管理員[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。468<span id="how-the-classifier-evaluates-actions" />
346 469
347<AccordionGroup>470<AccordionGroup>
348 <Accordion title="分類器如何評估操作">471 <Accordion title="分類器如何評估操作">
349 每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:472 每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:
350 473
351 1. 與您的[允許、詢問或拒絕規則](/docs/zh-TW/permissions#manage-permissions)匹配的操作立即解決。寫入[受保護路徑](#protected-paths)即使允許規則匹配也會路由到分類器。您的組織設定為 `ask` 的[連接器工具](/docs/zh-TW/mcp#organization-controls-on-connector-tools)和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使允許規則匹配也會直接提示您。內容範圍的詢問規則回退到權限提示474 1. 與您的[允許、詢問或拒絕規則](/docs/zh-TW/permissions#manage-permissions)匹配的操作立即解決。寫入[受保護路徑](#protected-paths)的操作即使允許規則匹配也會路由到分類器,`rm` 和 `rmdir` 移除針對 Claude Code v2.1.218 及更新版本中的[關鍵路徑](#critical-paths)也會。標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使允許規則匹配也會直接提示您,連接器工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 在設定到達 Claude Code 的會話中也會。與命令內容匹配的詢問規則,例如 `Bash(git push *)`,回退到權限提示
352 2. 唯讀操作和工作目錄中的檔案編輯會自動批准,除了[受保護路徑](#protected-paths)的寫入475 2. 唯讀操作和您工作目錄中的檔案編輯自動批准,除了寫入[受保護路徑](#protected-paths)和[工作目錄外的第一次讀取](#first-read-outside-the-working-directories),這會提示您
353 3. 其他所有內容都進入分類器。您的組織設定為 `ask` 的[連接器工具](/docs/zh-TW/mcp#organization-controls-on-connector-tools)跳過分類器並直接提示您,因此組織要求的批准永遠不會自動批准。從 v2.1.199 開始,標記有 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具也跳過分類器並直接提示您,因此同意步驟永遠不會代表工具作者自動批准476 3. 其他所有內容都進入分類器。在步驟 1 中直接提示您的連接器工具和 `requiresUserInteraction` MCP 工具永遠不會到達分類器,因此既不是組織要求的批准也不是同意步驟自動批准
354 4. 如果分類器阻止,Claude 會收到原因並嘗試替代方案477 4. 如果分類器阻止,Claude 收到原因並嘗試替代方案。在大多數會話中原因是固定文本 `Blocked by classifier` 而不是書面解釋,在 Claude Code v2.1.208 及更新版本中;請參閱[審查拒絕](/docs/zh-TW/auto-mode-config#review-denials)
355 478
356 進入自動模式時,授予任意程式碼執行的廣泛允許規則被丟棄:479 進入自動模式時,授予任意程式碼執行的廣泛允許規則被丟棄:
357 480
358 * 全面 `Bash(*)` 或 `PowerShell(*)`481 * 籠統的 `Bash(*)` 或 `PowerShell(*)`
359 * 萬用字元解釋器,例如 `Bash(python*)`482 * 萬用字元解釋器,例如 `Bash(python*)`
360 * 套件管理器執行命令483 * 套件管理器執行命令
361 * `Agent` 允許規則484 * `Agent` 允許規則
485 * [`Monitor`](/docs/zh-TW/tools-reference#monitor-tool) 允許規則,因為 Claude Code 通過 shell 執行 Monitor 命令
362 486
363 狹義規則,例如 `Bash(npm test)` 會保留。丟棄的規則在您離開自動模式時恢復。487 窄規則,例如 `Bash(npm test)` 保持有效。Claude Code 在您離開自動模式時恢復丟棄的規則。在 v2.1.236 之前,Claude Code 在自動模式中保持 `Monitor` 允許規則有效,因此與整個工具匹配的規則批准 Monitor 命令而無需分類器審查。
364 488
365 分類器看到使用者訊息、工具呼叫和您的 CLAUDE.md 內容。工具結果被剝離,因此檔案或網頁中的惡意內容無法直接操縱它。一個單獨的伺服器端探針掃描傳入的工具結果,並在 Claude 讀取之前標記可疑內容。有關這些層如何協同工作的更多資訊,請參閱[自動模式公告](https://claude.com/blog/auto-mode)和[工程深度探討](https://www.anthropic.com/engineering/claude-code-auto-mode)。489 Claude Code 也在會丟棄未提交工作的命令前執行 `git status`,例如 `git reset --hard` 或 `rm -rf`,並向分類器顯示是否存在暫存、修改或未追蹤的工作。Claude Code 在該檢查中報告未追蹤的檔案,即使儲存庫的 git 配置設定 `status.showUntrackedFiles=no`。
490
491 分類器看到使用者訊息、除讀取專用查詢(例如檔案讀取和搜尋)外的工具呼叫,以及您的 CLAUDE.md 內容。工具結果被剝離,因此檔案或網頁中的惡意內容無法直接操縱它。您可以使用 [PostToolUse hook 的 `classifierContext` 欄位](/docs/zh-TW/hooks#annotate-a-result-for-the-auto-mode-classifier)註解呼叫的結果,分類器將其讀取為應用程式提供的上下文。
492
493 獨立的伺服器端探針掃描傳入的工具結果並在 Claude 讀取前標記可疑內容。有關這些層如何協同工作的更多資訊,請參閱[自動模式公告](https://claude.com/blog/auto-mode)和[工程深入探討](https://www.anthropic.com/engineering/claude-code-auto-mode)。
366 </Accordion>494 </Accordion>
367 495
368 <Accordion title="自動模式如何處理子代理">496 <Accordion title="自動模式如何處理子代理">
369 分類器在三個點檢查[子代理](/docs/zh-TW/sub-agents)工作:497 分類器在三個點檢查[子代理](/docs/zh-TW/sub-agents)工作:
370 498
371 1. 在子代理啟動之前,委派的任務描述被評估,因此危險看起來的任務在生成時被阻止。499 1. 在子代理啟動前,委派的任務描述被評估,因此危險看起來的任務在生成時被阻止。
372 2. 當子代理執行時,其每個操作都通過分類器,使用與父工作階段相同的規則,子代理前言中的任何 `permissionMode` 都被忽略。500 2. 當子代理執行時,其每個操作都通過分類器進行,使用與父會話相同的規則,子代理前置事項中的任何 `permissionMode` 都被忽略。
373 3. 當子代理完成時,分類器審查其完整操作歷史;如果該返回檢查標記了一個問題,安全警告被前置到子代理的結果。501 3. 當子代理完成時,分類器審查其完整操作歷史;如果該返回檢查標記了關注,安全警告被前置到子代理的結果。當獨立的 API 安全檢查拒絕審查請求本身時,Claude Code 仍返回子代理的結果,前置警告該工作未審查並應被視為不受信任。
374 502
375 步驟 1 需要 Claude Code v2.1.178 或更新版本。較早的版本在步驟 2 和 3 應用分類器,但在子代理啟動前未評估任務描述。503 步驟 1 需要 Claude Code v2.1.178 或更新版本。較早的版本在步驟 2 和 3 應用分類器,但在子代理啟動前未評估任務描述。
376 </Accordion>504 </Accordion>
377 505
378 <Accordion title="成本和延遲">506 <Accordion title="成本和延遲">
379 分類器在獨立於您的 `/model` 選擇的伺服器配置模型上執行,因此切換模型不會改變分類器可用性。分類器呼叫計入您的令牌使用。每次檢查發送文字記錄的一部分加上待執行操作,在執行前新增往返。受保護路徑外的讀取和工作目錄編輯跳過分類器,因此開銷主要來自 shell 命令和網路操作。從 v2.1.198 開始,沙箱網路判決對於主機和埠被重複使用,而不是在每次連線時重新分類,因此重複連線到同一主機不會各自新增檢查。[分類器預設阻止的內容](#what-the-classifier-blocks-by-default)描述允許和拒絕持續多長時間。507 分類器預設在 Claude Sonnet 5 上執行,而不是在您的 `/model` 選擇上。Anthropic 在伺服器端配置的分類器模型優先於該預設。當您的會話模型是 Claude Sonnet 4.6 或當 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 排除 Sonnet 5 時,分類器改為在會話的模型上執行,或在會話在[Fable 模型](/docs/zh-TW/model-config#work-with-fable)上執行時在 Opus 模型上執行;在 Anthropic API 以外的提供者上,該 Opus 回退是提供者的預設 Opus 模型。
508
509 會話的第一個自動模式請求驗證 Sonnet 5 預設:如果請求成功,Sonnet 5 保持會話的分類器模型,如果它因模型不可用而失敗,會話改為使用回退。在該驗證解決後,分類器的模型在會話中不會改變。
510
511 在 Enterprise 方案和使用 Claude API、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws)、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的帳戶上,分類器呼叫計入您的令牌使用。每次檢查發送文字記錄的一部分加上待決操作,在執行前添加往返。讀取和工作目錄編輯在受保護路徑外跳過分類器,因此開銷主要來自 shell 命令和網路操作。
512
513 分類器重複使用沙箱網路判決用於主機和連接埠,因此重複連接到同一主機不會各自添加檢查。[分類器預設阻止的內容](#what-the-classifier-blocks-by-default)描述允許和拒絕持續多長時間。
380 </Accordion>514 </Accordion>
381</AccordionGroup>515</AccordionGroup>
382 516
383<h2 id="allow-only-pre-approved-tools-with-dontask-mode">517<h2 id="allow-only-pre-approved-tools-with-dontask-mode">
384 使用 dontAsk 模式僅允許預先核准的工具518 使用 dontAsk 模式僅允許預先批准的工具
385</h2>519</h2>
386 520
387如果您設定 `dontAsk` 模式,Claude Code 會自動拒絕所有原本會提示的工具呼叫。Claude 只執行符合您的 `permissions.allow` 規則、[唯讀 Bash 命令](/docs/zh-TW/permissions#read-only-commands)的動作,以及由 [PreToolUse hook](/docs/zh-TW/permissions#extend-permissions-with-hooks) 核准的呼叫。在您預先定義 Claude 可以執行的確切操作的 CI 管道或受限環境中使用此模式;工作階段永遠不會等待輸入。此模式啟用時,狀態列會顯示 `⏵⏵ don't ask on`。521如果您設定 `dontAsk` 模式,Claude Code 會自動拒絕所有原本會提示的工具呼叫。Claude 只執行符合您的 `permissions.allow` 規則、[唯讀 Bash 命令](/docs/zh-TW/permissions#read-only-commands)的操作以及由 [PreToolUse hook](/docs/zh-TW/permissions#extend-permissions-with-hooks) 批准的呼叫。在您預先定義 Claude 可以執行的確切操作的 CI 管道或受限環境中使用此模式;工作階段永遠不會等待輸入。此模式啟用時,狀態列會顯示 `⏵⏵ don't ask on`。
522
523Claude Code 會拒絕符合您明確 [`ask` 規則](/docs/zh-TW/permissions#manage-permissions)的呼叫,而不是提示。它也會拒絕內建的 `AskUserQuestion` 工具,即使您的允許規則符合它,以及您的組織[設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools)的連接器工具在該設定到達 Claude Code 的工作階段中。它以相同方式拒絕標記為 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,因為它們的批准卡需要此模式永遠不會收集的答案;這需要 Claude Code v2.1.199 或更新版本。
388 524
389Claude Code 會拒絕符合您明確 [`ask` 規則](/docs/zh-TW/permissions#manage-permissions) 的呼叫,而不是提示。它也會拒絕內建的 `AskUserQuestion` 工具和連接器工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools),即使您的允許規則符合它們。它以相同方式拒絕標記為 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,因為它們的核准卡需要此模式永遠不會收集的答案;這需要 Claude Code v2.1.199 或更新版本。525`rm` 和 `rmdir` 移除針對[關鍵路徑](#critical-paths),例如 `rm -rf /` 和 `rm -rf ~`,即使允許規則或 `PreToolUse` hook 允許它們也被拒絕。
390 526
391[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上的雲端工作階段會忽略 `defaultMode: "dontAsk"`;詳見 [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) 以了解詳情。527[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上的雲端工作階段會忽略 `defaultMode: "dontAsk"`;詳見 [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) 以了解詳情。
392 528
400 使用 bypassPermissions 模式跳過所有檢查536 使用 bypassPermissions 模式跳過所有檢查
401</h2>537</h2>
402 538
403`bypassPermissions` 模式會停用權限提示和安全檢查,以便工具呼叫立即執行,包括寫入[受保護的路徑](#protected-paths)。在 v2.1.126 之前,受保護路徑的寫入在此模式中仍會提示。539`bypassPermissions` 模式會停用權限提示和安全檢查,使工具呼叫立即執行,包括寫入[受保護路徑](#protected-paths)。
540
541[任何模式都不會自動批准的操作](#actions-no-mode-auto-approves)在此模式中仍會提示。
404 542
405明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)和連接器工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools)仍會在此模式中強制提示。標記有 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具也仍會提示;這需要 Claude Code v2.1.199 或更新版本。543兩個[跨工作階段訊息傳遞](/docs/zh-TW/cross-session-messaging)保護措施在此模式中仍然適用,以及在有可用的略過權限的計畫模式工作階段中:
406 544
407針對檔案系統根目錄或主目錄的移除操作,例如 `rm -rf /` 和 `rm -rf ~`,仍會作為針對模型錯誤的斷路器而提示。當命令包含使用 `$(...)` 或反引號的命令替換,或使用 `<(...)` 的程序替換時,斷路器也會觸發,無論移除操作位於替換內部(如 `echo "$(rm -rf ~)"`),還是位於同一命令中的其他位置。純形式(作為其自身命令輸入)自引入斷路器以來在此模式中已提示;在 v2.1.208 之前,包含這些形式的命令不會提示。545* 針對超出此機器的工作階段訊息的 [`isolatePeerMachines`](/docs/zh-TW/settings-reference#isolatepeermachines) 核准提示仍會出現。
546* 當沒有 [`crossSessionInbound`](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 值適用時,Claude Code 會保留來自您另一個工作階段的入站訊息以供您核准,只有當傳送工作階段識別自己也在略過權限提示時才會無需詢問即傳遞。如果您在保留訊息時離開權限模式,Claude Code 會重新套用入站規則,並傳遞任何現在接受的保留訊息。
547
548在有可用略過權限的工作階段中,Claude Code 也不會強制執行[計畫模式的](#analyze-before-you-edit-with-plan-mode)區塊。Claude 仍被指示在計畫時不進行編輯,但它在計畫期間嘗試的任何檔案編輯或 shell 命令都會無需提示即執行。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)和針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除仍會提示。
408 549
409<Warning>550<Warning>
410 僅在隔離環境(例如容器、虛擬機或無網際網路存取的開發容器)中使用此模式,其中 Claude Code 無法損害您的主機系統。551 只在隔離環境(如容器、虛擬機或沒有網際網路存取的開發容器)中使用此模式,其中 Claude Code 無法損害您的主機系統。
411</Warning>552</Warning>
412 553
413您無法從未使用啟用旗標啟動的工作階段進入 `bypassPermissions`;使用啟用旗標重新啟動以啟用它:554您無法從未啟用此模式的工作階段進入 `bypassPermissions`。在啟動時使用 [`permissions.defaultMode: "bypassPermissions"`](/docs/zh-TW/settings-reference#permissions-defaultmode) 或使用啟用旗標來啟用它:
414 555
415```bash theme={null}556```bash theme={null}
416claude --permission-mode bypassPermissions557claude --permission-mode bypassPermissions
418 559
419`--dangerously-skip-permissions` 旗標是等效的。560`--dangerously-skip-permissions` 旗標是等效的。
420 561
421在 Linux 和 macOS 上,當以 root 身份或在 `sudo` 下執行時,Claude Code 拒絕以此模式啟動:562Claude Code 拒絕在您使用 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動的工作階段中使用 `bypassPermissions`。`--restricted` 需要 Claude Code v2.1.248 或更新版本。
563
564第一次使用此模式啟動互動式工作階段時,Claude Code 會顯示警告對話框,要求您接受對無權限檢查執行的動作負責。Claude Code 會將您的接受儲存到使用者設定,因此對話框只會出現一次。如果您拒絕,Claude Code 會結束。在[非互動模式](/docs/zh-TW/headless)中不會顯示對話框,使用 `--bg` 啟動的[背景工作階段](/docs/zh-TW/agent-view)會被拒絕,直到您在互動式工作階段中接受對話框。
565
566在 Linux 和 macOS 上,當以 root 或 `sudo` 身份執行時,Claude Code 拒絕以此模式啟動:
422 567
423```text theme={null}568```text theme={null}
424--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons569--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons
425```570```
426 571
427檢查會在識別的沙箱內自動跳過。若要在容器中自主執行,請使用[開發容器](/docs/zh-TW/devcontainer)配置,該配置以非 root 使用者身份執行 Claude Code。572在識別的沙箱內會自動跳過檢查。若要在容器中自主執行,請使用[開發容器](/docs/zh-TW/devcontainer)設定,它以非 root 使用者身份執行 Claude Code。
428 573
429[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 不會遵守您設定檔案中的 `defaultMode: "bypassPermissions"` 或 `"dontAsk"`,因此儲存庫的簽入設定無法在略過權限模式下啟動雲端工作階段。該設定會被無聲地忽略,工作階段會改為以模式下拉式選單中顯示的模式啟動。請參閱[切換權限模式](#switch-permission-modes)以了解雲端工作階段提供的模式。574[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 不會遵守您設定檔中的 `defaultMode: "bypassPermissions"` 或 `"dontAsk"`,因此儲存庫的簽入設定無法在略過權限模式下啟動雲端工作階段。該設定會被無聲地忽略,工作階段會改為以模式下拉式選單中顯示的權限模式啟動。請參閱[切換權限模式](#switch-permission-modes)以了解雲端工作階段提供哪些模式。
430 575
431<Warning>576<Warning>
432 `bypassPermissions` 不提供針對提示注入或意外操作的保護。若要使用背景安全檢查且權限提示大幅減少,請改用[自動模式](#eliminate-prompts-with-auto-mode)。管理員可以透過在[受管設定](/docs/zh-TW/permissions#managed-settings)中將 `permissions.disableBypassPermissionsMode` 設定為 `"disable"` 來封鎖此模式。577 `bypassPermissions` 不提供針對提示注入或意外動作的保護。若要進行背景安全檢查且權限提示大幅減少,請改用[自動模式](#eliminate-prompts-with-auto-mode)。管理員可以透過在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableBypassPermissionsMode` 設定為 `"disable"` 來封鎖此模式。
433</Warning>578</Warning>
434 579
435<h2 id="protected-paths">580<h2 id="protected-paths">
436 受保護的路徑581 受保護的路徑
437</h2>582</h2>
438 583
439對於一小組路徑的寫入操作在除了 `bypassPermissions` 之外的所有模式中都不會自動批准。這可以防止意外損壞儲存庫狀態和 Claude 自身的設定。584對於一小組路徑的寫入操作永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用[略過權限](#skip-all-checks-with-bypasspermissions-mode)的計畫模式工作階段。這可以防止意外損壞儲存庫狀態和 Claude 自身的設定。
440 585
441| 模式 | 受保護路徑寫入 |586| 模式 | 受保護路徑寫入 |
442| :----------------------------- | :------ |587| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |
443| `default`、`acceptEdits`、`plan` | 提示 |588| `default`、`acceptEdits` | 提示 |
589| `plan` | 在[略過權限](#skip-all-checks-with-bypasspermissions-mode)可用的工作階段中允許。否則,當[自動模式](#eliminate-prompts-with-auto-mode)在規劃期間可用時路由到分類器,當它不可用時提示 |
444| `auto` | 路由至分類器 |590| `auto` | 路由至分類器 |
445| `dontAsk` | 拒絕 |591| `dontAsk` | 拒絕 |
446| `bypassPermissions` | 允許 |592| `bypassPermissions` | 允許 |
447 593
594在使用 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動的工作階段中,需要 Claude Code v2.1.248 或更新版本,分類器無法批准受保護路徑寫入。
595
448設定檔案中的 [`permissions.allow`](/docs/zh-TW/permissions#manage-permissions) 規則不會預先批准受保護路徑的寫入。安全檢查在 Claude Code 評估設定中的允許規則之前執行,因此在 `~/.claude/settings.json` 或 `.claude/settings.json` 中的 `Edit(.claude/**)` 之類的項目不會改變上表中的每個模式結果。在提示的模式中,`.claude/` 寫入的提示會提供**是的,並允許 Claude 在此工作階段編輯其自身設定**,這會在該工作階段中批准後續的 `.claude/` 寫入而無需再次提示。596設定檔案中的 [`permissions.allow`](/docs/zh-TW/permissions#manage-permissions) 規則不會預先批准受保護路徑的寫入。安全檢查在 Claude Code 評估設定中的允許規則之前執行,因此在 `~/.claude/settings.json` 或 `.claude/settings.json` 中的 `Edit(.claude/**)` 之類的項目不會改變上表中的每個模式結果。在提示的模式中,`.claude/` 寫入的提示會提供**是的,並允許 Claude 在此工作階段編輯其自身設定**,這會在該工作階段中批准後續的 `.claude/` 寫入而無需再次提示。
449 597
450受保護的目錄:598受保護的目錄:
472* `.ripgreprc`、`pyrightconfig.json`620* `.ripgreprc`、`pyrightconfig.json`
473* `.mcp.json`、`.claude.json`621* `.mcp.json`、`.claude.json`
474 622
623<h2 id="critical-paths">
624 關鍵路徑
625</h2>
626
627Claude Code 永遠不會讓 [`permissions.allow`](/docs/zh-TW/permissions#manage-permissions) 規則或返回 `"allow"` 的 [`PreToolUse` hook](/docs/zh-TW/permissions#extend-permissions-with-hooks) 批准針對關鍵路徑的 `rm` 或 `rmdir` 命令,即使在跳過其他提示的模式中。此斷路器防止模型錯誤。符合的拒絕規則仍會完全阻止命令。
628
629會發生什麼取決於您的權限模式:
630
631| 模式 | Claude Code 對關鍵路徑移除的操作 |
632| :---------------------- | :-------------------------------------------------------------------------------- |
633| `default`、`acceptEdits` | 要求您批准它 |
634| `plan` | 要求您批准它。當[自動模式在規劃期間可用](#analyze-before-you-edit-with-plan-mode)且沒有略過權限可用時,改為傳送到分類器 |
635| `auto` | 傳送到[分類器](#eliminate-prompts-with-auto-mode) |
636| `dontAsk` | 拒絕它 |
637| `bypassPermissions` | 要求您批准它 |
638
639如果明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)符合命令,Claude Code 即使在 `auto` 模式中也會詢問您。在詢問的模式中,[`PermissionRequest` hook](/docs/zh-TW/hooks#permissionrequest) 可以像回答任何其他提示一樣回答提示。
640
641Claude Code 將 `rm` 或 `rmdir` 目標視為關鍵路徑,當它是以下任何一個時:
642
643* 檔案系統根目錄
644* 頂級目錄,意思是根目錄的任何直接子目錄,例如 `/usr`、`/etc` 或 `/data`
645* 您的主目錄
646* Windows 磁碟機根目錄及其頂級目錄,例如 `C:\` 和 `C:\Windows`
647* 您的工作目錄及其父目錄
648* 您的其他工作目錄及其父目錄,但僅當移除是其中一個下的 glob 時,例如 `rm -rf <dir>/*`。`rm -rf <dir>` 在目錄本身上不會觸發此檢查
649
650Claude Code 也將直接在 shell 變數下的 glob 或尾部斜線視為關鍵路徑移除,例如 `rm -rf "$DIR"/*`,因為當變數為空時命令變成從檔案系統根目錄的移除。
651
652使用 `$(...)` 或反引號隱藏移除在命令替換內,或使用 `<(...)` 的程序替換,不會跳過檢查。Claude Code 找到關鍵路徑移除,無論它位於替換內部(如 `echo "$(rm -rf ~)"`),還是位於同一命令中的其他地方。
653
654<h3 id="remove-item-in-powershell">
655 PowerShell 中的 Remove-Item
656</h3>
657
658當您啟用 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)時,Claude Code 為 `Remove-Item` 提供自己的檢查,與 `rm` 關鍵路徑清單分開。結果取決於目標,第一個匹配的情況適用:
659
660* **系統路徑**:檔案系統根目錄及其頂級目錄、磁碟機根目錄及其頂級目錄以及您的主目錄。Claude Code 在每種模式中拒絕命令,無需詢問您。
661* **萬用字元**:裸 `*` 或任何以 `/*` 或 `\*` 結尾的目標,包括 shell 變數下的 glob,例如 `$dir/*`。Claude Code 在每種模式中拒絕命令,無需詢問您,在[分類器](#eliminate-prompts-with-auto-mode)看到它之前。
662* **您的工作目錄或其中一個父目錄,使用 `-Recurse`**:Claude Code 將命令視為任何其他在您的權限模式中需要批准的命令,因此它在詢問的模式中詢問您,在 `auto` 模式中傳送到分類器,在 `dontAsk` 模式中拒絕它。`bypassPermissions` 模式跳過此檢查。
663
475<h2 id="see-also">664<h2 id="see-also">
476 另請參閱665 另請參閱
477</h2>666</h2>
479* [Permissions](/docs/zh-TW/permissions):allow、ask 和 deny 規則;受管理的原則668* [Permissions](/docs/zh-TW/permissions):allow、ask 和 deny 規則;受管理的原則
480* [Configure auto mode](/docs/zh-TW/auto-mode-config):告訴分類器您的組織信任哪些基礎設施669* [Configure auto mode](/docs/zh-TW/auto-mode-config):告訴分類器您的組織信任哪些基礎設施
481* [Hooks](/docs/zh-TW/hooks):透過 `PreToolUse` 和 `PermissionRequest` hooks 的自訂權限邏輯670* [Hooks](/docs/zh-TW/hooks):透過 `PreToolUse` 和 `PermissionRequest` hooks 的自訂權限邏輯
482* [Ultraplan](/docs/zh-TW/ultraplan):在 Claude Code 網頁工作階段中執行計畫模式,並進行瀏覽器型審查
483* [Security](/docs/zh-TW/security):保護措施和最佳實踐671* [Security](/docs/zh-TW/security):保護措施和最佳實踐
484* [Sandboxing](/docs/zh-TW/sandboxing):Bash 命令的檔案系統和網路隔離672* [Sandboxing](/docs/zh-TW/sandboxing):Bash 命令的檔案系統和網路隔離
485* [Non-interactive mode](/docs/zh-TW/headless):使用 `-p` 旗標執行 Claude Code673* [Non-interactive mode](/docs/zh-TW/headless):使用 `-p` 旗標執行 Claude Code