Two different ways Claude Code orchestrates work. Agents are lightweight specialists that report back to you inside one session. Teams are independent full sessions that talk to each other and coordinate through a lead.
Look at the arrows — that is the real difference.
You are the hub. Each subagent talks only to you. They never see each other.
You talk to the lead. The lead and teammates message each other directly. Each is a full session.
The properties that actually matter when you're deciding which to reach for.
| Property | Agents (Subagents) | Agent Teams |
|---|---|---|
| What it is | A specialized worker spawned inside your main session. | A collection of independent Claude Code sessions that coordinate. |
| Context window | Its own — does ✕not see your conversation history. | Each teammate has its own full session window. |
| Communication | Returns one result to you. Subagents never see each other. | Teammates message each other directly + the lead. |
| Configured in |
.claude/agents/ (project)~/.claude/agents/ (user)
|
~/.claude/teams/{name}/config.jsonEnabled by env flag (see below). |
| How you invoke | "Use the code-reviewer agent…" or @code-reviewer |
"Create an agent team to review PR #142 — spawn three reviewers…" |
| Parallelism | ✓ Multiple at once, foreground or background. | ✓ Full sessions in parallel; viewable in split-panes (tmux/iTerm2). |
| Cost profile | Lightweight — one extra context per agent. | Heavier — each teammate is a full Claude Code session. |
| Built-ins | Explore, Plan, general-purpose, statusline-setup, claude-code-guide, … | No fixed roster — you describe the team and it spawns teammates (can reference agent types). |
| Stability | ✓ GA — stable, widely used. | ⚠ Experimental, off by default. Known rough edges around resume/shutdown. |
A subagent definition is a markdown file. A team is unlocked with one env flag.
--- name: code-reviewer description: Expert code review specialist. tools: Read, Grep, Glob, Bash model: sonnet --- You are a senior code reviewer. Focus on correctness, security, and clarity. Return a punch list.
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } } // then, inside Claude Code: // "Create an agent team to review // PR #142. Spawn three teammates: // security, performance, tests."
The decision usually comes down to: do the workers need to talk to each other?
Agents are specialists you delegate to — they report back to you and never see each other. Teams are independent sessions that coordinate — they message each other through a lead and operate in parallel.