SpyBara
Go Premium

tools-reference.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

This page contains 148 additions and 0 deletions.

2026
Mon 4 22:58 Mon 11 23:00 Mon 18 23:59

工具參考

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 在背景監視某些內容,並在其變更時做出反應,而無需暫停對話。要求 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:在工具執行前後執行自訂命令