Building with Claude
05Chapter · Building with Claude
3 min read
claudeagentstoolsclaude-code

From Chat to Agent: Giving Claude Hands

A chat answers. An agent acts. The jump between them is tools — and it is smaller than it looks once you have seen the loop.

Last updated ·

A chat answers you. An agent acts, looks at what happened, and decides what to do next. That gap is larger than it sounds.

In a chat, the shape is simple: you ask, it answers, you read. One exchange, then it stops and waits. For a great deal of work that's exactly right — drafting, explaining, thinking out loud. The model never does anything; it tells you something. An agent is different in kind, not degree. You give it a goal and some tools; it takes an action, observes the result, and loops — acting and checking — until the goal is met or it gets stuck. The first time I watched one run a test, read the failure message, and fix its own code, the difference stopped being abstract.

chat ask answer · then stop agent act observe decide
A chat gives you an answer and stops. An agent runs a loop — act, observe, decide — and that loop is the whole idea.

Hands come from tools

An agent's reach is exactly its tools — the things it can actually do beyond writing text. The standard plug for this is MCP, the protocol the CLI course covered: claude mcp add connects your calendar, your files, a database, and now the model can reach them. Current models are good at using them, too: they pull data just in time (holding a path or a query and fetching only when needed, instead of stuffing everything onto the desk), run independent tool calls in parallel, and even spin up sub-agents for pieces of a job.

What's on my calendar tomorrow?
→ calls list_events(date: tomorrow) — reaches the real calendar
Two things: a 10am standup and lunch at 1.

↳ the model didn't “know” your schedule — it acted (the tool call), observed the result, then answered. Same loop, real hands.

When to reach for one

Anthropic's own advice is the part I trust most: start with the simplest thing that works, and only reach for an agent when the loop genuinely earns its cost. If you can write the steps down in advance, you don't need an agent deciding them — you need a chat, or a plain script. Reserve the loop for work where the right next step truly depends on what the last one returned. If you're starting out, stay in chat longer than feels ambitious; the loop is more powerful and far less forgiving.

Where it breaks

An agent taking an irreversible action without asking — deleting files, force-pushing, emailing the wrong list. A wrong turn early compounds across the loop, which is exactly why an agent needs guardrails a chat never did. Have it confirm before anything consequential or shared; give it the least reach the job needs.

Try it yourself

Take a task you'd hand an AI and ask one question: could I write the exact steps in advance? If yes, it's chat-or-script work. If the right next step genuinely depends on what the last one returns, that's where an agent earns its keep — and where the next two lessons live.

Grounded in Anthropic, Building Effective Agents, and the Model Context Protocol.

New chapters land here as I learn them. Want the next one?