Claude Code官方文档工具参考BashEdit

Claude Code 工具参考 - Bash / Edit / Read 等内置工具完整列表

Claude Code 可以使用的所有工具的完整参考,包括 Bash、Edit、LSP、Monitor、PowerShell 等及其权限要求。

· 阅读约 12 分钟

工具参考

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 资源
SendMessageagent 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 Code v2.1.98 或更高版本。

Monitor 工具让 Claude 在后台监视某些内容,并在其更改时做出反应,而无需暂停对话。要求 Claude:

  • 跟踪日志文件并在错误出现时标记它们
  • 轮询 PR 或 CI 作业并在其状态更改时报告
  • 监视目录以查找文件更改
  • 跟踪您指向的任何长时间运行脚本的输出

Claude 为监视编写一个小脚本,在后台运行它,并在每行到达时接收它。您可以在同一会话中继续工作,Claude 在事件到达时插入。通过要求 Claude 取消它或结束会话来停止监视。

Monitor 使用与 Bash 相同的权限规则,因此您为 Bash 设置的 allowdeny 模式也适用于此处。它在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 上不可用。当设置了 DISABLE_TELEMETRYCLAUDE_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:在工具执行前后运行自定义命令

本文翻译自 Anthropic Claude Code 官方文档,最近一次同步:2025-05-01。