deny 陣列。
若要新增自訂工具,請連接 MCP server。若要使用可重複使用的提示型工作流程擴展 Claude,請撰寫 skill,它透過現有的 Skill 工具執行,而不是新增工具項目。
| 工具 | 描述 | 需要權限 |
|---|---|---|
Agent | 生成一個具有自己 context window 的 subagent,以處理任務。請參閱 Agent 工具行為 | 否 |
Artifact | 將 HTML 或 Markdown 檔案發佈為 artifact:一個私人的互動式頁面,您可以在 claude.ai 上與組織內部分享。需要 Team 或 Enterprise 計畫和 /login 驗證;請參閱 可用性 | 是 |
AskUserQuestion | 提出多選題以收集需求或澄清歧義 | 否 |
Bash | 在您的環境中執行 shell 命令。請參閱 Bash 工具行為 | 是 |
CronCreate | 在目前工作階段內排程定期或一次性提示。任務的範圍限於工作階段,並在 --resume 或 --continue 時恢復(如果未過期)。請參閱 排程任務 | 否 |
CronDelete | 按 ID 取消排程任務 | 否 |
CronList | 列出工作階段中的所有排程任務 | 否 |
Edit | 對特定檔案進行目標編輯。請參閱 Edit 工具行為 | 是 |
EnterPlanMode | 切換到 Plan Mode 以在編碼前設計方法 | 否 |
EnterWorktree | 建立隔離的 git worktree 並切換到其中。傳遞 path 以切換到目前儲存庫的現有 worktree,而不是建立新的。從 worktree 工作階段內,或從具有固定工作目錄的 subagent(例如 isolation: worktree)中,只有 path 形式可用,且目標必須在 .claude/worktrees/ 下 | 否 |
ExitPlanMode | 提出計畫以供批准並退出 Plan Mode | 是 |
ExitWorktree | 退出 worktree 工作階段並返回原始目錄。不適用於已在自己的工作目錄中執行的 subagents,例如使用 isolation: worktree | 否 |
Glob | 根據模式匹配查找檔案。請參閱 Glob 工具行為 | 否 |
Grep | 在檔案內容中搜尋模式。請參閱 Grep 工具行為 | 否 |
ListMcpResourcesTool | 列出連接的 MCP servers 公開的資源 | 否 |
LSP | 透過語言伺服器進行程式碼智慧:跳轉到定義、尋找參考、報告型別錯誤和警告。請參閱 LSP 工具行為 | 否 |
Monitor | 在背景執行命令,並將每個輸出行回饋給 Claude,以便它可以對日誌項目、檔案變更或輪詢狀態做出反應。也可以開啟 WebSocket 並將每個傳入訊息視為事件。請參閱 Monitor 工具 | 是 |
NotebookEdit | 修改 Jupyter notebook 儲存格。請參閱 NotebookEdit 工具行為 | 是 |
PowerShell | 原生執行 PowerShell 命令。請參閱 PowerShell 工具 以了解可用性 | 是 |
PushNotification | 傳送桌面通知,以及當 Remote Control 已連接時傳送手機推播,以便長時間執行的任務或 排程任務 可以在您離開時聯繫您。推播傳遞透過 Anthropic 託管的基礎設施執行,無法從 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 存取 | 否 |
Read | 讀取檔案的內容。請參閱 Read 工具行為 | 否 |
ReadMcpResourceTool | 按 URI 讀取特定 MCP 資源 | 否 |
RemoteTrigger | 在 claude.ai 上建立、更新、執行和列出 Routines。支援 /schedule 命令。Routines 位於 claude.ai 上,需要 Pro、Max、Team 或 Enterprise 計畫,因此此工具無法從 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 存取 | 否 |
ReportFindings | 將程式碼審查結果報告為結構化清單,每個結果包含檔案、摘要和失敗情景,以便 Claude Code 可以呈現它們而不是將其列印為文字。當有效的程式碼審查指示告訴它時,Claude 會呼叫它。需要 Claude Code v2.1.196 或更新版本 | 否 |
ScheduleWakeup | 重新排程 自主進行的 /loop 的下一次迭代。Claude 在每次迭代結束時呼叫此工具,以選擇下一次執行的時間,範圍在一分鐘到一小時之間;您不需要直接呼叫它。待處理的喚醒會出現在 Stop hook input 的 session_crons 中。在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 上不可用,其中沒有間隔的 /loop 提示會改為按固定時間表執行 | 否 |
SendMessage | 傳送訊息給 agent team 隊友,或按 agent ID 恢復 subagent。已停止的 subagents 會在背景中自動恢復。結構化的團隊協議訊息需要 agent teams | 否 |
SendUserFile | 將工作階段中的檔案傳送給您,並附上選擇性標題,以便生成的報告、圖表、螢幕擷取畫面或建置的成品可以到達您的裝置,而不是只在文字記錄中提及。自 v2.1.196 起,選擇性的 display 輸入控制呈現方式:render 在用戶端中內聯開啟檔案,attach 僅顯示下載卡片,未設定時用戶端會根據檔案類型決定。當連接了 Remote Control 用戶端或工作階段在受管雲端環境(例如 Claude Code on the web)中執行時可用。傳遞透過 Anthropic 託管的基礎設施執行,因此該工具在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 上不可用 | 否 |
ShareOnboardingGuide | 上傳 ONBOARDING.md 並傳回隊友可以在 Claude Code 中開啟的分享連結。在撰寫指南後從 /team-onboarding 呼叫。適用於 Pro、Max、Team 和 Enterprise 計畫上的 claude.ai 訂閱者 | 是 |
Skill | 在主對話中執行 skill | 是 |
TaskCreate | 在任務清單中建立新任務 | 否 |
TaskGet | 檢索特定任務的完整詳細資訊 | 否 |
TaskList | 列出所有任務及其目前狀態 | 否 |
TaskOutput | (已棄用)檢索背景任務的輸出。建議在任務的輸出檔案路徑上使用 Read | 否 |
TaskStop | 按 ID 終止執行中的背景任務 | 否 |
TaskUpdate | 更新任務狀態、依賴項、詳細資訊或刪除任務 | 否 |
TodoWrite | 管理工作階段任務檢查清單。自 v2.1.142 起預設停用,改用 TaskCreate、TaskGet、TaskList 和 TaskUpdate。設定 CLAUDE_CODE_ENABLE_TASKS=0 以重新啟用 | 否 |
ToolSearch | 當啟用 tool search 時,搜尋並載入延遲工具 | 否 |
WaitForMcpServers | 等待一個或多個仍在背景連接的 MCP servers,以便請求可以使用其工具而無需重新啟動工作階段。當所需的伺服器尚未連接時,Claude 會呼叫它。僅在停用 tool search 時出現,因為啟用時 ToolSearch 會處理等待 | 否 |
WebFetch | 從指定 URL 擷取內容。請參閱 WebFetch 工具行為 | 是 |
WebSearch | 執行網路搜尋。請參閱 WebSearch 工具行為 | 是 |
Workflow | 執行 dynamic workflow:一個在背景協調許多 subagents 並傳回一個統一結果的指令碼 | 是 |
Write | 建立或覆寫檔案。請參閱 Write 工具行為 | 是 |
使用權限規則和 hooks 設定工具
在大多數情況下,Claude 會決定何時使用這些工具,您在與 Claude 互動時不需要自己命名它們。當定義權限和其他設定時,您直接參考工具名稱:- 在設定中的
permissions.allow和permissions.deny,以及/permissions介面 - 在
--allowedTools和--disallowedToolsCLI 旗標 中 - 在 Agent SDK 的
allowedTools和disallowedTools選項中 - 在 subagent 的
tools或disallowedToolsfrontmatter 中 - 在 skill 的
allowed-toolsfrontmatter 中 - 在 hook 的
if條件 中
ToolName(specifier)。specifier 取決於工具,多個工具共享一種格式:
| 規則格式 | 適用於 | 詳細資訊 |
|---|---|---|
Bash(npm run *) | Bash、Monitor | 命令模式匹配 |
PowerShell(Get-ChildItem *) | PowerShell | 命令模式匹配 |
Read(~/secrets/**) | Read、Grep、Glob、LSP | 路徑模式匹配 |
Edit(/src/**) | Edit、Write、NotebookEdit | 路徑模式匹配 |
Skill(deploy *) | Skill | Skill 名稱匹配 |
Agent(Explore) | Agent | Subagent 類型匹配 |
WebFetch(domain:example.com) | WebFetch | 網域匹配 |
WebSearch | WebSearch | 無 specifier;允許或拒絕整個工具 |
ExitPlanMode 或 ShareOnboardingGuide,僅接受不帶 specifier 的裸工具名稱。
Edit(...) 允許規則也授予對相同路徑的讀取存取權,因此您不需要匹配的 Read(...) 規則。
Hook matcher 欄位使用裸工具名稱,而不是括號括起的規則格式。請參閱 matcher 模式 以了解匹配規則。如需每個工具在 hooks 中傳遞給 tool_input 的欄位名稱,請參閱 PreToolUse 輸入參考。
Agent 工具行為
Agent 工具在單獨的 context window 中生成一個 subagent。subagent 自主地完成其任務,然後將單個文字結果傳回父對話。父對話看不到 subagent 的中間工具呼叫或輸出,只看到最終結果。若要限制 subagent 執行的轉數,請在 subagent 定義 中設定maxTurns。
相同的 Agent 工具也會在啟用 fork 模式時啟動 forked subagents。fork 繼承完整的父對話,而不是從頭開始,始終在背景執行,並仍在您的終端中顯示權限提示。本節的其餘部分描述命名的 subagents。
命名的 subagent 可以使用哪些工具取決於 subagent 定義 中的 tools 和 disallowedTools 欄位:
- 兩個欄位都未設定:subagent 繼承父對話可用的每個工具。
- 僅
tools:subagent 僅獲得列出的工具。 - 僅
disallowedTools:subagent 獲得除列出的工具外的每個父工具。 - 兩者都設定:
disallowedTools優先。同時列在兩者中的工具會被移除。
- 前景 subagents 顯示您在主對話中會看到的相同權限提示,在每個工具呼叫發生時。
- 背景 subagents 自 v2.1.186 起在您的主要工作階段中顯示權限提示。提示會指出哪個 subagent 在要求,按下 Esc 會拒絕該單一工具呼叫,而不會停止 subagent。在 v2.1.186 之前,背景 subagents 會自動拒絕任何否則會提示的工具呼叫,並在沒有該工具的情況下繼續。
tools 欄位、將 Bash 排除在清單之外,或在您的設定中設定拒絕規則,如 控制 subagent 功能 中所述。如需有關選擇前景或背景的更多資訊,請參閱 在前景或背景中執行 subagents。
Bash 工具行為
Bash 工具在單獨的程序中執行每個命令,具有以下持久性行為:- 當 Claude 在主工作階段中執行
cd時,只要新的工作目錄保持在專案目錄內或您使用--add-dir、/add-dir或設定中的additionalDirectories新增的 額外工作目錄 內,新的工作目錄就會延續到後續的 Bash 命令。Subagent 工作階段永遠不會延續工作目錄變更。- 如果
cd落在這些目錄之外,Claude Code 會重設為專案目錄,並將Shell cwd was reset to <dir>附加到工具結果。 - 若要停用此延續,使每個 Bash 命令都在專案目錄中啟動,請設定
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1。
- 如果
- 環境變數不持久化。一個命令中的
export在下一個命令中將不可用。 - 在您的 shell 啟動檔案中定義的別名和 shell 函式可用。在工作階段開始時,Claude Code 會來源
~/.zshrc、~/.bashrc或~/.profile(取決於您的 shell),擷取產生的別名、函式和 shell 選項,並將其應用於每個 Bash 命令。
CLAUDE_ENV_FILE 設定為 shell 指令碼,或使用 SessionStart hook 動態填充它。
兩個限制限制每個命令:
- 逾時:預設為兩分鐘。Claude 可以使用
timeout參數要求每個命令最多 10 分鐘。使用BASH_DEFAULT_TIMEOUT_MS和BASH_MAX_TIMEOUT_MS覆寫預設值和上限。 - 輸出長度:預設為 30,000 個字元。當命令產生超過該值的輸出時,Claude Code 會將完整輸出儲存到工作階段目錄中的檔案,並給予 Claude 檔案路徑加上開始處的簡短預覽。Claude 在需要其餘部分時讀取或搜尋該檔案。使用
BASH_MAX_OUTPUT_LENGTH提高限制,最高可達 150,000 個字元的硬上限。
run_in_background: true 以將命令作為背景任務啟動,並在其執行時繼續工作。使用 /tasks 列出和停止背景任務。
Edit 工具行為
Edit 工具執行確切的字串替換。它採用old_string 和 new_string 並用第二個替換第一個。它不使用正規表達式或模糊匹配。
三個檢查必須通過才能應用編輯:
- 編輯前讀取:Claude 必須在目前對話中讀取檔案,且檔案自該讀取後不得在磁碟上變更。此檢查首先執行,在任何字串匹配之前。
- 匹配:
old_string必須在檔案中完全按照撰寫方式出現。單個空白字元或縮排差異足以導致不匹配。 - 唯一性:
old_string必須恰好出現一次。當它出現多次時,Claude 要麼提供更長的字串,其周圍有足夠的上下文來確定一個出現,要麼設定replace_all: true以替換所有出現。
cat、head、tail、sed -n 'X,Yp'、grep、egrep 或 fgrep 在單個檔案上,沒有管道或重定向時。管道輸出和其他 Bash 命令不計算,Claude 在這些情況下必須在編輯前使用 Read。
這僅影響編輯資格,不影響權限。Read 和 Edit 拒絕規則 也適用於 Claude Code 在 Bash 中識別的檔案命令,例如 cat、head、tail、sed 和 grep,但不適用於間接讀取或寫入檔案的任意子程序,例如自己開啟檔案的 Python 或 Node 指令碼。識別用於拒絕規則的命令集與上述編輯前讀取清單不同:例如,egrep 和 fgrep 計算編輯前讀取但不針對 Read 拒絕規則進行檢查。如需涵蓋每個程序的作業系統級別強制執行,請 啟用沙箱。
Glob 工具行為
Glob 工具按名稱模式查找檔案。它支援標準 glob 語法,包括** 用於遞迴目錄匹配:
**/*.js匹配任何深度的所有.js檔案src/**/*.ts匹配src/下的所有.ts檔案*.{json,yaml}匹配目前目錄中的.json和.yaml檔案
.gitignore,因此它會找到 gitignored 檔案以及追蹤的檔案。這與 Grep 不同,後者跳過 gitignored 檔案。若要讓 Glob 尊重 .gitignore,請在啟動 Claude Code 之前設定 CLAUDE_CODE_GLOB_NO_IGNORE=false。
Grep 工具行為
Grep 工具在檔案內容中搜尋模式。其中 Glob 按名稱查找檔案,Grep 在其中查找行。 Grep 建立在 ripgrep 上,使用 ripgrep 的正規表達式語法,而不是 POSIX grep。包含正規表達式元字元的模式需要轉義。例如,在 Go 程式碼中查找interface{} 需要模式 interface\{\}。
三個輸出模式控制返回的內容:
files_with_matches:僅檔案路徑,無行內容。這是預設值。content:匹配的行,帶有檔案和行號。count:每個檔案的匹配計數。
glob 參數(例如 **/*.tsx)按檔案限制結果,或使用 type 參數(例如 py 或 rust)按語言限制結果。預設情況下,模式在單行內匹配。Claude 可以設定 multiline: true 以跨行邊界匹配。
Grep 尊重 .gitignore,因此 gitignored 檔案會被跳過。若要搜尋 gitignored 檔案,Claude 直接傳遞其路徑。
LSP 工具行為
LSP 工具從執行中的語言伺服器為 Claude 提供程式碼智慧。在每次檔案編輯後,它會自動報告型別錯誤和警告,以便 Claude 可以在沒有單獨建置步驟的情況下修復問題。Claude 也可以直接呼叫它來導航程式碼:- 跳轉到符號的定義
- 尋找符號的所有參考
- 取得位置的型別資訊
- 列出檔案中的符號
- 在工作區中按名稱搜尋符號
- 尋找介面的實作
- 追蹤呼叫階層
Monitor 工具
Monitor 工具需要 Claude Code v2.1.98 或更新版本。
- 追蹤日誌檔案並在錯誤出現時標記
- 輪詢 PR 或 CI 工作,並在其狀態變更時報告
- 監視目錄以查看檔案變更
- 追蹤您指向的任何長時間執行指令碼的輸出
- 連接到 WebSocket 摘要並在每條訊息到達時報告
allow 和 deny 模式也適用於此處。WebSocket 來源有其自己的核准提示。
該工具在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 上不可用。當設定 DISABLE_TELEMETRY 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 時,它也不可用。
外掛可以宣告在外掛啟用時自動啟動的監視,而不是要求 Claude 啟動它們。請參閱 外掛監視。
WebSocket 來源
WebSocket 來源需要 Claude Code v2.1.195 或更新版本。
- 文字訊息:每一條都變成一個事件,即使訊息跨越多行。
- 二進位訊息:不會通過。Claude 會收到一個佔位符行,例如
[binary frame, 512 bytes]。 - 大於 1 MiB 的訊息:監視結束,因此請訂閱存在的篩選摘要。
- 套接字關閉:監視結束,Claude 會收到關閉代碼。
ws 輸入代替 command,單一 Monitor 呼叫無法結合兩者。ws 輸入有兩個欄位:
| 欄位 | 必需 | 說明 |
|---|---|---|
url | 是 | 要連接的端點。必須是 ws:// 或 wss:// URL,不含嵌入的認證或空白,僅使用 ASCII 字元 |
protocols | 否 | 在握手期間提供的 WebSocket 子協議名稱。每個項目必須是有效的子協議令牌,清單不能包含重複項 |
timeout_ms 和 persistent 輸入的行為與它們對命令的行為相同:監視在截止時間結束,除非設定 persistent,TaskStop 會提前取消它。
開啟 WebSocket 會提示核准,提示不提供跳過相同主機的未來提示的選項。
Claude Code 拒絕指向私有、連結本地或雲端中繼資料位址的 URL,包括解析為該位址的主機名稱。它也拒絕 sandbox.network.deniedDomains 中的主機,以及當在受管設定中設定 allowManagedDomainsOnly 時,受管允許清單外的任何主機。
NotebookEdit 工具行為
NotebookEdit 一次修改一個 Jupyter notebook 儲存格,按其cell_id 定位儲存格。它不像 Edit 在純文字檔案上那樣跨 notebook 執行字串替換。
三個編輯模式控制目標儲存格發生的情況:
replace:覆寫儲存格的來源。這是預設值。insert:在目標後新增新儲存格。沒有cell_id時,新儲存格位於 notebook 的開始。需要cell_type設定為code或markdown。delete:移除目標儲存格。
Edit(...) 路徑格式。像 Edit(notebooks/**) 這樣的規則涵蓋該目錄中檔案上的 NotebookEdit 呼叫。
PowerShell 工具
PowerShell 工具讓 Claude 原生執行 PowerShell 命令。在 Windows 上,這表示命令在 PowerShell 中執行,而不是透過 Git Bash 路由。在沒有 Git Bash 的 Windows 上,該工具會自動啟用。在安裝了 Git Bash 的 Windows 上,該工具正在逐步推出。在 Linux、macOS 和 WSL 上,該工具是選擇加入的。啟用 PowerShell 工具
在您的環境或settings.json 中設定 CLAUDE_CODE_USE_POWERSHELL_TOOL=1:
0 以選擇退出推出。在 Linux、macOS 和 WSL 上,該工具需要 PowerShell 7 或更新版本:安裝 pwsh 並確保它在您的 PATH 上。
在 Windows 上,Claude Code 自動偵測 pwsh.exe(PowerShell 7+),並回退到 powershell.exe(PowerShell 5.1)。啟用該工具時,Claude 將 PowerShell 視為主要 shell。當安裝了 Git Bash 時,Bash 工具仍可用於 POSIX 指令碼。
Claude Code 使用 -ExecutionPolicy Bypass 在程序範圍內生成 PowerShell,因此 .ps1 指令碼和模組匯入可在預設 Windows 安裝上運作,無需變更機器的原則。程序範圍的略過不會覆蓋群組原則 MachinePolicy 或 UserPolicy,因此企業鎖定仍然適用。若要改為尊重機器的有效執行原則,請設定 CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1。
設定、hooks 和 skills 中的 shell 選擇
三個額外的設定控制 PowerShell 的使用位置:settings.json中的"defaultShell": "powershell":透過 PowerShell 路由互動式!命令。需要啟用 PowerShell 工具。- 個別 command hooks 上的
"shell": "powershell":在 PowerShell 中執行該 hook。Hooks 直接生成 PowerShell,因此無論CLAUDE_CODE_USE_POWERSHELL_TOOL如何,這都有效。 - skill frontmatter 中的
shell: powershell:在 PowerShell 中執行!`command`區塊。需要啟用 PowerShell 工具。
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR 環境變數。
自 v2.1.196 起,PowerShell 工具符合 Bash 工具對搜尋和 diff 結束代碼的處理方式。來自 grep、egrep、fgrep 和 git grep 的結束代碼 1 表示沒有符合項目,來自 git diff 的結束代碼 1 表示存在差異,因此這些結果不會作為命令失敗報告給 Claude。
預覽限制
PowerShell 工具在預覽期間有以下已知限制:- PowerShell 設定檔未載入
- 在 Windows 上,不支援 sandboxing
Read 工具行為
Read 工具採用檔案路徑並傳回帶有行號的內容。Claude 被指示始終傳遞絕對路徑。 預設情況下,Read 從開始傳回檔案。當整個檔案讀取超過令牌限制時,Read 傳回第一頁並附帶PARTIAL view 通知,告訴 Claude 它收到了多少檔案內容以及如何使用 offset 和 limit 讀取更多內容。傳遞明確的 offset 或 limit 且仍然超過令牌限制的讀取會傳回錯誤。
Read 處理純文字以外的多種檔案類型:
- 影像:PNG、JPG 和其他影像格式作為 Claude 可以看到的視覺內容傳回,而不是原始位元組。Claude Code 在傳送前調整大小並重新壓縮大型影像以適應模型的影像大小限制,因此 Claude 可能會看到大型螢幕截圖的縮小版本。自 v2.1.196 起,在調整大小後仍然大於 500KB 的影像會以降低品質的 JPEG 重新編碼,其像素尺寸保持不變。如果 Claude 在大型影像中遺漏細微的像素級詳細資訊,請要求它先裁剪感興趣的區域,例如使用 ImageMagick 透過 Bash。
- PDF:Claude 完整讀取短
.pdf檔案。對於超過 10 頁的 PDF,它使用pages參數(例如"1-5")按範圍讀取,一次最多 20 頁。 - Jupyter notebooks:
.ipynb檔案傳回所有儲存格及其輸出,包括程式碼、markdown 和視覺化。
ls 列出目錄內容。
WebFetch 工具行為
WebFetch 採用 URL 和描述要提取內容的提示。它擷取頁面,當伺服器傳回 HTML 時將回應轉換為 Markdown,並使用小型快速模型針對內容執行提示。對於大多數擷取,Claude 會收到該模型的答案,而不是原始頁面。轉換步驟不可設定。 這使 WebFetch 在設計上是有損的。提取提示決定了到達 Claude 的內容,因此說頁面未提及某事的結果可能只是意味著提示未詢問它。要求 Claude 使用更具體的提示再次擷取,或使用透過 Bash 的curl 獲取未處理的頁面。
一些行為塑造了 Claude 接收的回應:
- HTTP URL 會自動升級為 HTTPS。
- 大型頁面在處理前被截斷為固定字元限制。
- 回應會快取 15 分鐘,因此相同 URL 的重複擷取會快速傳回。
- 當 URL 重定向到不同的主機時,WebFetch 傳回文字結果,命名原始 URL 和重定向目標,而不是跟隨它。Claude 然後使用第二個 WebFetch 呼叫擷取新 URL。
acceptEdits 權限模式中,WebFetch 在首次到達新網域時提示,但有一組內建的預先核准文件網域除外,這些網域無需提示即可擷取。若要提前允許另一個網域而不提示,請新增像 WebFetch(domain:example.com) 這樣的權限規則。auto 和 bypassPermissions 權限模式 完全跳過提示。
deny、ask 或 allow 中的明確 WebFetch(domain:...) 規則優先於預先核准的集合,因此您可以封鎖預先核准的網域或要求提示。
WebFetch 設定以 Claude-User 開頭的 User-Agent 標頭,以及偏好 Markdown 而不是 HTML 的 Accept 標頭,以便支援內容協商的伺服器可以直接傳回 Markdown。Sandbox 網路規則是單獨設定的,因此您希望沙箱程序到達的網域仍需要明確的沙箱權限規則。
WebSearch 工具行為
WebSearch 針對 Anthropic 的 web search 後端執行查詢,並傳回結果標題和 URL。它不擷取結果頁面。若要讀取 Claude 在搜尋結果中找到的頁面,它會跟進 WebFetch。 該工具可能在傳回結果之前發出最多八個後端搜尋,在內部精煉搜尋。Claude 可以使用allowed_domains 限制結果以僅包含某些主機,或使用 blocked_domains 排除它們。這兩個清單不能在單個呼叫中組合。
搜尋後端不可設定。若要使用不同的提供者進行搜尋,請新增公開搜尋工具的 MCP server。
WebSearch 權限規則不採用 specifier。allow 或 deny 中的裸 WebSearch 項目是唯一的形式。
WebSearch 在 Claude API 和 Microsoft Foundry 上可用。在 Google Cloud Vertex AI 上,它適用於 Claude 4 模型,包括 Opus、Sonnet 和 Haiku。Amazon Bedrock 不公開伺服器端 web search 工具。
Write 工具行為
Write 工具建立新檔案或使用提供的完整內容覆寫現有檔案。它不附加或合併。 如果目標路徑已存在,Claude 必須在目前對話中至少讀取過該檔案一次才能覆寫它。寫入未讀的現有檔案會失敗並出現錯誤。此限制不適用於新檔案。 使用 Bash 檢視檔案也滿足此要求,如 Edit 工具行為 中所述的相同規則。 對於現有檔案的部分變更,Claude 使用 Edit 而不是 Write。檢查哪些工具可用
您的確切工具集取決於您的提供者、平台和設定。若要檢查在執行中的工作階段中載入了什麼,請直接詢問 Claude:/mcp。
advisor tool 是一個 server tool,由 API 執行,而不是 Claude Code 實作的工具。它沒有您可以在權限規則或 hook 匹配器中參考的名稱。
另請參閱
- MCP servers:透過連接外部伺服器新增自訂工具
- 權限:權限系統、規則語法和工具特定模式
- Subagents:為 subagents 設定工具存取
- Hooks:在工具執行前後執行自訂命令