Claude Code isn’t one agent doing everything. It’s an orchestrator that decides when to handle things itself and when to spin up specialist subagents to do the work. When you ask something complex, Claude breaks the problem down, delegates pieces to the right agents, and synthesizes the results back to you.
WHAT’S AN ORCHESTRATOR Think of it like a head chef running a kitchen. They’re not cooking every dish themselves, they’re reading tickets, assigning stations, checking quality, and making sure everything comes together. Claude Code works the same way with its subagents.
This matters because you can give Claude broad, outcome-based asks instead of step-by-step instructions. “Figure out why my deploy is broken” works better than “read this file, then check that log, then compare these two branches” because Claude can break it down and run multiple investigations at the same time.
THE BUILT-IN SUBAGENTS
Claude Code comes with a handful of specialists it reaches for automatically. You don’t configure these, they’re just there.
- Explore - The most common one. Claude sends this out to search your codebase, find files, or understand project structure. It’s read-only and runs on a faster, lighter model since grepping code doesn’t need heavy reasoning. All the search results stay in the Explore agent’s own context, not yours, so you just get a clean summary instead of 50 file paths clogging your session.
- Plan - Shows up when Claude decides a request needs an implementation plan before writing code. Also read-only, because you don’t want the planning phase accidentally changing things. Uses the full model since planning requires real reasoning about architecture and tradeoffs.
- General-purpose - The one with full access. When Claude needs to both investigate and take action, it spins up a general-purpose agent that can read files, write code, and run commands. This is what Claude reaches for on complex, multi-step work like “audit all my blog posts for stale content” or “investigate why these two branches diverged.”
- Claude Code Guide - Handles questions about Claude Code itself. “How do hooks work?” or “what’s the syntax for custom agents?” gets routed here so Claude can search documentation without burning through your main conversation’s context.
PARALLEL EXECUTION
Claude can run up to 7 subagents simultaneously. The rule is simple: if tasks don’t depend on each other, they run in parallel. If one needs the result of another, they run sequentially.
“Check my styles, components, and routing for issues” becomes three parallel investigations instead of one sequential crawl. You can nudge this explicitly:
In parallel, check these three things:
1. Are any published posts still marked as draft?
2. Are there posts with past dates that reference future plans?
3. Which tags are only used on a single post?
Subagents can also run in the background. If Claude is doing research that’ll take a minute, it can background that agent and keep working on something else, then fold the results in when the agent finishes. You can manually background a running task with Ctrl+B too.
WHY SUBAGENTS PROTECT YOUR CONTEXT
This connects to context windows and why they matter. Every conversation has a limit, and once you hit it, details get compressed and things fall through the cracks.
Each subagent gets its own separate context window. When Explore reads 30 files looking for a pattern, those files live in the agent’s context, not yours. You get the summary. Claude delegates research-heavy tasks to subagents even when it could do the work inline because it’s preserving your conversation for the actual decisions about what to build and how.
If you’ve had sessions go sideways after Claude read too many files and started forgetting earlier instructions, subagents are the built-in fix for that.
OUTCOME-BASED PROMPTING
Knowing how the orchestrator works changes how you prompt. Instead of sequencing every step, describe what you want and let Claude figure out the investigation path.
Instead of this:
Read src/layouts/Layout.astro and check if there's a GA script.
Then check the git log on main. Then check develop.
Then compare what's different.
Try this:
My Google Analytics says it's not receiving data. Figure out why.
Claude will spin up agents to check the codebase, deployment config, and live site in parallel. You get the answer without managing the process.
BUILDING CUSTOM SUBAGENTS
The built-in agents handle most things, but you can create your own by dropping a markdown file in .claude/agents/ that describes what the agent does and what tools it has access to. If you’ve set up skills or slash commands, custom agents follow a similar pattern.
my-project/.claude/agents/code-reviewer.md
Define its description, which tools it can use, and optionally which model it runs on. Claude will start delegating to it automatically when a task matches the description.