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 还可以直接调用它来导航代码:

  • 跳转到符号的定义
  • 查找对符号的所有引用
  • 获取位置处的类型信息
  • 列出文件或工作区中的符号
  • 查找接口的实现
  • 追踪调用层次结构

该工具在您为您的语言安装 code intelligence plugin 之前处于非活动状态。该插件捆绑了语言服务器配置,您需要单独安装服务器二进制文件。

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 启动它们。请参阅 plugin monitors。

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:在工具执行前后运行自定义命令