工具參考
Claude Code 可以使用的工具的完整參考,包括權限要求。
Claude Code 可以存取一組內建工具,幫助它理解和修改您的程式碼庫。工具名稱是您在 權限規則、subagent 工具清單 和 hook 匹配器 中使用的確切字串。若要完全停用工具,請將其名稱新增到您的 權限設定 中的 deny 陣列。
若要新增自訂工具,請連接 MCP server。若要使用可重複使用的提示型工作流程擴展 Claude,請撰寫 skill,它透過現有的 Skill 工具執行,而不是新增工具項目。
| 工具 | 描述 | 需要權限 |
|---|---|---|
Agent |
生成一個具有自己 context window 的 subagent,以處理任務 | 否 |
AskUserQuestion |
提出多選題以收集需求或澄清歧義 | 否 |
Bash |
在您的環境中執行 shell 命令。請參閱 Bash 工具行為 | 是 |
CronCreate |
在目前工作階段內排程定期或一次性提示。任務的範圍限於工作階段,並在 --resume 或 --continue 時恢復(如果未過期)。請參閱 排程任務 |
否 |
CronDelete |
按 ID 取消排程任務 | 否 |
CronList |
列出工作階段中的所有排程任務 | 否 |
Edit |
對特定檔案進行目標編輯 | 是 |
EnterPlanMode |
切換到 Plan Mode 以在編碼前設計方法 | 否 |
EnterWorktree |
建立隔離的 git worktree 並切換到其中。傳遞 path 以切換到目前儲存庫的現有 worktree,而不是建立新的。不適用於 subagents |
否 |
ExitPlanMode |
提出計畫以供批准並退出 Plan Mode | 是 |
ExitWorktree |
退出 worktree 工作階段並返回原始目錄。不適用於 subagents | 否 |
Glob |
根據模式匹配查找檔案 | 否 |
Grep |
在檔案內容中搜尋模式 | 否 |
ListMcpResourcesTool |
列出連接的 MCP servers 公開的資源 | 否 |
LSP |
透過語言伺服器進行程式碼智慧:跳轉到定義、尋找參考、報告型別錯誤和警告。請參閱 LSP 工具行為 | 否 |
Monitor |
在背景執行命令,並將每個輸出行回饋給 Claude,以便它可以對日誌項目、檔案變更或輪詢狀態做出反應。請參閱 Monitor 工具 | 是 |
NotebookEdit |
修改 Jupyter notebook 儲存格 | 是 |
PowerShell |
原生執行 PowerShell 命令。請參閱 PowerShell 工具 以了解可用性 | 是 |
Read |
讀取檔案的內容 | 否 |
ReadMcpResourceTool |
按 URI 讀取特定 MCP 資源 | 否 |
SendMessage |
傳送訊息給 agent team 隊友,或按 agent ID 恢復 subagent。已停止的 subagents 會在背景中自動恢復。僅在設定 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 時可用 |
否 |
Skill |
在主對話中執行 skill | 是 |
TaskCreate |
在任務清單中建立新任務 | 否 |
TaskGet |
檢索特定任務的完整詳細資訊 | 否 |
TaskList |
列出所有任務及其目前狀態 | 否 |
TaskOutput |
(已棄用)檢索背景任務的輸出。建議在任務的輸出檔案路徑上使用 Read |
否 |
TaskStop |
按 ID 終止執行中的背景任務 | 否 |
TaskUpdate |
更新任務狀態、依賴項、詳細資訊或刪除任務 | 否 |
TeamCreate |
建立具有多個隊友的 agent team。僅在設定 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 時可用 |
否 |
TeamDelete |
解散 agent team 並清理隊友程序。僅在設定 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 時可用 |
否 |
TodoWrite |
管理工作階段任務檢查清單。在非互動模式和 Agent SDK 中可用;互動工作階段改用 TaskCreate、TaskGet、TaskList 和 TaskUpdate | 否 |
ToolSearch |
當啟用 tool search 時,搜尋並載入延遲工具 | 否 |
WebFetch |
從指定 URL 擷取內容 | 是 |
WebSearch |
執行網路搜尋 | 是 |
Write |
建立或覆寫檔案 | 是 |
權限規則可以使用 /permissions 或在 權限設定 中設定。另請參閱 工具特定權限規則。
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在下一個命令中將不可用。
在啟動 Claude Code 之前啟動您的 virtualenv 或 conda 環境。若要讓環境變數在 Bash 命令之間持久化,請在啟動 Claude Code 之前將 CLAUDE_ENV_FILE 設定為 shell 指令碼,或使用 SessionStart hook 動態填充它。
LSP 工具行為
LSP 工具從執行中的語言伺服器為 Claude 提供程式碼智慧。在每次檔案編輯後,它會自動報告型別錯誤和警告,以便 Claude 可以在沒有單獨建置步驟的情況下修復問題。Claude 也可以直接呼叫它來導航程式碼:
- 跳轉到符號的定義
- 尋找符號的所有參考
- 取得位置的型別資訊
- 列出檔案或工作區中的符號
- 尋找介面的實作
- 追蹤呼叫階層
該工具在您安裝您的語言的 程式碼智慧外掛 之前處於非作用中狀態。該外掛包含語言伺服器設定,您需要單獨安裝伺服器二進位檔。
Monitor 工具
Monitor 工具需要 Claude Code v2.1.98 或更新版本。
Monitor 工具讓 Claude 在背景監視某些內容,並在其變更時做出反應,而無需暫停對話。要求 Claude:
- 追蹤日誌檔案並在錯誤出現時標記
- 輪詢 PR 或 CI 工作,並在其狀態變更時報告
- 監視目錄以查看檔案變更
- 追蹤您指向的任何長時間執行指令碼的輸出
Claude 為監視編寫一個小指令碼,在背景執行它,並在每行到達時接收它。您可以在同一工作階段中繼續工作,Claude 會在事件發生時插入。透過要求 Claude 取消監視或結束工作階段來停止監視。
Monitor 使用與 Bash 相同的權限規則,因此您為 Bash 設定的 allow 和 deny 模式也適用於此處。它在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 上不可用。當設定 DISABLE_TELEMETRY 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 時,它也不可用。
外掛可以宣告在外掛啟用時自動啟動的監視,而不是要求 Claude 啟動它們。請參閱 外掛監視。
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:
{
"env": {
"CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
}
}
在 Windows 上,將變數設定為 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 指令碼。
設定、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 工具。
Bash 工具部分中描述的相同主工作階段工作目錄重設行為適用於 PowerShell 命令,包括 CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR 環境變數。
預覽限制
PowerShell 工具在預覽期間有以下已知限制:
- PowerShell 設定檔未載入
- 在 Windows 上,不支援 sandboxing
檢查哪些工具可用
您的確切工具集取決於您的提供者、平台和設定。若要檢查在執行中的工作階段中載入了什麼,請直接詢問 Claude:
What tools do you have access to?
Claude 提供對話摘要。如需確切的 MCP 工具名稱,請執行 /mcp。
另請參閱
- MCP servers:透過連接外部伺服器新增自訂工具
- 權限:權限系統、規則語法和工具特定模式
- Subagents:為 subagents 設定工具存取
- Hooks:在工具執行前後執行自訂命令