A practical guide covering Claude Code setup, prompt engineering, slash commands, skills, hooks, subagents, agent teams, and MCP servers. Designed for developers ranging from beginners to power users seeking to master AI-assisted development workflows.
A practical Claude Code guide with clear mental models and copy-paste examples — setup, prompt engineering, slash commands, skills, hooks, subagents, agent teams, and MCP servers. Beginner path to power-user depth. Featured in Awesome Claude Code.
At a glance
README
Claude Code: Everything You Need to Know
From first prompt to agent teams — one guide.
A practical guide to Claude Code — from your first prompt to multi-agent automation, hooks, MCP, and team workflows. Built around clear mental models and real examples, not marketing.
npm install -g @anthropic-ai/claude-code
Who this is for: Developers using (or about to use) Claude Code. Beginners get a guided path; power users get depth on Skills, Hooks, MCP, and Agent Teams.
🧭 Choose your path
| You are… | Start here | Time |
|---|---|---|
| 🚀 New to Claude Code | Setup → Prompt Engineering → Your First Skill | ~15 min |
| ⚡ Already using it, want depth | Skills · Hooks · MCP | ~30 min each |
| 🧠 Building teams or automation | Dynamic Workflows · Agent Teams · BMAD | varies |
🧠 When to use what
The five extension points in Claude Code, side by side:
| Tool | Use when… | Skip if… | Lives in |
|---|---|---|---|
| Skills (slash commands) | You repeat the same prompt or workflow ≥3 times | One-off task | .claude/commands/*.md |
| Hooks | You want code to run automatically on tool use, session start, etc. | You only want manual triggers | .claude/settings.json |
| Subagents | A subtask is big enough to need its own isolated context | The task fits in your main session | .claude/agents/*.md |
| Workflows | The job needs more agents than one conversation can coordinate | A couple of subagents would do | .claude/workflows/*.js |
| MCP servers | You need Claude to use external tools (browsers, DBs, APIs) | All your data is in local files | Configured per project |
💡 These five compose. Most polished setups combine 2–3.
📚 What's inside
Fundamentals — What is Claude Code? · Setup · Prompt Engineering
Workflow extensions — Slash Commands · Skills · Hooks
Multi-agent & integration — Subagents · Dynamic Workflows · Agent Teams · Automation surface · MCP
Productivity & frameworks — Effort levels · Fast Mode · Super Claude · BMAD Method
Reference — Slash Command Cheatsheet · Effort levels · Workflows · Agent Teams · Skills · FAQ · Updates & Deprecations · Further Reading
What is Claude Code?
Claude Code is Anthropic's official CLI for working with Claude from your terminal. You point it at a project; it reads the code, plans, edits files, runs commands, and commits — all from the prompt line.
Three things it does that a chat UI can't:
- Reads your actual repo — not pasted snippets. Claude sees your file tree, runs
grep, follows imports, and grounds answers in real context. - Edits in place and runs your tests — diff-aware edits, then
pytest/vitest/go teston the spot to verify the change. - Composes with the rest of your stack — slash commands, hooks, sub-agents, MCP servers, and your normal git/shell workflow.
If you've used Copilot or Cursor, think of Claude Code as their "agent in your terminal" peer — same idea, different surface, no editor lock-in.
claude # start a session in the current repo
> explain what this codebase does
> fix the failing test in src/api.test.ts
> open a PR with the changes
The Claude 5 era: today's model lineup
Three launches landed in quick succession this summer: Claude Opus 4.8 (May 28, 2026) took over as the Opus-tier flagship, Claude Fable 5 and its restricted sibling Claude Mythos 5 (June 9, 2026) opened a new Mythos-class tier above Opus, and Claude Sonnet 5 (June 30, 2026) became Claude Code's default model. 1M-token context is now standard across current Opus, Sonnet, and Fable models — no beta flag, no long-context surcharge — with 128K max output.
Choosing a model — quick guide:
| Model | Reach for it when… |
|---|---|
| Sonnet 5 (default) | Everyday coding — most tasks live here. Intro pricing $2/$10 per MTok through Aug 31, 2026 (then $3/$15) |
| Opus 4.8 | Complex reasoning, large refactors, orchestrating agents — $5/$25, unchanged from 4.7 |
| Fable 5 | Genuinely hard problems — Mythos-class capability above Opus at $10/$50 |
| Haiku 4.5 | Fast, lightweight tasks — quick questions, doc updates ($1/$5, 200K context) |
Opus 4.7 / 4.6 and Sonnet 4.6 are now legacy models (still available via API and
/model); Opus 4.1 retires August 5, 2026. Mythos 5 is the same underlying model as Fable 5 with fewer safeguards — invitation-only for approved organizations via Project Glasswing.→ Full specs, capabilities, and pricing in
docs/reference/models.md
Claude Code Setup
⏱️ 5-minute setup. Get from zero to your first AI-assisted commit.
1. Install
npm install -g @anthropic-ai/claude-code
Requires Node.js 18+. For other install methods (Homebrew, curl, native binary), see the official install guide.
2. Authenticate
claude
On first run, Claude Code opens a browser to sign in with your Anthropic account (Pro, Max, or API key all work). After that, you can re-authenticate any time with /login (and sign out with /logout) inside a session, or claude auth login|status|logout from your shell.
3. Run your first prompt
From any project directory:
cd ~/your-project
claude
Once Claude Code is running, try one of these:
explain what this codebase does— Claude reads your repo and summarizes.add a README section about installation— generates content based on your project.find and fix the failing test in src/api.test.ts— diagnoses and edits in place.
4. (Optional) Generate a CLAUDE.md
/init
Creates a project-level instruction file that Claude reads on every session — your project's "house rules." More on this in Prompt Engineering Deep Dive.
5. (Bonus) Steal this repo's setup
This repo's .claude/ directory is a working, runnable Claude Code project — one of each extension point, not screenshots of one. Every path below is something you can copy into your own project today:
| Path | What you get | Copy it when… |
|---|---|---|
.claude/commands/ |
7 slash skills — /pr, /review, /tdd, /test, /five, /ux, /todo |
You want PR hygiene and review rigor without writing the prompts |
.claude/skills/ |
An Agent Skill — /claude-md-review audits a CLAUDE.md for vagueness, dead paths, and bloat |
You want a worked example of the frontmatter contract |
.claude/agents/ |
5 subagents, plus 10 more role prompts in specialized-agents/ |
You want specialists without authoring role prompts — they double as Agent Teams teammates |
.claude/workflows/ |
A dynamic workflow — /stale-docs-audit fans agents across your docs, then refutes its own findings |
You want a real script to read before writing your own |
.claude/hooks/ |
Python hooks — post_tool_use.py, notification.py, stop.py, subagent_stop.py |
You want lifecycle automation (needs uv) |
.claude/settings.json |
Permissions + hook wiring | You're copying the hooks — swap the hardcoded uv path for $(which uv) |
git clone --depth 1 https://github.com/wesammustafa/Claude-Code-Everything-You-Need-to-Know /tmp/cc-guide
cp -r /tmp/cc-guide/.claude/commands/pr.md your-project/.claude/commands/ # take what you want
⚠️ Read before you copy. Skills, hooks, agents, and workflows are executable instructions that run with your permissions — including from this repo. Copy file by file and read each one, the same way you'd review a shell script before sourcing it. Don't
cp -ra whole.claude/you haven't opened.
💡 Next: Claude Skills to build your own in 3 minutes.
Prompt Engineering Deep Dive
📖 Claude Initialization Run the
/initcommand to automatically generate aCLAUDE.mdfile. YourCLAUDE.mdfiles become part of Claude's prompts, so they should be refined like any frequently used prompt. A common mistake is adding extensive content without iterating on its effectiveness. Take time to experiment and determine what produces the best instruction following from the model.
1. Explore → Plan → Code → Commit
Versatile workflow for complex problems.
- Explore: Read relevant files/images/URLs; use subagents for verification. Do not code yet.
- Plan: Ask Claude to make a plan. Use
"think","think hard","think harder", or"ultrathink"to nudge depth in the prompt — see Effort levels for the full reasoning dial. Optionally save the plan for future reference. - Code: Implement the solution; verify reasonableness as you go.
- Commit: Commit results, create pull requests, update READMEs/changelogs.
- Claude has two default modes:
Plan ModeandAccept Edits Mode. You can toggle between them using theShift + Tabkeys.
💡 Pro Tip: Research & planning first significantly improves performance for complex tasks.
2. Test-Driven Workflow (Write Tests → Code → Commit)
Ideal for changes verifiable with unit/integration tests.
- Write Tests: Create tests based on expected inputs/outputs; mark as TDD.
- Run & Fail Tests: Confirm they fail; no implementation yet.
- Commit Tests: Commit once satisfied.
- Write Code: Implement code to pass tests; iterate with verification via subagents.
- Commit Code: Final commit after all tests pass.
🔹 Clear targets (tests, mocks) improve iteration efficiency.
3. Visual Iteration (Code → Screenshot → Iterate → Commit)
- Provide screenshots or visual mocks.
- Implement code, take screenshots, iterate until outputs match mock.
- Commit once satisfied.
🔹 Iteration significantly improves output quality (2-3 rounds usually enough).
4. Effort levels — how hard Claude thinks
→ Full guide in docs/reference/effort-levels.md
Mental model: Effort is a behavioural dial, not a token budget — it shifts thinking depth, tool-call appetite, response length, and how persistently Claude pushes through multi-step work. Higher ≠ smarter; context quality often matters more.
The API knows 5 levels (low → max, default high); Claude Code adds a sixth:
| Level | Reach for it when… |
|---|---|
low |
Fast interactive queries you're steering — file renames, simple greps |
medium |
General coding, small refactors, autonomous sessions where the plan is clear |
high |
Multi-file refactors, complex debugging — the default on current models |
xhigh |
Long autonomous agentic sessions (Fable 5, Mythos 5, Opus 4.8/4.7, Sonnet 5) |
max |
Architecture, subtle bugs, security review — genuinely hard problems only. Session-only |
ultracode (Claude Code only) |
xhigh reasoning plus automatic multi-agent workflow orchestration. Session-only |
Current defaults (July 2026): Opus 4.8 → high on all surfaces; Sonnet 5 → high on API and Claude Code. Check yours with /effort. (Historical footnote: Claude Code v2.1.117, April 2026, first standardized Pro/Max defaults to high after the March "nerfed medium" episode.)
Setting it, in order of persistence:
# This turn only — adds an in-context cue (does not change API effort)
> ultrathink — design the migration strategy
# This session — slider with no args, level name with arg
/effort xhigh
/effort ultracode # xhigh + automatic multi-agent workflows
/effort auto # reset to model default
# All sessions (low/medium/high/xhigh) — add this key to .claude/settings.json:
# "effortLevel": "high"
# max and ultracode are session-only by design and can't be persisted.
⚠️ Two gotchas worth knowing:
maxshows diminishing returns on routine work and is more prone to overthinking — Anthropic's own guidance. Don't default to it.- Context quality often beats more effort. If you're reaching for max on a task that shouldn't need it, ~80% of the time the fix is upstream — sharper
CLAUDE.md, atomic plan, named files. Full breakdown →
💡 Pattern: plan-with-Opus / execute-with-Sonnet. Plan in Opus 4.8 (or Fable 5) at xhigh or max; hand the atomic, zero-ambiguity plan to Sonnet 5 at lower effort to execute. Sonnet follows clear plans without drift, so the cheap execution is reliable when the plan is sharp.
Claude Commands
Claude Code ships dozens of built-in slash commands (official reference) plus the ability to define your own as skills (markdown files in .claude/commands/). The two work together — built-ins for common operations, custom skills for your team's workflows.
Day-1 essentials
| Command | Purpose |
|---|---|
/init |
Generate a CLAUDE.md for your project — your "house rules" Claude reads every session |
/help |
List all available commands |
/clear |
Reset conversation history when you want a clean slate |
/usage |
Track token and plan usage (merged /cost + /stats as of v2.1.118) |
/model |
Switch models — your pick persists as the default for new sessions (press s for session-only) |
→ Curated slash-command cheatsheet in
docs/reference/commands.md(including/fast,/hooks,/mcp,/teleport,/workflows,/rewind, …)
Custom slash commands
Define a frequently-used prompt once as a markdown file, invoke it forever with /skill-name:
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" \
> .claude/commands/optimize.md
💡 Next level: custom slash commands and Skills are the same thing. Head to Claude Skills for the deep dive — built-in skills, the 7 custom skills in this repo, workflow recipes, and how to write your own.
Claude Skills
~3 min read · Full guide in docs/skills.md →
Mental model: Skills package a workflow into a markdown file. Two equivalent formats — officially one system now:
- Slash skills —
.claude/commands/<name>.md, you invoke them with/<name>- Agent Skills —
.claude/skills/<name>/SKILL.mdwith YAML frontmatter; Claude can also auto-invoke these when the description matches the task
.claude/commands/deploy.mdand.claude/skills/deploy/SKILL.mdboth create/deploy. Skills follow the open agentskills.io standard, adopted by ~40 products beyond Claude Code (Codex, Copilot, Cursor, Gemini CLI, …).
⚠️ Security: Skills are executable instructions running with your shell permissions. Read every third-party skill before adding it — exactly like reviewing a shell script before sourcing it.
Project beats user beats built-in — which is how this repo's custom /review deliberately shadows the built-in one. Slash skills load on / autocomplete; Agent Skills preload only their metadata and read the body on demand. Full lookup table →
Your first skill in 3 minutes
mkdir -p .claude/commands
cat > .claude/commands/analyze.md << 'EOF'
# Code Analysis
Analyze the current code for:
- Potential bugs and edge cases
- Performance optimizations
- Code quality improvements
- Security vulnerabilities
Provide specific, actionable recommendations.
EOF
claude # then type: /analyze
That's it — a working slash skill. Promote it to an Agent Skill later by moving it to .claude/skills/analyze/SKILL.md and adding name/description frontmatter.
Want more depth?
The full Skills guide in docs/skills.md covers:
- The 8 skills shipped here:
/pr,/review,/tdd,/test,/five,/ux,/todo, plus the Agent Skill/claude-md-review - Bundled built-in skills (e.g.
/dataviz,/debug,/keybindings-help) - Slash skills vs Agent Skills, and the full frontmatter reference — including why
allowed-toolsgrants permission rather than restricting it - Workflow recipes — feature dev with TDD + PR, bug investigation, UX-first dev
- How to write your own skills (file format, scope, examples)
- Skills FAQ, troubleshooting, and best practices
Beyond your own skills — the ecosystem
The community has built an enormous catalog of Agent Skills. Three places to start browsing:
| Resource | What it offers |
|---|---|
| anthropics/skills | Anthropic's official skills — PDF, slides, brand guidelines, document creation (158k+ ⭐) |
| SkillHub · SkillsMP · Smithery · skills.sh | Searchable marketplaces — community Agent Skills indexed from GitHub at massive scale |
travisvn/awesome-claude-skills · ComposioHQ/awesome-claude-skills |
Curated lists for high-signal picks |
Notable community skills: skill-creator, skill-installer, mcp-builder, systematic-debugging, pair-programming, github-code-review, pptx, react, frontend-design, prompt-engineering-patterns, superpowers, brainstorming, market-research-reports, senior-data-engineer, and many more — see the full ecosystem section in docs/skills.md for categorized tables and install paths.
Hooks
Mental model: Hooks are programmable checkpoints on Claude Code's lifecycle (before/after a tool call, session start, prompt submit, etc.). Your script inspects the proposed action and returns allow / deny / modify.
Three cases that win most teams over:
| Use case | What the hook does |
|---|---|
| Auto-format on save | Runs prettier / ruff / gofmt after every Edit so Claude's output matches your style |
| Block sensitive paths | Refuses changes to .env, secrets/, infra/prod/ regardless of what Claude tries |
| Action audit log | Records every tool call to a file — paper trail of what Claude did and when |
If none of those resonate, skip ahead.

Setting up hooks
Hooks live in settings files at four scopes (later overrides earlier):
| Scope | Path |
|---|---|
| User-wide | ~/.claude/settings.json |
| Project (committed) | .claude/settings.json |
| Project (local, gitignored) | .claude/settings.local.json |
| Enterprise managed policy | platform-specific |
Quickest setup — use the interactive menu:
/hooks # browse, enable, configure hooks without touching JSON
Manual setup — for the hook scripts in this repo:
- Copy
.claude/hooks/into your project's.claude/folder. - Delete the hook scripts you don't need; keep the rest.
- Install
uv(required to run the Python hook scripts). - Copy
.claude/settings.jsoninto your project's.claude/folder. - In
settings.json, replace any hardcodeduvpath with the output of$(which uv).
project-root/
└── .claude/
├── hooks/
│ ├── notification.py
│ ├── post_tool_use.py
│ └── ...
└── settings.json
Hook Events
Hooks run in response to various events within Claude Code's lifecycle: examples
PreToolUse: Runs after Claude creates tool parameters but before processing the tool call.PostToolUse: Runs immediately after a tool completes successfully.Notification: Runs when Claude Code sends notifications, such as when permission is needed to use a tool or when prompt input has been idle.UserPromptSubmit: Runs when the user submits a prompt, before Claude processes it.Stop: Runs when the main Claude Code agent has finished responding (does not run if stopped by user interrupt).SubagentStop: Runs when a Claude Code subagent (Task tool call) has finished responding.SessionEnd: Runs when a Claude Code session ends.PreCompact: Runs before Claude Code is about to run a compact operation.SessionStart: Runs when Claude Code starts a new session or resumes an existing session.TeammateIdle: Runs when an agent teammate becomes idle (Agent Teams) — exit code 2 sends the teammate back to work.TaskCompleted: Runs when a task is marked as completed — exit code 2 blocks the completion.
These are the most-used events. The full catalog is 30 events (SubagentStart, PermissionRequest, FileChanged, WorktreeCreate, PostCompact, …) — see the official hooks reference.
Hook input
Hooks receive JSON via stdin. Every event includes session_id, transcript_path, and cwd. Event-specific fields:
| Hook Event | Event-specific fields |
|---|---|
PreToolUse |
tool_name, tool_input |
PostToolUse |
tool_name, tool_input, tool_response |
Notification |
message |
UserPromptSubmit |
prompt |
Stop / SubagentStop |
stop_hook_active |
PreCompact |
trigger, custom_instructions |
SessionStart |
source |
SessionEnd |
reason |
TeammateIdle |
teammate_id, last_activity |
TaskCompleted |
task_id, task_name, completion_time |
ℹ️ The
team_namefield inTaskCreated/TaskCompleted/TeammateIdlepayloads is deprecated since v2.1.178 (one implicit team per session).
Hook output
Two ways to communicate back: exit codes for simple control, JSON in stdout for fine-grained behavior.
| Exit code | Effect |
|---|---|
0 (success) |
stdout shown in transcript mode (CTRL-R). For UserPromptSubmit / SessionStart, stdout is added to Claude's context. |
2 (blocking) |
stderr fed back to Claude (or shown to user) to block the action. Stops tool calls in PreToolUse; stops prompt processing in UserPromptSubmit. |
| Other | stderr shown; execution continues. |
Advanced: structured JSON in stdout. Per-event decision fields:
| Event | JSON output |
|---|---|
PreToolUse |
permissionDecision: "allow" / "deny" / "ask"; updatedInput to modify tool parameters |
PostToolUse |
decision: "block" or undefined; additionalContext can be returned |
UserPromptSubmit |
decision: "block" or undefined; additionalContext can be returned |
Stop / SubagentStop |
decision: "block" or undefined |
SessionStart |
additionalContext |
Security considerations
Hooks run arbitrary shell commands automatically with your user permissions — they can read, modify, or delete any file you can. Anthropic provides no warranty for what your hooks do.
Best practices:
- Validate and sanitize all inputs from stdin JSON
- Quote shell variables (
"$var", not$var) - Block path traversal (
.., absolute paths outside the project) - Use absolute paths for invoked scripts so PATH attacks don't redirect
- Explicitly skip sensitive files (
.env,.git/,secrets/)
Claude Code snapshots your hook configuration at session start and warns if hooks change mid-session — review before applying.
Execution & debugging
- Timeout — defaults vary by hook type: 600s for
command/http/mcp_toolhooks, 30s forprompthooks, 60s foragenthooks (some events lower these — e.g.UserPromptSubmitcommand hooks get 30s). Configurable per hook. - Parallelization — all matching hooks run in parallel; identical handlers are deduplicated automatically.
- Environment — hooks run in the current dir with Claude Code's env;
CLAUDE_PROJECT_DIRis available. - Debug —
/hooksshows current config;claude --debugshows hook execution logs; test scripts manually with the JSON payload piped to stdin.
Subagents & running agents in parallel
Claude Code has four ways to run agents at once. They're easy to confuse, so start here — the question that separates them is who coordinates the work:
| Surface | Who coordinates | Reach for it when… |
|---|---|---|
| Subagents (below) | Claude, turn by turn, inside one session | A side task would flood your main conversation with search results, logs, or file contents you'll never reference again |
Agent view — claude agents (research preview) |
You — hand off, check back later | You have several independent tasks and want to dispatch them, glance at status, and step in only when one needs you. Each dispatched session gets its own worktree automatically |
| Agent Teams (experimental) | A lead agent supervising peer sessions | Workers need to talk to each other — share findings, challenge each other, self-claim from a shared task list |
| Dynamic Workflows | A script, not Claude's judgement | The job outgrows a handful of subagents, or you want findings cross-checked against each other: codebase-wide audits, 500-file migrations |
Two supporting tools that aren't a coordination style of their own:
- Git worktrees — separate checkouts so parallel sessions never touch the same files.
/batch— a bundled skill that researches the codebase, splits one large change into 5–30 independent units, and spawns a background subagent per unit in its own worktree, each opening a PR. It's a packaged use of subagents + worktrees, and the fastest way to feel this whole category.
💡 Checking on running work depends on what you started:
/tasksfor anything backgrounded in the current session,claude agentsfor background sessions,/workflowsfor workflow runs. Note/agents(removed as a wizard in v2.1.198) is a different thing entirely fromclaude agents.
1. Git worktrees — parallel branches, parallel sessions
Git worktrees let one repo have multiple branches checked out at the same time, each in its own folder. Pair them with one Claude Code session per worktree to run independent streams of work.
git worktree add -b feature-a ../feature-a # create the worktree
cd ../feature-a && claude # start Claude in it
# Repeat in another terminal for feature-b. Each session is independent.
git worktree remove ../feature-a # clean up when done

💡 Use tmux to keep each worktree's session attached even when you close the terminal.
💡 Prefer not to manage them by hand?
claude agents(agent view) puts each dispatched session in its own worktree automatically, and/batchdoes the same per unit of work.
2. General-purpose subagents — when one Claude isn't enough
From your main session, ask Claude to spawn subagents for a parallel sub-task. Each subagent runs in its own context window and reports a summary back, so the main session stays focused.
Analyze the implementation of the payment feature.
Spawn 5 subagents to accelerate the work.
Ultrathink.

3. Specialized subagents — drop-in role prompts
Specialized agents are pre-written role prompts you drop into .claude/agents/. Each one carries its own focus and tooling, so a security-reviewer agent stays focused on threats instead of also opining on code style.
An agent is just a markdown file with YAML frontmatter — create .claude/agents/security-reviewer.md (or ask Claude to write it; the old /agents wizard was removed in v2.1.198):
---
name: security-reviewer
description: Use after changes touching auth, input handling, or secrets — reviews diffs for vulnerabilities.
tools: Read, Grep, Glob
---
You are a security engineer. Review the changes for injection risks,
secrets in code, authZ/authN gaps, and unsafe input handling. Report
findings by severity with concrete fixes.
The description is what the main session uses to decide when to delegate — keep it to a couple of sentences of when-to-use criteria; the body below the frontmatter is the agent's system prompt. This repo's .claude/agents/ holds five working examples.
This repo ships 10 production-ready specialist prompts you can drop into .claude/agents/:
| Role | System prompt | Role description |
|---|---|---|
| Backend Engineer | prompt | description |
| Frontend Engineer | prompt | description |
| Database Engineer | prompt | description |
| Tech Lead | prompt | description |
| Code Reviewer | prompt | description |
| Security Reviewer | prompt | description |
| UX Engineer | prompt | description |
| Design Reviewer | prompt | — |
| Project Manager | prompt | description |
| Business Analyst | prompt | description |
Orchestrating specialists from the main session
Once you have specialized agents, the main session orchestrates them by name:
Have backend-engineer suggest UI improvements; have frontend-engineer
implement them; have code-reviewer review the changes; have
frontend-engineer address the review feedback.
📐 That board is
specialized-agents/agent-orchestration-workflow.canvas— open it in Obsidian or any canvas-compatible viewer to read the full prompts side by side.💡 The same prompts work as Agent Teams teammates — see Agent Teams.
Agent Teams (Experimental)
Agent Teams is an experimental feature that lets a single Claude Code session coordinate multiple specialist agents through a shared task list. The main session acts as the team lead; teammates work on their tasks (sometimes in parallel), report progress, and update the shared list. Reach for it on full-stack features, large refactors, or anything where multiple perspectives genuinely help. Skip it for single-file edits and quick fixes.
Enable it
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 # add to ~/.zshrc to persist
claude
Or, more durably, in settings.json:
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
The example that justifies the cost
Most "spawn N teammates" prompts would work just as well with subagents. This one wouldn't — it needs teammates to **talk to ea
Comments (0)
Sign in to join the discussion.


No comments yet
Be the first to share your take.