What you will learn
- The five agent types Claude Code ships with, and which ones you have been using without knowing
- What Explore, Plan, and general-purpose each do, and how their costs differ
- The two helper agents that run quietly in the background
- Why naming the type Claude just spawned tells you what it will cost
Ask most Claude Code users to name its agent types and you get two answers: Explore and Plan. Those are the two you see named in the terminal, so those are the two people know.
There are five. The other three run just as often, and one of them does a large share of the actual work in every session. You have been using all five for months. You have only been able to name two of them.
This is the full catalog. It matters for a concrete reason, not as trivia: each agent type has a different model, a different set of tools, and a different cost, so the moment you can name the type Claude just spawned, you can predict what that step will cost you and whether it was the right call. An unnamed agent is an unaccountable one. Five names fixes that.
The five agent types
Claude Code ships with five built-in agent types. The subagents documentation is the source of record, and it states the operating principle plainly: “Claude Code includes built-in subagents that Claude automatically uses when appropriate. Each inherits the parent conversation’s permissions with additional tool restrictions.”
The five are Explore, Plan, general-purpose, statusline-setup, and claude-code-guide. They split cleanly into three groups. Explore and Plan are the research pair: read-focused, deliberately stripped down for speed. General-purpose is the worker: the one with full tools that does complex, multi-step jobs. And statusline-setup and claude-code-guide are the helpers: narrow utilities wired to specific moments, which you will almost never think about and never need to invoke yourself. Every one of them is a subagent in the sense covered in what a subagent is, which means each runs in its own context window and reports a summary back. The agent type is just the preset: which model it runs on and which tools it gets. You can also define your own types as custom subagents, but the five built-ins cover the work most sessions actually do.
Explore, the read-only one
Explore is the agent type you see most and understand least. Claude delegates to it when, in the documentation’s words, “it needs to search or understand a codebase without making changes.” It reads. It does not write. That restriction is the point: a read-only researcher cannot break anything, and its findings stay out of your main conversation.
Two details make Explore worth knowing by name. First, it has a thoroughness dial. When Claude invokes Explore it picks a level: quick for a targeted lookup, medium for balanced exploration, very thorough for a wide sweep. More thorough means more files read, which means more tokens, so the level Claude chooses is a cost decision being made on your behalf. Second, Explore is deliberately lightweight. It skips your CLAUDE.md and the session’s git status to stay fast and cheap. That is a small thing with a real consequence: an Explore agent does not know your project conventions, because it was never told them. It is a researcher, not a contributor, and it is built that way on purpose.
Plan, the plan-mode one
Plan is Explore’s close relative, scoped to one situation. When you are in plan mode and Claude needs to understand your codebase before proposing a plan, it delegates that research to the Plan agent. Like Explore, Plan skips CLAUDE.md and git status to keep the research fast and inexpensive.
Plan exists to solve a structural problem, and the documentation names it: delegating research to a Plan subagent “prevents infinite nesting (subagents cannot spawn other subagents) while still gathering necessary context.” Read that carefully. Subagents cannot spawn subagents. So when you are in plan mode, which is itself running as an agent, it cannot just spin up more agents to do its research. The Plan type is the sanctioned way for plan mode to gather context without breaking that rule. You will rarely think about Plan directly, because it only appears inside plan mode, but it is the reason plan mode can explore your codebase at all.
General-purpose, the catch-all
General-purpose is the type that does the heavy work, and it is the one most worth understanding in depth. It is the agent Claude routes to for complex, multi-step tasks that need both exploration and action. Where Explore only reads and Plan only researches, general-purpose has the full tool set and can change your files.
It is also the most expensive of the five, because its model inherits from your main conversation rather than dropping to something cheaper, and in current Claude Code it spawns as a fork that carries a copy of your conversation. There is enough to say about that one type that it has its own article: how the general-purpose agent works covers the fork behavior, the routing triggers, and the real cost. For this catalog, the thing to hold onto is its place in the set. General-purpose is the generalist among four specialists. When the task does not fit Explore or Plan or a helper, it lands here, which is exactly why it does so much of your work.
The two helper agents
The last two agent types are the ones nobody talks about, and that is appropriate, because they are utilities rather than workers. They still count, and naming them completes the picture.
statusline-setup runs on Sonnet, and Claude uses it when you run /statusline to configure your status line. claude-code-guide runs on the cheaper Haiku model, and Claude uses it when you ask a question about Claude Code itself, its features, settings, or commands. Notice the model choice in each case. A status-line configuration is a small, bounded job, so it gets Sonnet. Answering a documentation-style question is lighter still, so it gets Haiku. That is the same logic that runs through the whole catalog: match the agent to the weight of the work. The helpers are the clearest illustration of it, because their jobs are so narrow that the model can be pinned cheaply and left alone.
You will never invoke these two yourself, and you do not need to. They are in this catalog for one reason: so that the next time you see an agent type scroll past in your terminal, all five names mean something. Explore is reading. Plan is researching for a plan. General-purpose is doing the real work, on your main model, at your main cost. The helpers are tidying up. Claude makes the routing call every time, fast and out of sight, and that is fine, that is the design. But the routing is a sequence of cost decisions, and a cost decision you cannot name is one you cannot question. Now you can name all five. The terminal stops being a place where things happen to you and starts being a place you can read.



