Chapter 03 · Section I · 12 min read
The tool catalog at a glance
Claude Code ships with a small, opinionated set of built-in tools. This is a map — one paragraph per tool — so you can recognise which one is being invoked when you approve a call and know what you are actually greenlighting.
When Claude Code proposes to do something, the “something” is always a tool call. There is no magic. Understanding the built-in catalog — what each tool does, what it does not do, and where it draws its power — is what turns “I approve a lot of pop-ups” into “I know exactly what is about to happen.”
File tools
Read— pulls the contents of a file into the conversation. Handles text, PDFs, images (via vision), and notebooks. Line numbers are added so subsequent edits can be surgical.Write— creates a new file, or overwrites an existing one wholesale. Only reach for this on new files or full rewrites.Edit— makes an exact string replacement inside an existing file. Fails safely if the target string is not unique. This is the workhorse for surgical changes.NotebookEdit— Jupyter notebook cell-level edits. Same idea as Edit but scoped to a notebook cell.
Shell and search
Bash— runs a shell command in the working directory. The output comes back into the conversation. Long-running commands can be sent to the background.Grep— regex search across the workspace. Fast and precise; the right choice when you know roughly what string to look for.Glob— file-path pattern search.src/**/*.tsxand friends.
Web
WebFetch— pulls the contents of a URL into the conversation. Good for reading a spec, a README, an issue thread.WebSearch— searches the web via a search provider. Good for “how does library X handle Y in version Z” when the answer might not be in the local repo.
Task management
TaskCreate/TaskList/TaskUpdate— a lightweight to-do list that persists across a session. Useful for multi-step work so both you and Claude can see where you are.
Agents
Agent— spawns a subagent with a fresh context, its own tool set, and a briefing prompt. The next chapter is entirely about these.
MCP tools
Beyond the built-ins, you can extend Claude Code with MCP (Model Context Protocol) servers. Each MCP server exposes its own tools — mcp__notion__create-page, mcp__gmail__send, mcp__jira__list-tickets, and so on. From Claude’s point of view they are indistinguishable from built-ins; from yours, they are how you connect the model to your actual working world.
Check your understanding
Quick check
—