Claude CodeClaude Code 2.1 · macOS, Linux, Windows
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
31 small wins to finish your pathNext lesson

What it actually is

A model that can only write text cannot read your files. Claude Code is the part around the model that can, and the loop between them is the whole product.

The documentation describes a turn as three phases that blend into each other: gather context, take action, verify results. The model decides what each step needs from what the last step returned, and it repeats until the work is done or you stop it.

One turn, as it really ran
You ask. Which function decides the short code?Step 1 of 4

The same turn, captured

The --output-format stream-json flag prints every step of a run instead of only the answer. This is that run, with the tool calls left in and the long results cut short so it fits.

bash
claude -p "Which function decides the short code? Name the file and function only." \
  --output-format stream-json --verbose
Captured from a real run
TOOL   Bash   grep -r "short" /tmp/linkshort --include="*.py" | head -20
RESULT /tmp/linkshort/shorten.py:"""Turn a long URL into a short code, and back again."""
TOOL   Read   /tmp/linkshort/shorten.py
RESULT 1  """Turn a long URL into a short code, and back again."""
TEXT   **shorten.py** - next_code()
RESULT turns: 3   duration: 7.6s   cost: $0.017

Two tools and one sentence. It searched, read the file the search pointed at, and answered. Three turns means three trips to the model, because every tool result goes back to the model before it decides what to do next.

That is the loop. Everything else in this course is a way of changing what happens inside it: which tools are allowed, what the model already knows when it starts, and who does the work.

What it can reach for

The tools fall into a few groups, and the group matters more than the individual names.

KindWhat it means
File operationsRead, edit, create, move
SearchFind files by name, search contents
ExecutionRun any shell command: tests, builds, git
WebSearch the web, fetch a page
OrchestrationStart subagents, ask you a question

Execution is the one to notice. Anything you can type in that terminal, it can run, which is where the usefulness comes from and why the permission system in lesson 4 exists at all.

Harness, not model
The docs call Claude Code an agentic harness: the tools, the context management and the execution environment around a model. It is a useful way to think about it, because it tells you which problems are the model's and which are yours to configure.
Try it yourself
  • Run any prompt with --output-format stream-json --verbose and read the tool calls.
  • Ask something that needs no tools, like a definition, and watch it answer in one turn.

You understood something today that you didn't yesterday.