Skip to content

Tools 工具参考

Claude Code 内置工具完整参考。工具名称是在权限规则、子代理工具列表和 hooks matcher 中使用的精确字符串。本页覆盖全部工具一览表(含最新增加的 Monitor、PowerShell、SendMessage、TeamCreate/TeamDelete)、Bash 和 LSP 工具行为说明、Monitor 后台监控用法、PowerShell Windows 原生工具的启用与限制,以及如何查询当前会话可用工具。

Claude Code 内置了一系列工具,用于理解和修改你的代码库。工具名称是在权限规则子代理工具列表hooks matcher 中使用的精确字符串。要完全禁用某个工具,在权限设置deny 数组中加入工具名。要添加自定义工具,连接 MCP 服务器。要以可复用的 prompt 工作流扩展 Claude,编写 skill——skill 通过现有的 Skill 工具运行,而不是新增工具条目。

工具一览

工具说明需要权限
Agent生成子代理,在独立上下文窗口中执行任务
AskUserQuestion向用户提多选题,收集需求或澄清歧义
Bash在你的环境中执行 shell 命令。参见 Bash 工具行为
CronCreate在当前会话内创建定时/一次性提示词(Claude 退出后消失)。参见定时任务
CronDelete通过 ID 取消定时任务
CronList列出当前会话的所有定时任务
Edit对指定文件做目标性编辑
EnterPlanMode切换到计划模式,先设计方案再写代码
EnterWorktree创建独立的 git worktree 并切换进去。也可传入 path 切换到当前仓库已有的 worktree
ExitPlanMode展示计划供审批,然后退出计划模式
ExitWorktree退出 worktree 会话,返回原始目录
Glob按 glob 模式匹配查找文件
Grep在文件内容中搜索模式
ListMcpResourcesTool列出已连接 MCP 服务器暴露的资源
LSP代码智能(via 语言服务器):跳转定义、查找引用、报告类型错误和警告。参见 LSP 工具行为。需要代码智能插件
Monitor在后台运行命令,将每行输出反馈给 Claude,让它能在对话过程中响应日志条目、文件变化或轮询状态。参见 Monitor 工具
NotebookEdit修改 Jupyter notebook 单元格
PowerShell在 Windows 上执行 PowerShell 命令(需选择性启用预览功能)。参见 PowerShell 工具
Read读取文件内容
ReadMcpResourceTool通过 URI 读取特定 MCP 资源
SendMessage代理团队成员发送消息,或通过 agent ID 恢复子代理。已停止的子代理会在后台自动恢复。仅当设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 时可用
Skill在主对话中执行 skill
TaskCreate在任务列表中创建新任务
TaskGet获取特定任务的完整详情
TaskList列出所有任务及当前状态
TaskOutput(已废弃)获取后台任务输出。建议改用 Read 工具直接读任务输出文件路径
TaskStop通过 ID 终止正在运行的后台任务
TaskUpdate更新任务状态、依赖、详情,或删除任务
TeamCreate创建含多个成员的代理团队。仅当设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 时可用
TeamDelete解散代理团队并清理成员进程。仅当设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 时可用
TodoWrite管理会话任务清单。用于非交互模式和 Agent SDK;交互式会话使用 TaskCreate/TaskGet/TaskList/TaskUpdate
ToolSearch搜索并加载延迟工具(启用了 MCP 工具搜索时)
WebFetch从指定 URL 获取内容
WebSearch执行网络搜索
Write创建或覆盖文件

权限规则可以通过 /permissions 或在权限设置中配置。参见工具特定权限规则


Bash 工具行为

Bash 工具在独立进程中执行每个命令,有以下持久化特性:

  • 工作目录:Claude 在主会话中执行 cd 后,新目录会延续到后续 Bash 命令——前提是目标目录在项目目录或通过 --add-dir/add-diradditionalDirectories 设置添加的额外目录之内。子代理会话的工作目录变更不会延续。
    • 如果 cd 落在这些目录之外,Claude Code 会重置到项目目录,并在工具结果中追加 Shell cwd was reset to <dir>
    • 设置 CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1 可禁用这种延续,使每条 Bash 命令都从项目目录开始。
  • 环境变量不持久化:在一个命令里 export 的变量,在下一个命令中不可用。

