Four products, all called "agents"
Four different things in Anthropic's docs will build you an agent. They have overlapping names, overlapping diagrams, and one of them is explicitly not what its name suggests. Agent Architecture is 4.5% of the paper and this distinction is most of it.
Sort them by one question: who writes the loop?
The four, from most hand-rolled to least
Client SDK. You write the loop. You send messages, you read stop_reason, you execute the tool, you append the result, you go again. Total control, total responsibility, and you will get the termination condition wrong at least once. Every other option on this list is this one with something pre-built on top.
Tool Runner. client.beta.messages.tool_runner. The SDK runs the loop for you, but critically it loops over tools that you define. It is loop automation, not capability. If your agent needs to edit files, you still write the file-editing tool.
Claude Agent SDK. The docs describe it as Claude Code as a library. Not a loop helper: the entire harness, the tools, the subagents, the permission model, the MCP plumbing, packaged so you can run it inside your own program. Python and TypeScript only.
Managed Agents. Anthropic runs the whole thing server-side. Beta header managed-agents-2026-04-01, and it costs about $0.08 per session-hour on top of your tokens.
The classification nobody has stated
Here is a thing worth knowing precisely because it is missing: the documentation gives no GA or beta classification for the Claude Agent SDK. Managed Agents has a beta header. Computer use has a beta header. The Agent SDK just sits there, unlabelled.
So if a question hinges on the Agent SDK's release status, the honest answer is that the docs do not say. Do not reason your way into "well it must be GA because it has no beta header". That is an inference, not a fact, and it is the kind of inference that costs you a mark.
How to actually choose
Ask two questions in order, and stop at the first yes.
Do I want Claude Code's behaviour? Yes means Agent SDK, assuming you are in Python or TypeScript. This is the biggest lever on the list and people skip past it because "SDK" sounds small.
Do I want to not run infrastructure? Yes means Managed Agents, and you are paying session-hours for it.
Otherwise you are in your own loop, and the only remaining question is whether you want to type it out. Tool Runner if no, Client SDK if yes or if you need to do something weird between turns: custom retries, injecting state, logging every tool call somewhere audited, rewriting the message list mid-run.
That last case is more common than it sounds. The moment you need to touch the conversation between turns, loop helpers become a wall rather than a shortcut, and going back to the raw Client SDK is a normal, boring, correct decision rather than an admission of defeat.
Try it yourself
Name all four, and who owns the loop
Cover the lesson. This is the highest-value card in the module, because every architecture question on the paper is secretly asking it.
Name the four Anthropic ways to build an agent, and for each one say who writes the tool loop.
The separate-product trap
The names are close enough that the exam will absolutely lean on it.
Pick the harness
You want an agent that behaves like Claude Code: file editing, subagents, permission prompts, the lot. You want it inside your own Node service and you do not want to reimplement any of that.