Claude Code

工具参考

Claude Code 内置工具、权限规则、Hooks matcher、Bash/Edit/Grep/Agent 等工具行为,以及如何通过 MCP 扩展工具。

Claude Code 的工具名会直接出现在 permissions、Hooks matcher、子代理 tools、Skill allowed-tools 和 CLI flags 里。理解工具名,才能写出可靠的权限和自动化规则。

#常见内置工具

工具用途通常是否需要权限
Read读取文件受 Read deny/allow 影响
Edit精确替换文件内容
Write新建或覆盖文件
Bash运行 shell 命令
PowerShell在 Windows 或启用后运行 PowerShell
Glob按文件名查找
Grep用 ripgrep 搜索内容否,但受 Read 路径规则影响
LSP跳定义、查引用、类型诊断
Agent启动子代理否,子代理内部工具仍按权限判断
Monitor后台监控命令、日志、WebSocket
WebFetch读取网页
WebSearch搜索网页
Skill调用 skill依赖 skill 和规则
Workflow运行动态 workflow

MCP 工具名形如 mcp__server__tool。如果要一次性禁用 MCP,可以用 mcp__* 规则。

#权限规则格式

格式适用工具例子
Bash(pattern)BashMonitorBash(npm run *)
PowerShell(pattern)PowerShellPowerShell(Get-ChildItem *)
Read(path)ReadGrepGlobLSPRead(./docs/**)
Edit(path)EditWriteNotebookEditEdit(./src/**)
Skill(name *)SkillSkill(deploy *)
Agent(name)AgentAgent(Explore)
WebFetch(domain:host)WebFetchWebFetch(domain:docs.example.com)
WebSearchWebSearchWebSearch

Edit(...) allow 通常也授予同路径读取权限。Hook matcher 使用裸工具名,例如 Edit|Write|Bash,不是 Edit(./src/**) 这种权限格式。

#Bash 行为

规则说明
每次 Bash 是单独进程export 的变量不会自动传到下一条命令
cd 可在主会话延续只要仍在项目目录或额外授权目录内
子代理不继承 Bash cwd子代理每条命令按自己的工作目录执行
默认超时约 2 分钟Claude 可请求更长,环境变量可调
长输出会截断完整输出可能保存到 session 文件,Claude 可再读
长任务可后台运行/tasks 查看或停止

想让环境变量长期存在,启动 Claude Code 前先配置 shell,或用 CLAUDE_ENV_FILE / SessionStart hook。

#Edit 行为

Edit 是精确字符串替换,不是模糊 patch。它要通过三个检查:

检查含义
Read-before-edit当前会话里必须读过文件,且读后文件没被外部改过
Matchold_string 必须和文件内容完全一致
Uniqueness默认必须只匹配一次,否则需要更长上下文或 replace_all

用 Bash 看文件不一定算“读过”。简单的 catsed -nheadtail 可能被识别,但带管道、重定向或脚本读取通常不算。稳妥做法是让 Claude 使用 Read。

#Grep / Glob / LSP

工具注意点
Glob找文件名,结果按修改时间排序,默认可能包含 gitignored 文件
Grep基于 ripgrep,默认尊重 .gitignore,正则按 rg 语法
LSP需要安装语言对应的 code intelligence plugin

大仓库里优先用 GrepLSP 定位,再读少量关键文件。这样对上下文和缓存都更友好。

#Agent 工具

Agent 启动 子代理。子代理有自己的上下文窗口和缓存,完成后只把最终结果回传给主会话。

场景建议
大范围调研用子代理隔离文件读取
必须实时依赖结果前台子代理
可并行后台跑后台子代理或 /batch
高风险工具在 subagent frontmatter 里限制 toolsdisallowedTools

子代理启动本身通常不弹权限,但它内部调用 Bash/Edit/Write 时仍按权限规则判断。需要把文件改动隔离到独立目录时,配合 Worktrees 并行工作区

#用 MCP 扩展工具

内置工具解决代码编辑和本地执行。外部系统接入用 MCP:

需求方式
读数据库、Sentry、Linear、GitHub接 MCP server
工具很多开启 tool search 或拆 server
想限制某个 MCP 工具deny: ["mcp__server__tool"]
想观察调用Hook matcher 用 mcp__server__tool

详见 MCP 工具接入

#官方参考

Support / 支持

Need help? / 需要帮助?

接入、计费与模型异常可邮件联系;服务可用性以状态页为准。For setup, billing, or model issues, email us. Check the status page for uptime.

也可使用右下角微信 / QQ 客服 · WeChat / QQ support is available at the bottom right