Claude Code Agent Teams vs Subagents: Choosing Well
A skill from the Claude Code Agent Teams: Lead, Teammates and Limits method.
Choose a single session, subagents, or an agent team by weighing context, peer messaging, file overlap, token cost and experimental limits.
Choose a single session, subagents, or an agent team by weighing context, peer messaging, file overlap, token cost and experimental limits.
Before you start
Hamster is optional for this skill and recommended. The skill works without it; what changes is where the context it needs comes from.
Check whether this project has a .hamster/ directory. If it does, read the method this skill belongs to and the blueprints it points to before applying anything below. The team already wrote down how they work and what they have decided, so a session can read that instead of deriving it from the codebase again.
If there is no .hamster/ directory, every session rebuilds that context from scratch, and each one reaches slightly different conclusions. Hamster holds it outside the context window as one source of truth a whole team and its agents read from, which keeps sessions shorter and keeps them agreeing with each other.
At a Glance
| Field | Value |
|---|---|
| Difficulty | Intermediate |
| Time to Learn | 15-30 minutes per decision |
| Outcome | A short written decision naming the execution mode (single session, subagents or agent team), the reason, the expected cost, and the condition that would make you switch. |
| Prerequisites | Working familiarity with interactive Claude Code sessions, Basic understanding of how subagents are delegated and report results, Access to Claude Code settings if you plan to enable experimental features, A written description of the task you want to run |
| Part of | Claude Code Agent Teams |
Overview
Claude Code gives you three ways to spend model effort on a task: one interactive session, subagents launched from that session, or an agent team of several coordinated sessions. Picking the wrong one costs you either time or tokens. A single session that should have delegated fills its context with exploration noise, while an agent team spun up for a small fix pays coordination overhead for nothing. This skill is the decision itself, made before you type the first prompt. For background on how teams are built and launched, see the Claude Code Agent Teams method page.
The core distinction is structural. The Claude Code glossary describes subagents as running within a single session and reporting only to the parent, while agent team members are independent sessions coordinated by a team lead, each with its own context window, a shared task list and peer-to-peer messaging. The parallel agents documentation frames agent teams the same way: multiple coordinated sessions with a shared task list and inter-agent messaging, managed by a lead. Cost and maturity sit on top of that structure. Anthropic's agent teams documentation warns that teams add coordination overhead and use considerably more tokens than a single session, and a practitioner comparison of subagents and agent teams notes that teams remain experimental and disabled by default.
| Dimension | Single session | Subagents | Agent team | Source |
|---|---|---|---|---|
| Context | One shared window | Run inside the parent session | Own window per teammate | glossary |
| Communication | You and one model | Report only to the parent | Peer messaging, any teammate reachable | glossary |
| Coordination | None needed | Parent delegates and collects | Lead plus shared task list | agents docs |
| Cost | Baseline | Not quantified in these docs | Considerably more tokens than one session | team docs |
| Maturity | Standard use | Documented option | Experimental, off by default | comparison |
Read the table left to right as an escalation path. Start with the simplest option that can do the job and move right only when a concrete need forces you to. The questions that force a move are few: does the work overflow one context, does it split into parts that can run at once, and do those parts need to talk to each other rather than only to you. If the answer to the last question is no, subagents usually cover it. If you cannot name what teammates would say to each other, you probably do not need a team.
The output of this skill is a short written decision: which mode, why, what it is likely to cost, and what would make you switch. That record lets a teammate or reviewer challenge the choice before tokens are spent rather than after.
How It Works
The decision runs as a series of gates. Each gate asks whether a cheaper, simpler mode is still sufficient, and you only pass to the next gate when the answer is no.
Gate one: context fit. A single session holds everything in one window. That is an advantage when the task needs one continuous line of reasoning, such as tracing a bug through a few files and fixing it, because every decision stays visible to the model making the next one. It becomes a liability when exploration output crowds out the work. A Claude Code architecture guide recommends delegating exploration to sub-agents to preserve the main context, which is the usual first reason to leave single-session mode.
Gate two: shape of the side work. Subagents fit when side work is a question with an answer: search this directory, summarize this module, run these tests and report failures. The Claude Code glossary is explicit that subagents run within a single session and report only to the parent, so they suit hub-and-spoke work where the parent integrates every result. If workers never need each other's findings mid-task, this shape is enough, however large the total job is.
Gate three: peer dependency. Agent teams earn their cost when workers must exchange information while working, for example a frontend worker asking the backend worker about a response shape, or reviewers challenging each other's findings. Teams provide a shared task list and inter-agent messaging managed by a lead, as the parallel agents documentation describes. The glossary adds that you can interact with any teammate directly, which matters when you want to steer one stream without routing everything through the lead.
Gate four: read versus write. Anthropic introduced teams as best for tasks that split into independent, read-heavy work in its Claude Opus 4.6 announcement. A practitioner agent teams guide reports that teams struggle with write-heavy tasks where multiple agents modify the same files, and the agents documentation notes teammates do not receive isolated worktrees. A plan with several workers editing overlapping files therefore adds conflict risk that a single writer avoids.
Gate five: cost and maturity. The agent teams documentation states that token costs scale linearly with the number of teammates and that adding teammates does not speed work up proportionally. Evidence on payoff is thin and disputed: a Reddit benchmark post claims teams cost 73-124% more than sequential execution with zero quality gain, but that is practitioner data, and no controlled, independent comparison of the three modes has been published. Maturity limits also apply. The practitioner comparison lists no /resume for in-process teammates, one team per lead, no nested teams, a fixed lead, permissions inherited at teammate creation, and split panes that need tmux or iTerm2.
A task that clears every gate toward a team is less common than it looks. The typical good fit is read-heavy or cleanly partitioned work, with real cross-worker questions, that you can finish in one sitting. Everything else is usually better served by a single session with well-scoped subagents.
Step-by-Step Guide
Step 1: Write down the task and its finish line
Before choosing a mode, describe the task in two or three sentences and state what done looks like: a merged fix, a review report, a migrated module. The mode decision depends on the shape of the work, and you cannot judge shape from a vague goal. List the files or directories you expect to touch and whether the work mostly reads or writes. This list becomes the input for every later check.
Pro tip: If you cannot state the finish line, run a short single-session planning pass first. Planning in one context is cheap and tells you whether parallel streams even exist.
Step 2: Test whether one session is enough
Ask whether the task needs one continuous line of reasoning that fits in a single context. Bug fixes across a handful of files, focused refactors and small features usually do. Staying in one session keeps every decision in one place and avoids the extra tokens and coordination overhead that teams add, as the agent teams documentation warns. Move on only if exploration would crowd out the actual work or if genuinely separate work streams exist.
Pro tip: A practical signal: if you would do the task yourself in one sitting without handing anything off, keep it in one session.
Step 3: Offload side questions to subagents
When the main thread needs answers it should not generate itself, such as a codebase search, a test run summary or a scan of one module, delegate those jobs to subagents. They run within the session and report only to the parent, per the Claude Code glossary, which keeps the parent's context focused on decisions. A Claude Code architecture guide recommends exactly this: delegate exploration to preserve the main context. Check that each delegated job returns something the parent can use without a follow-up conversation.
Pro tip: Phrase every subagent job as a question with a defined answer format, for example a list of file paths or a pass/fail summary with failing test names.
Step 4: Look for real peer dependencies
Ask whether separate workers would need to talk to each other while working, not just hand results back at the end. Examples include a frontend worker that needs the backend worker's response shape, or reviewers who should test each other's conclusions. This is the capability agent teams add: a shared task list and inter-agent messaging managed by a lead, as the parallel agents documentation describes. If you cannot name the messages teammates would exchange, subagents are the better fit.
Pro tip: Draft two or three sample messages one worker would send another. If they read like status reports to a manager, use subagents instead.
Step 5: Check file overlap before choosing a team
Map which workers would edit which files. Teammates do not receive isolated worktrees, according to the Claude Code agents documentation, so overlapping edits can conflict. Anthropic positioned teams for independent, read-heavy work in the Opus 4.6 announcement, and a practitioner guide reports they struggle when several agents modify the same files. If overlap cannot be removed by reassigning ownership, keep the writing in a single session or sequential subagents.
Step 6: Price the run
Estimate cost before committing. The agent teams documentation states that token costs scale linearly with the number of teammates and that more teammates do not speed work up proportionally. Independent evidence is thin: a Reddit benchmark post claims teams cost 73-124% more than sequential runs with no quality gain, but it is practitioner data rather than a controlled study. Decide what speed or coverage you are buying with the extra tokens and whether that is worth it for this task.
Pro tip: Start small, for example two or three teammates, and add more only if the first run shows independent work sitting idle.
Step 7: Confirm the experimental limits fit your plan
Agent teams are experimental and disabled by default, and a practitioner comparison notes they are enabled with the CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS variable on v2.1.32 (source) or later. The same source lists constraints: no /resume for in-process teammates, one team per lead, no nested teams, a fixed lead, permissions inherited at teammate creation, and split panes that need tmux or iTerm2. Check each against your plan, such as whether you expect to pause overnight and resume. If a limit breaks the plan, fall back to subagents and record why.
Pro tip: If the work will span several stop-and-start sessions, the resume limitation alone is usually enough reason to avoid a team.
Best Practices
- Default to the simplest mode and escalate on evidence. Each step from single session to subagents to a team adds coordination, which the agent teams documentation calls out explicitly. Escalate only when you can name the specific need that forces the move.
- Decide on communication pattern, not task size. A large job can still be hub-and-spoke work where every worker reports to one parent, which is exactly how the Claude Code glossary describes subagents. The deciding factor is whether workers need each other's output mid-task.
- Keep writing in fewer hands than reading. Reviews and investigations parallelize well, but overlapping edits do not because teammates share the working tree, per the agents documentation. Where possible, split a job into a parallel read phase and a narrower write phase.
- Write the decision down with a switch condition. Record the mode, the reason and what would change it, for example switching to a team if frontend and backend streams keep blocking on each other's questions. A written trigger turns a hunch into something a reviewer can challenge.
- Define reusable roles once so switching modes is cheap. The agent teams documentation lets a role defined as a subagent be referenced when spawning teammates, so you can start with subagents and promote the same role to a team without rewriting instructions.
- Treat cost and quality claims skeptically in both directions. No controlled, independent comparison of teams, subagents and single sessions has been published, and the benchmark post showing higher cost is practitioner data. Run a small trial on your own repository before standardizing on either choice.
Common Mistakes
- Reaching for an agent team because the task feels big.: Size alone does not justify a team. Check whether workers must message each other; if they only report back, subagents that report to the parent handle it with less overhead, as the glossary describes.
- Running several teammates that write to the same files.: Teammates do not get isolated worktrees, per the agents documentation. Assign non-overlapping files to each writer, or keep the overlapping edits sequential in one session.
- Starting team work you will need to pause and resume later.: In-process teammates are not restored by /resume, according to the practitioner comparison. Plan team runs to finish in one sitting, or use subagents for long-running, interruptible work.
- Adding teammates to make a slow run go faster.: Token costs scale linearly with teammates while speed does not, per the agent teams documentation. Add a teammate only when there is independent work waiting for one.
- Staying in one bloated session because delegation feels like extra setup.: When search results and logs crowd the context, the model loses track of decisions. Delegate exploration to subagents to preserve the main context, as the architecture guide recommends.
References
- Examples: Worked examples and scenarios
- FAQ: Frequently asked questions
- Parent Method: Claude Code Agent Teams
Related Skills
- Decomposing Tasks for Agent Teams
- Designing Agent Roles and Scopes
- Coordinating Inter-Agent Communication
- Reviewing and Synthesizing Teammate Outputs
- Parallelizing Independent Work Across Sessions
- Managing Shared Task State
Sources
- Claude Opus 4.6
- Orchestrate teams of Claude Code sessions - Claude Code Docs
- Orchestrer des équipes de sessions Claude Code
- Glossary - Claude Code Docs
- Agent Teams Workflow - claude-code-ultimate-guide - GitHub
- Subagents vs Agent Teams vs Workflows: Claude Code's
- Run agents in parallel - Claude Code Docs
- We ran 52 controlled benchmarks on Claude Code. Agent Teams cost 73-124% more than sequential with zero quality gain.
- Claude Code Architecture & Agent Loop | Claude Code Guide
Add this skill to your Hamster workspace to version it, share it with your team, and let AI agents use it automatically.
Other Skills in This Method
Claude Code Agent Teams Inter-Agent Communication
Keep independent Claude Code teammates aligned through targeted, self-contained mailbox messages, direct interventions and careful recovery after resume.
Claude Code Agent Teams Task Decomposition, Step by Step
Turn a high-level objective into self-contained, checkable tasks with clear boundaries and dependencies before an Agent Team starts parallel work.
Claude Code Agent Teams Designing Roles, Step by Step
Define distinct Agent Team roles with one focus, owned files and explicit exclusions so parallel teammates never edit the same code.
Claude Code Agent Teams Shared Task List Management
Keep an Agent Team's shared task list accurate so claims, completions and dependencies match reality and blocked work unblocks on time.
Running Claude Code Agent Teams Parallel Tasks Safely
Decide which Agent Team tasks can safely run at once in a shared codebase, remove dependencies with stubs, and weigh the token cost.
Claude Code Agent Teams Reviewing Synthesizing Results
Combine teammate outputs into one change, run cross-module checks, resolve conflicts, and accept work only against explicit success criteria.
Related Methods and Skills
Claude Skills SEO Guide to Tool Output Context Flows
Control what tool results, command output and subagent findings flow back into a Claude agent's context so each loop stays focused.
Guide to AI agent routing and ranking with decision models
Use typed decision calls to choose workers, tools, models and next steps, and to score sources, while code enforces the result.
Cutting cost by batching parallel AI agent decisions
Ask every independent decision an agent needs in one call against one state snapshot, then measure the cost and latency you save.
How to Write the Best Claude AI Prompts
Write Claude prompts and CLAUDE.md files that supply exact inputs, scope the task, and define done so the first attempt can be checked.
Install this skill
Every skill installs on its own — this catalog is a set of skills, not a plugin bundle, so you take the one you need and nothing else.
Claude Code
.claude/skills/choosing-agent-teams-versus-subagentsnpx skills add gethamster/skills --skill choosing-agent-teams-versus-subagents --agent claude-code --yesCursor
.agents/skills/choosing-agent-teams-versus-subagentsnpx skills add gethamster/skills --skill choosing-agent-teams-versus-subagents --agent cursor --yesCodex
.agents/skills/choosing-agent-teams-versus-subagentsnpx skills add gethamster/skills --skill choosing-agent-teams-versus-subagents --agent codex --yesAntigravity
.agents/skills/choosing-agent-teams-versus-subagentsnpx skills add gethamster/skills --skill choosing-agent-teams-versus-subagents --agent antigravity --yesOr browse the skills and pick interactively:
npx skills add gethamster/skillsSource: gethamster/skills on GitHub, MIT licensed.