Tools reference
Complete reference for the tools Claude Code can use, including permission requirements and per-tool behavior.
Claude Code has access to a set of built-in tools that help it understand and modify your codebase. The tool names are the exact strings you use in permission rules, subagent tool lists, and hook matchers.
To control which tools Claude can use and when it asks first, configure permission rules in your settings, hooks, or a subagent's tool list. See Configure tools with permission rules and hooks for each place that accepts a tool name.
To add custom tools, connect an MCP server. To extend Claude with reusable prompt-based workflows, write a skill, which runs through the existing Skill tool rather than adding a new tool entry.
On Pro, Max, and Team plans, Claude Code starts sessions in auto mode, where a classifier decides most of these prompts instead of you. The Permission required column shows whether the tool prompts in Manual mode for paths inside the working directory. File-access tools marked No, including Read, Grep, and Glob, still prompt for paths outside the working directory and additional directories. Bash is marked Yes but runs a built-in set of read-only commands without prompting.
| Tool | Description | Permission required |
|---|---|---|
Agent | Spawns a subagent with its own context window to handle a task. With agent teams enabled, a call that carries a name can launch a teammate instead. See Agent tool behavior | No |
Artifact | Publishes an HTML or Markdown file as an artifact: a private, interactive page on claude.ai. You can share it with a public link, or inside your organization on Team and Enterprise plans, where public sharing requires an Owner to enable it. Requires a Pro, Max, Team, or Enterprise plan and /login authentication; see Availability | Yes |
AskUserQuestion | Asks multiple-choice questions to gather requirements or clarify ambiguity. Questions stay open until you answer them by default. See AskUserQuestion tool behavior | No |
Bash | Executes shell commands in your environment. See Bash tool behavior | Yes |
CronCreate | Schedules a recurring or one-shot prompt within the current session. Tasks are session-scoped and restored on --resume or --continue if unexpired. See scheduled tasks | No |
CronDelete | Cancels a scheduled task by ID | No |
CronList | Lists all scheduled tasks in the session | No |
Edit | Makes targeted edits to specific files. See Edit tool behavior | Yes |
EndConversation | Ends the session, in rare cases of sustained abusive input or when you ask Claude to demonstrate the tool. Requires Claude Code v2.1.213 or later. See EndConversation tool behavior | No |
EnterPlanMode | Switches to plan mode to design an approach before coding | No |
EnterWorktree | Creates an isolated git worktree and switches into it. Pass a path to switch into an existing worktree instead of creating a new one. On first entry the target may be a worktree of the current repository or, in a multi-repo workspace, of a repository nested inside it. Before v2.1.203, a nested repository's worktree was rejected. A path outside .claude/worktrees/ prompts for your approval before entering, since it moves the session's working directory and write access to that location. New-worktree creation and paths under .claude/worktrees/ don't prompt. Before v2.1.206, Claude entered paths outside .claude/worktrees/ without a prompt. From within a worktree session, or from a subagent with a pinned working directory such as isolation: worktree, only the path form is available and the target must be under .claude/worktrees/ of the session's repository | Yes |
ExitPlanMode | Presents a plan for approval and exits plan mode | Yes |
ExitWorktree | Exits a worktree session and returns to the original directory. Not available to subagents that already run in their own working directory, such as with isolation: worktree | No |
Glob | Finds files based on pattern matching. See Glob tool behavior | No |
Grep | Searches for patterns in file contents. See Grep tool behavior | No |
ListAgents | Lists the agents Claude can message with SendMessage: subagents in the session, agent team teammates, your other local Claude Code sessions, and, while this session is connected to Remote Control, your Claude Code on the web sessions and your Remote Control sessions on other machines. Backs the /list-agents command. See cross-session messaging. Requires Claude Code v2.1.224 or later, and appears only in sessions where cross-session messaging is enabled. Teammate rows and the first line showing this session's own name require v2.1.239 or later | No |
ListMcpResourcesTool | Lists resources exposed by connected MCP servers | No |
LSP | Code intelligence via language servers: jump to definitions, find references, report type errors and warnings. See LSP tool behavior | No |
Monitor | Runs a command in the background and feeds each output line back to Claude, so it can react to log entries, file changes, or polled status mid-conversation. Can also open a WebSocket and treat each incoming message as an event. See Monitor tool | Yes |
NotebookEdit | Modifies Jupyter notebook cells. See NotebookEdit tool behavior | Yes |
PowerShell | Executes PowerShell commands natively. See PowerShell tool for availability | Yes |
PushNotification | Sends a desktop notification, and a phone push when Remote Control is connected, so a long-running task or scheduled task can reach you when you step away. Push delivery runs through Anthropic-hosted infrastructure, which is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No |
Read | Reads the contents of files. See Read tool behavior | No |
ReadMcpResourceTool | Reads a specific MCP resource by URI | No |
RemoteTrigger | Creates, updates, runs, and lists Routines on claude.ai. Backs the /schedule command. The RemoteTrigger input reference documents every action and the organization policies that remove the tool. Routines live on claude.ai and require a Pro, Max, Team, or Enterprise plan, so this tool is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No |
ReportFindings | Reports code-review findings as a structured list, with a file, summary, and failure scenario per finding, so Claude Code can render them instead of printing them as text. Claude calls it when active code-review instructions tell it to. Requires Claude Code v2.1.196 or later. As of v2.1.199, a finding can also carry an optional category slug, such as correctness or test-coverage, shown next to the file location in the rendered list | No |
ScheduleWakeup | Reschedules the next iteration of a self-paced /loop. Claude calls this at the end of each iteration to pick when the next one runs, between one minute and one hour out; you don't call it directly. To end the loop instead, Claude calls it with stop: true, which cancels the pending wakeup. The stop field requires Claude Code v2.1.202 or later. The pending wakeup appears in session_crons in Stop hook input | No |
SendFeedback | Drafts a feedback report about Claude Code, covering a product problem or Claude's own behavior in the session, and queues it on your machine for you to review. Claude Code sends nothing until you choose to send the draft. See SendFeedback tool behavior. Requires Claude Code v2.1.238 or later | No |
SendMessage | Sends a message to another agent: an agent team teammate, a subagent it resumes by agent ID or name, or one of your other Claude Code sessions, on this machine or beyond it. Messaging other sessions requires Claude Code v2.1.224 or later. Cross-session messaging covers which sessions Claude can reach, what a message looks like when it arrives, and how Claude gets a notice when another session goes idle. Claude can include an optional summary input, typically 5-10 words, that Claude Code shows as a one-line preview. When Claude omits it on a plain-text message, Claude Code uses the first line of the message as the summary. Claude Code truncates a summary longer than 200 characters with an ellipsis | No |
SendUserFile | Sends files from the session to you with an optional caption, so a generated report, diagram, screenshot, or built artifact reaches your device instead of only being mentioned in the transcript. As of v2.1.196, the optional display input controls presentation: render opens the file inline in the client, attach shows a download card only, and when unset the client decides by file type. Available when a Remote Control client is connected or the session runs in a managed cloud environment such as Claude Code on the web. Delivery runs through Anthropic-hosted infrastructure, so the tool is not available on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry | No |
ShareOnboardingGuide | Uploads ONBOARDING.md and returns a share link teammates can open in Claude Code. Called from /team-onboarding after the guide is written. Available to claude.ai subscribers on Pro, Max, Team, and Enterprise plans | Yes |
Skill | Executes a skill within the main conversation | Yes |
TaskCreate | Creates a new task in the task list. Provided by default only on the models listed under Task tool availability, and on other models when you opt in | No |
TaskGet | Retrieves full details for a specific task. Provided by default only on the models listed under Task tool availability, and on other models when you opt in | No |
TaskList | Lists all tasks with their current status. Provided by default only on the models listed under Task tool availability, and on other models when you opt in | No |
TaskOutput | Retrieves output from a background task. Deprecated in favor of Read on the task's output file path. When no task matches the ID, the error lists the running background agents by ID and description. Before v2.1.203, the error named only the missing ID | No |
TaskStop | Stops a running background task by ID. It also accepts an agent-team teammate or a named background agent by agent ID or name. Before v2.1.198, it accepted only a background task ID. When no task matches the ID, the error lists the running background agents by ID and description, including agents that another agent spawned. Before v2.1.203, the error listed running teammates and named agents but not background agents another agent spawned, so those couldn't be identified or stopped from the main conversation | No |
TaskUpdate | Updates task status, dependencies, details, or deletes tasks. Provided by default only on the models listed under Task tool availability, and on other models when you opt in | No |
TodoWrite | Manages the session task checklist. Disabled by default in favor of TaskCreate, TaskGet, TaskList, and TaskUpdate. Set CLAUDE_CODE_ENABLE_TASKS=0 to re-enable it in sessions that have the task-tracking tools | No |
ToolSearch | Searches for and loads deferred tools when tool search is enabled | No |
WaitForMcpServers | Waits for one or more MCP servers that are still connecting in the background, so a request can use their tools without restarting the session. Claude calls it when a needed server isn't connected yet. Only appears when tool search is disabled, since ToolSearch handles the wait when it's enabled | No |
WebFetch | Fetches content from a specified URL. See WebFetch tool behavior | Yes |
WebSearch | Performs web searches. See WebSearch tool behavior | Yes |
Workflow | Runs a dynamic workflow: a script that orchestrates many subagents in the background and returns one consolidated result | Yes |
Write | Creates or overwrites files. See Write tool behavior | Yes |
本篇目录
- Configure tools with permission rules and hooks
- Agent tool behavior
- AskUserQuestion tool behavior
- Bash tool behavior
- Edit tool behavior
- EndConversation tool behavior
- Glob tool behavior
- Grep tool behavior
- LSP tool behavior
- Monitor tool
- NotebookEdit tool behavior
- PowerShell tool
- Read tool behavior
- SendFeedback tool behavior
- Task tool availability
- WebFetch tool behavior
- WebSearch tool behavior
- Write tool behavior
- Check which tools are available
- See also