· AI

CEO of Tallyfy · AI advisor at Blue Sheen for mid-size companies

The built-in agent types in Claude Code

Claude Code ships with five built-in agent types: Explore, Plan, general-purpose, statusline-setup, and claude-code-guide. Most people know two of them. The other three run constantly and shape how much your sessions cost. This is the full catalog, what each one is for, and why knowing them changes how you read your own terminal.

What you will learn

  1. The five agent types Claude Code ships with, and which ones you have been using without knowing
  2. What Explore, Plan, and general-purpose each do, and how their costs differ
  3. The two helper agents that run quietly in the background
  4. 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.

The five built-in Claude Code agent types: Explore, Plan, general-purpose, statusline-setup, and claude-code-guide

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.

About the Author

Amit Kothari is an experienced consultant, advisor, coach, and educator specializing in AI and operations for executives and their companies. With 25+ years of experience, he is the Co-Founder & CEO of Tallyfy® (raised $3.6m, the Workflow Made Easy® platform) and Partner at Blue Sheen, an AI advisory firm for mid-size companies. He helps companies identify, plan, and implement practical AI solutions that actually work. Originally British and now based in St. Louis, MO, Amit combines deep technical expertise with real-world business understanding. Read Amit's full bio →

Disclaimer: The content in this article represents personal opinions based on extensive research and practical experience. While every effort has been made to ensure accuracy through data analysis and source verification, this should not be considered professional advice. Always consult with qualified professionals for decisions specific to your situation.

Related Posts

View All Posts »
How the general-purpose agent works in Claude Code

How the general-purpose agent works in Claude Code

The general-purpose agent in Claude Code is not the main agent and not something you pick. It is a built-in subagent Claude routes to on its own for complex, multi-step work. It inherits your model and, in current Claude Code, spawns as a fork of your conversation. This post explains how it actually works and what that costs you.

What is a subagent in Claude Code

What is a subagent in Claude Code

A subagent in Claude Code is a specialized worker that runs in its own fresh, isolated context window, with its own tools and permissions, and reports back only a summary. It is how Claude does a noisy side task without flooding your main conversation. Here is what a subagent is, what file defines it, and when it earns its cost.

Subagent vs parallel agent vs skill in Claude Code

Subagent vs parallel agent vs skill in Claude Code

Subagent, parallel agent and skill get used as if they mean the same thing in Claude Code. They do not. A skill is reusable instructions that cost almost nothing until invoked. A subagent is delegated work in a fresh isolated context. Parallel agent is not a primitive at all. Picking the wrong one wastes tokens or floods your context.

How to debug Claude Code subagents

How to debug Claude Code subagents

When a Claude Code subagent fails, you cannot open it and look inside. It ran in its own isolated context and handed back a summary. Debugging a subagent is the skill of reading that summary, recognizing context-isolation failures, and designing subagents that report enough to be diagnosed. Here is how to do it.

AI advisory services via Blue Sheen.
Contact me Follow 10k+