§03 · Tools & Environment

Tool

Also called Function · Built-in tool

A named capability the harness lets the model invoke, such as reading a file, running a shell command or fetching a page.

A tool is a named capability the harness offers the model: read this file, run this command, search for this pattern, fetch this URL. Each one comes with a description and a parameter schema, and the whole list travels with every model provider request. When the model wants to use one, it writes a tool call as text; the harness runs the underlying code and hands back a tool result. Nothing runs inside the model. Execution is the harness's job.

The tool list is the agent's reach. A shell tool alone covers most of what a developer does at a keyboard, which is why so much agent work flows through it, and why it deserves the tightest permissions. Take a tool away and the agent doesn't complain, it improvises: with no browser tool it will guess what a page looks like, with no test runner it will 'reason about' whether tests pass. Missing tools produce fabrication, not errors.

Tools have a standing cost too. Every definition takes up context on every request, and a long list of overlapping tools makes the model pick the wrong one more often. Add tools deliberately: one per capability the task genuinely needs, with a description that says when to use it. MCP is how you plug in tools the harness doesn't ship with.

In the tools
  • Claude CodeShips with Read, Edit, Write, Bash, Glob, Grep, WebFetch and an Agent tool for subagents; MCP servers add more.
  • CodexA similar core set around a sandboxed shell; tools show up as commands the app asks you to approve.
  • CursorTools live behind the editor's agent panel, including terminal, file edits and web search.
In conversation

It keeps saying the Figma export looks right, but it can't open Figma.

Right, there's no tool for it. Without one, the model fills the gap with a plausible description instead of a look.

So either we give it a screenshot tool or we stop asking it about visuals.

Related terms
Learn it in the school
Words are the easy part

Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.

Start Course 01 →