在启动 Claude Code 之前激活 virtualenv 或 conda 环境。要让环境变量跨 Bash 命令持久化,在启动前将 CLAUDE_ENV_FILE 指向一个 shell 脚本,或者用 SessionStart hook 动态填充。


LSP 工具行为

LSP 工具通过运行中的语言服务器为 Claude 提供代码智能。每次文件编辑后,它会自动报告类型错误和警告,让 Claude 无需单独执行构建步骤即可修复问题。Claude 也可以直接调用 LSP:

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

安装适用于你的语言的代码智能插件后,工具才会激活。插件包含语言服务器配置,服务器二进制文件需单独安装。


Monitor 工具

Monitor 工具让 Claude 在后台监控某个事物,发生变化时作出响应,无需暂停对话。可以要求 Claude:

  • 追踪日志文件,发现错误时立即提示
  • 轮询 PR 或 CI 任务,状态变化时上报
  • 监控目录的文件变化
  • 追踪你指定的任意长时间运行脚本的输出

Claude 会为监控编写一个小脚本,在后台运行,并在每行输出到达时接收。你在同一会话中继续工作,Claude 会在事件发生时插入提示。要停止监控,可让 Claude 取消,或结束会话。

Monitor 使用与 Bash 相同的权限规则,你为 Bash 设置的 allowdeny 规则同样适用。

Monitor 在 Amazon Bedrock、Google Vertex AI 和 Microsoft Foundry 上不可用。设置了 DISABLE_TELEMETRYCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 时也不可用。


PowerShell 工具

在 Windows 上,Claude Code 可以原生运行 PowerShell 命令,而不必通过 Git Bash 路由。这是一个需要选择性启用的预览功能。

启用 PowerShell 工具

在环境变量或 settings.json 中设置 CLAUDE_CODE_USE_POWERSHELL_TOOL=1

json
{
  "env": {
    "CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
  }
}

Claude Code 会自动检测 pwsh.exe(PowerShell 7+),回退到 powershell.exe(PowerShell 5.1)。Bash 工具仍与 PowerShell 工具并行注册,所以可能需要明确告诉 Claude 使用 PowerShell。

在 settings、hooks 和 skills 中选择 shell

三个额外设置控制 PowerShell 的使用范围:

  • settings.json"defaultShell": "powershell":将交互式 ! 命令路由到 PowerShell。需要先启用 PowerShell 工具。
  • 单个命令 hook 中的 "shell": "powershell":该 hook 在 PowerShell 中运行。hooks 直接启动 PowerShell,不依赖 CLAUDE_CODE_USE_POWERSHELL_TOOL
  • skill frontmatter 中的 shell: powershell:在该 skill 中运行 !`command` 块时使用 PowerShell。需要先启用 PowerShell 工具。

Bash 工具部分描述的主会话工作目录重置行为同样适用于 PowerShell 命令,包括 CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR 环境变量。

预览版限制

PowerShell 工具在预览阶段有以下已知限制:

  • Auto 模式尚不支持 PowerShell 工具
  • PowerShell profile 不会加载
  • 不支持沙箱
  • 仅支持原生 Windows,不支持 WSL
  • 启动 Claude Code 仍需要 Git Bash

查询可用工具

你的工具集取决于提供商、平台和设置。要查看当前会话加载了哪些工具,直接问 Claude:

What tools do you have access to?

Claude 会给出一段对话式说明。要查看精确的 MCP 工具名,运行 /mcp


相关文档

常见问题

Q: Claude Code 有哪些新增工具?

近期新增了 Monitor(后台监控日志/文件变化)、PowerShell(Windows 原生命令执行)、SendMessage/TeamCreate/TeamDelete(实验性代理团队功能)。TaskOutput 已标记为废弃,建议改用 Read 工具读取输出文件路径。

Q: Monitor 工具和 Bash 工具有什么区别?

Bash 工具执行命令并等待结果;Monitor 工具在后台持续运行脚本,实时将每行输出反馈给 Claude,适合监控日志文件、CI 状态、目录变化等需要持续观察的场景。Monitor 在 Bedrock/Vertex/Foundry 上不可用。

Q: 如何在 Windows 上启用 PowerShell 工具?

settings.jsonenv 中设置 CLAUDE_CODE_USE_POWERSHELL_TOOL: "1",Claude Code 会自动检测 pwsh.exe 或 powershell.exe。注意这是预览功能,目前不支持 Auto 模式和沙箱,启动 Claude Code 仍需要 Git Bash。