Built-in Tools
This catalog focuses on the stable built-in tool surface used in the main query loop. Feature-gated, test-only, and runtime-generated wrappers are documented in the Tool Definitions appendix instead.
ReadFileReadTool
Reads file contents with line numbers. Supports text, images, PDFs, notebooks.
read-onlyconcurrent-safe
WriteFileWriteTool
Creates new files or completely overwrites existing ones.
needs approval
EditFileEditTool
Exact string replacements in files. Requires old_string to be unique.
needs approval
GlobGlobTool
Fast file pattern matching. Returns paths sorted by modification time.
read-onlyconcurrent-safe
GrepGrepTool
Content search powered by ripgrep. Supports regex and output modes.
read-onlyconcurrent-safe
NotebookEditNotebookEditTool
Edits Jupyter notebook cells.
needs approval
BashBashTool
Executes shell commands. Most powerful and carefully guarded tool.
needs approvaldestructive
PowerShellPowerShellTool
Windows equivalent of Bash (disabled on macOS/Linux).
needs approvaldestructive
WebSearchWebSearchTool
Searches the web and returns results.
read-onlyconcurrent-safe
WebFetchWebFetchTool
Fetches content from a URL. Handles HTML, JSON, plain text.
read-onlyconcurrent-safe
AgentAgentTool
Spawns a sub-agent with its own conversation and filtered tools.
internal
SendMessageSendMessageTool
Sends a message to a running sub-agent.
internal
TaskCreateTaskCreateTool
Creates a background task with subject and description.
internal
TaskUpdateTaskUpdateTool
Updates a task's status or details.
internal
TaskListTaskListTool
Lists all active tasks.
read-onlyinternal
TaskGetTaskGetTool
Gets details of a specific task.
read-onlyinternal
TaskOutputTaskOutputTool
Retrieves output from a running or completed task.
read-onlyinternal
TaskStopTaskStopTool
Stops a running task.
internal
TodoWriteTodoWriteTool
Manages the session task checklist.
internal
EnterPlanModeEnterPlanModeTool
Switches to plan mode β model creates a plan before executing.
internal
ExitPlanModeExitPlanModeTool
Exits plan mode and begins execution.
internal
EnterWorktreeEnterWorktreeTool
Creates an isolated git worktree for safe experimentation.
internal
ExitWorktreeExitWorktreeTool
Exits a worktree session (keep or remove).
internal
ListMcpResourcesListMcpResourcesTool
Lists resources available from connected MCP servers.
read-onlyconcurrent-safeinternal
ReadMcpResourceReadMcpResourceTool
Reads a specific MCP resource by URI.
read-onlyinternal
SkillSkillTool
Executes a loaded skill (prompt template).
internal
ToolSearchToolSearchTool
Searches for deferred tools by keyword, returns full schemas.
read-onlyinternal
AskUserQuestionAskUserQuestionTool
Asks the user multiple choice questions.
internal
ConfigConfigTool
Gets or sets Claude Code configuration.
internal
SleepSleepTool
Waits for a specified duration. Used for polling patterns.
internal
LSPLspTool
Language Server Protocol operations for code intelligence.
read-onlyinternal
TeamCreateTeamCreateTool
Creates a multi-agent swarm team.
internal
TeamDeleteTeamDeleteTool
Cleans up a swarm team.
internal
RemoteTriggerRemoteTriggerTool
Manages scheduled remote agent triggers.
internal
CronCreateScheduleCronTool
Schedules a prompt to run on a cron schedule.
internal
CronDeleteScheduleCronTool
Cancels a scheduled cron job.
internal
CronListScheduleCronTool
Lists active cron jobs.
read-onlyinternal
Tool Availability by Agent Typeβ
Not all agents have access to all tools. Sub-agents get filtered tool sets:
| Agent Type | Available Tools |
|---|---|
general-purpose | All tools |
Explore | Read-only tools (Read, Glob, Grep, WebFetch, WebSearch) β no Edit, Write, Bash |
Plan | Read-only tools β no Edit, Write, Bash |
code-simplifier | All tools |
Key Source Filesβ
| File / Directory | Purpose |
|---|---|
src/tools.ts | Base registry via getAllBaseTools(); this is the main source of truth for built-in tool availability |
src/tools/ | Tool implementations for file, shell, web, agent, task, planning, and infrastructure tools |
src/services/mcp/client.ts | Runtime wrapping of MCP server tools into mcp__{server}__{tool} names |
src/tools/SyntheticOutputTool/ | SDK-only synthetic structured-output tool, documented separately from the base registry |