ailiteracynepal 🇳🇵
Text size

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.
  • 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/**/*.tsx and 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

You want Claude to make a small, precise change to an existing function without rewriting the whole file. Which tool is the right choice?