# Claude Code Tools Claude Code has a number of built-in tools. As of 2026-06-12: | Tool | Description | Permission Required | | --- | --- | --- | | **Agent** | Runs a sub-agent to handle complex, multi-step tasks | No | | **Bash** | Executes shell commands in your environment | Yes | | **Edit** | Makes targeted edits to specific files | Yes | | **Glob** | Finds files based on pattern matching | No | | **Grep** | Searches for patterns in file contents | No | | **LS** | Lists files and directories | No | | **MultiEdit** | Performs multiple edits on a single file atomically | Yes | | **NotebookEdit** | Modifies Jupyter notebook cells | Yes | | **NotebookRead** | Reads and displays Jupyter notebook contents | No | | **Read** | Reads the contents of files | No | | **TaskCreate** | Creates a new task with subject, description, and optional metadata | No | | **TaskGet** | Retrieves a task by ID with full details and dependencies | No | | **TaskList** | Lists all tasks with status, owner, and blockers | No | | **TaskUpdate** | Updates task status, details, or dependencies | No | | **WebFetch** | Fetches content from a specified URL | Yes | | **WebSearch** | Performs web searches with domain filtering | Yes | | **Write** | Creates or overwrites files | Yes | | **AskUserQuestion** | Asks a structured question to the user | No | | **CronCreate** | Schedules a recurring task (5-field cron expression) | No | | **CronList** | Lists all scheduled tasks | No | | **CronDelete** | Cancels a scheduled task by ID | No | | **EnterPlanMode** | Switches to plan mode (read-only) | No | | **ExitPlanMode** | Exits plan mode | No | | **SendMessage** | Sends a message to a running subagent (resume/communicate) | No | | **TaskOutput** | Gets output from a completed task | No | | **TaskStop** | Stops a running task | No | | **LSP** | Language Server Protocol queries (diagnostics, definitions) | No | | **EnterWorktree** | Creates and enters an isolated git worktree | No | | **ExitWorktree** | Leaves and cleans up a git worktree | No | | **RemoteTrigger** | Triggers a remote/scheduled task | No | Tools can be extended via [[Claude Code MCP Integration]] and [[Claude Code Plugins]]. ## Built-in agent types The Agent tool can spawn subagents of different types: | Type | Description | | --- | --- | | **general-purpose** | Full tools, complex multi-step tasks (default) | | **Explore** | Fast read-only codebase exploration (uses Haiku for speed) | | **Plan** | Research and planning for plan mode | | **Bash** | Terminal commands in a separate context | ## Custom agents Define custom agents as `.md` files in `.claude/agents/` or `~/.claude/agents/`. Frontmatter fields: | Field | Description | | --- | --- | | `permissionMode` | default, acceptEdits, plan, dontAsk, bypass | | `isolation` | Set to `worktree` to run in an isolated git worktree | | `memory` | `user` or `project` for persistent memory | | `background` | `true` to run as a background task | | `maxTurns` | Limit the number of agentic turns | | `initialPrompt` | Auto-submit first turn without waiting for input | Use `SendMessage` to communicate with running agents. ## References - Documentation: https://docs.anthropic.com/en/docs/claude-code/common-tasks ## Related - [[Claude Code]] - [[Claude Code Permissions]] - [[Claude Code MCP Integration]]