by wesammustafa
A practical, copy‑paste‑ready guide for using Claude Code, covering installation, prompt engineering, slash commands, skills, hooks, subagents, MCP integration, and agent‑team workflows for developers ranging from beginners to power users.
Provides a step‑by‑step tutorial that teaches developers how to set up Claude Code, craft effective prompts, create reusable slash‑command skills, configure hooks, work with subagents, build dynamic workflows, and orchestrate agent teams. It also explains Model Context Protocol (MCP) servers and offers ready‑made examples that can be copied into your own projects.
curl -fsSL https://claude.ai/install.sh | bash (macOS, Linux, WSL) or follow the official setup guide for Windows.claude to log in via the browser, then use /login or /logout inside a session as needed..claude/ folder (skills, workflows, settings) into your own project, reviewing each before use.claude in any repo and invoke slash commands like /init, /fast, /model, or custom skills such as /analyze./deep-research, /stale-docs-audit) to scale from single‑file fixes to multi‑agent automation./code-review ultra or custom skill workflows for CI pipelines.low, medium, high, xhigh, max, plus the ultracode setting which triggers automatic multi‑agent orchestration..claude/settings.json, and invoke it via slash commands or workflows..env files) and store API keys in environment variables, not in CLAUDE.md.CHANGELOG.md for the latest feature changes.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.
curl -fsSL https://claude.ai/install.sh | bash
macOS, Linux, and WSL. For Windows and other install methods, see the official setup guide.
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.
| 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 | varies |
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.
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: Effort levels · Fast Mode
Reference — Slash Command Cheatsheet · Effort levels · Workflows · Agent Teams · Skills · FAQ · Updates & Deprecations · Further Reading
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:
grep, follows imports, and grounds answers in real context.pytest/vitest/go test on the spot to verify the change.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
Launches landed in quick succession through 2026: Claude Opus 4.8 (May 28, 2026), Claude Fable 5 and its restricted sibling Claude Mythos 5 (June 9, 2026), which opened a new Mythos-class tier above Opus, Claude Sonnet 5 (June 30, 2026), Claude Opus 5 (July 24, 2026), Claude Fable 5.1 and Claude Mythos 5.1 (September 1, 2026), Claude Opus 5.5 (September 22, 2026), and Claude Sonnet 5.5 (September 28, 2026). Since Claude Code v2.1.280, Opus 5.5 is the default model on Pro, Max, Team, Enterprise, and the Anthropic API. 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.5 | Everyday coding: most tasks live here. 10 per MTok, the same as Sonnet 5 |
| Opus 5.5 (default) | Complex reasoning, large refactors, orchestrating agents: 20, 20% less than Opus 5 |
| Fable 5.1 | Genuinely hard problems: Mythos-class capability above Opus at 50 |
| Haiku 4.5 | Fast, lightweight tasks — quick questions, doc updates (5, 200K context) |
Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, Sonnet 5, Sonnet 4.6, and Fable 5 are now legacy models (still available); Opus 4.1 retired on August 5, 2026, except on Bedrock and Google Cloud. Sonnet 5's 10 intro price was made permanent on August 10, 2026, so the planned September 1, 2026 rise to 15 never happened. Mythos 5 (invitation-only via Project Glasswing) shares Fable 5's specs and pricing, and Mythos 5.1 is the same model as Fable 5.1 with different safeguards, available only through Anthropic's trusted access programs.
→ Full specs, capabilities, and pricing in
docs/reference/models.md
⏱️ 5-minute setup. Get from zero to your first AI-assisted commit.
curl -fsSL https://claude.ai/install.sh | bash
This is the recommended native install for macOS, Linux, and WSL, and it updates itself in the background. On Windows, use the PowerShell or CMD command from the official install guide. Alternatives: Homebrew, WinGet, and npm (
npm install -g @anthropic-ai/claude-code, which requires Node.js 22+).
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.
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.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.
This repo's .claude/ folder holds the maintainer's own tooling. It has no hooks and no allow rules, so cloning the repo and trusting the folder runs nothing by itself; its skill and workflow run only when invoked. Each path below is something you can copy into your own project:
| Path | What you get | Copy it when… |
|---|---|---|
.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/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/settings.json |
A deny rule that stops Claude's file tools from reading .env and .env.* files under the folder where you start Claude Code |
You want the same guard on your own secrets |
The slash commands, subagents and hook this table used to list were removed; see the CHANGELOG.
git clone --depth 1 https://github.com/wesammustafa/Claude-Code-Everything-You-Need-to-Know /tmp/cc-guide
cp -r /tmp/cc-guide/.claude/skills/claude-md-review your-project/.claude/skills/ # 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.
📖 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.
Versatile workflow for complex problems.
ultrathink to the prompt for deeper reasoning on that turn; Claude Code recognizes only ultrathink and passes "think", "think hard", or "think harder" through as ordinary prompt text. See Effort levels for the full reasoning dial. Optionally save the plan for future reference.default (labeled Manual), acceptEdits, plan, auto, dontAsk, and bypassPermissions. Press Shift + Tab to cycle default → acceptEdits → plan, followed by bypassPermissions and auto when they're available (dontAsk is never in the cycle). With Claude Code v2.1.283 or later, auto is the built-in starting mode for interactive terminal and VS Code sessions; --permission-mode or permissions.defaultMode can choose another.


💡 Pro Tip: Research & planning first significantly improves performance for complex tasks.
Ideal for changes verifiable with unit/integration tests.
🔹 Clear targets (tests, mocks) improve iteration efficiency.
🔹 Iteration significantly improves output quality (2-3 rounds usually enough).
→ 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; the default depends on the model); Claude Code adds an ultracode toggle on top:
| 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. Claude Code's default on most effort models (Opus 5.5 and Sonnet 5.5 default to medium, Opus 4.7 to xhigh) |
xhigh |
Long autonomous agentic sessions (Fable 5.1/5, Opus 5.5/5/4.8/4.7, Sonnet 5.5/5) |
max |
Architecture, subtle bugs, security review — genuinely hard problems only. Session-only |
ultracode (Claude Code setting, not an effort level) |
Automatic multi-agent workflow orchestration at whatever effort the session runs (v2.1.284+); --effort ultracode also sets xhigh. Save it with the ultracode setting |
Defaults in Claude Code (v2.1.289): Opus 5.5 and Sonnet 5.5 → medium; Opus 4.7 → xhigh; every other effort model, including Fable 5.1, Opus 4.8, and Sonnet 5 → high. Haiku 4.5 has no effort setting. 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 # automatic multi-agent workflows; keeps your effort level (v2.1.284+)
/effort auto # reset to model default
# All sessions (low/medium/high/xhigh) — add this key to .claude/settings.json:
# "effortLevel": "high"
# max can't be saved here; ultracode has its own "ultracode" setting.
⚠️ 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 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.
| 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, …)
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 Agent Skill in this repo, and how to write your own.
~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.
On a name clash, enterprise beats personal (~/.claude/) and personal beats project (.claude/); a local skill replaces a bundled skill of the same name, or (in a local terminal session) a built-in command, but not its aliases; plugin skills are namespaced as /plugin-name:skill-name, so both load (official rules). Slash skills load on / autocomplete; Agent Skills preload only their metadata and read the body on demand. Full lookup table →
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.
The full Skills guide in docs/skills.md covers:
/claude-md-review/dataviz, /debug, /keybindings-help)allowed-tools grants permission rather than restricting itRemoved: this listed third-party skill catalogs and marketplaces that no lesson uses. To find more skills, start with Anthropic's plugin marketplaces. See the CHANGELOG.
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.

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
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 33 events as of October 4, 2026 (SubagentStart, PermissionRequest, FileChanged, WorktreeCreate, PostCompact, …); see the official hooks reference.
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).
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 |
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:
"$var", not $var).., absolute paths outside the project).env, .git/, secrets/)Claude Code snapshots your hook configuration at session start and warns if hooks change mid-session — review before applying.
command/http/mcp_tool hooks, 30s for prompt hooks, 60s for agent hooks (some events lower these — e.g. UserPromptSubmit command hooks get 30s). Configurable per hook.CLAUDE_PROJECT_DIR is available./hooks shows current config; claude --debug shows hook execution logs; test scripts manually with the JSON payload piped to stdin.
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:
/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.
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.
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.

Removed: the ten role prompts this section listed. To write a subagent of your own, see Create custom subagents. See the CHANGELOG.
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.
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" } }
Most "spawn N teammates" prompts would work just as well with subagents. This one wouldn't — it needs teammates to talk to each other:
Users report the app exits after one message instead of staying connected.
Spawn 5 agent teammates to investigate different hypotheses. Have them talk to
each other to try to disprove each other's theories, like a scientific
debate. Update the findings doc with whatever consensus emerges.
The debate structure is the mechanism. Sequential investigation anchors: once one theory gets explored, everything after is biased toward it. With independent investigators actively trying to disprove each other, the theory that survives is far more likely to be the real root cause.
A teammate can be spawned from a subagent definition, so the subagents you define work as teammates, not just as subagents:
Spawn a teammate using the security-reviewer agent type to audit the auth module.
It honors that definition's tools allowlist and model, and the body is appended to the teammate's system prompt. (skills and mcpServers frontmatter is not applied to teammates.)
/model. Set Default teammate model in /config (pick Default (leader's model) to follow the lead), or name the model per spawn. They do inherit the lead's effort level. Model and fast mode are fixed at spawn — /model and /fast only ever change the lead.CLAUDE.md, MCP servers, and skills like any session, but everything task-specific has to be in the spawn prompt.Teammates appear in the agent panel below your prompt input: ↑/↓ to select, Enter to open a transcript and message that teammate directly, Esc to interrupt, Ctrl+T for the task list. An idle row that vanished is hidden, not stopped — it returns on the teammate's next turn.
⚠️
claude agentsopens agent view, a different surface for background sessions — not your team monitor. And subagents show up in the same agent panel as teammates, so seeing rows there doesn't prove a team actually formed.
| ✅ Do | ❌ Don't |
|---|---|
| Start with 3–5 teammates, ~5–6 tasks each | Scale up before the work needs it — three focused beat five scattered |
| Give each teammate a distinct, non-overlapping slice of files | Let two teammates edit the same file |
| Put task specifics in the spawn prompt | Assume teammates saw your conversation |
| Name teammates descriptively so you can address them later | Use agent1, agent2 |
| Start with research and review while learning | Start with parallel implementation |
Gate "done" with a TaskCompleted hook (exit 2 blocks) |
Let a teammate declare victory on a red test suite |
📚 Full guide in
docs/agent-teams.md→ — display modes, plan approval, the mailbox architecture, permissions, hooks, troubleshooting, and the honest limitations list. Authoritative reference: code.claude.com/docs/en/agent-teams.
~3 min read · Full guide in docs/workflows.md →
Mental model: A dynamic workflow is a JavaScript script that orchestrates subagents. Claude writes the script for the task you describe; a runtime executes it in the background while your session stays responsive. Everything else on this page has Claude deciding what runs next, turn by turn — here, the script holds the plan.
Two consequences make this more than "more agents":
/deep-research What changed in the Node.js permission model between v20 and v22?
/deep-research is bundled. It fans searches across several angles, cross-checks the sources, votes on each claim, and returns a cited report with the claims that failed cross-checking already filtered out. Approve the run, then /workflows to watch phases, agent counts, and live token spend.
| Scope | How |
|---|---|
| One task | Say ultracode — or just "use a workflow" — in your prompt |
| Whole session | /effort ultracode (or claude --effort ultracode) — Claude plans a workflow for every substantive task |
| Forever | Run /workflows, select a run, press s to save its script to .claude/workflows/ — it becomes /<name> for everyone who clones the repo |
Three phrases that reliably improve the script Claude writes: "adversarially verify each finding" (skeptic agents that try to refute results), "in its own isolated copy" (each agent gets a git worktree, so parallel edits can't conflict), and "until two rounds in a row find nothing new" (a convergence condition instead of a guessed count).
📂 This repo ships a working one:
.claude/workflows/stale-docs-audit.js— one reader agent per doc file, then independent skeptics that try to refute each finding before it's reported. Clone and run/stale-docs-audit.
⚠️ Two things that surprise people. The subagents a workflow spawns always run in
acceptEditsregardless of your session's permission mode — file edits are auto-approved. And an agent still running when you stop a run isn't cached, so many small agents preserve far more progress on resume than a few long ones. Details →
Limits: 16 concurrent agents, 1,000 per run, no mid-run user input, resume only within the same session. Cost control lives in /config (Dynamic workflow size, default medium ≈ under 15 agents) — and the cheapest habit is running on one directory before the whole repo.
Claude Code grew a set of orchestration features in mid-2026 that compose with everything above:
| Feature | What it does | Docs |
|---|---|---|
| Cloud code review | /code-review ultra runs a multi-agent review in the cloud (alias /ultrareview — 3 free runs on Pro/Max, then usage credits); claude ultrareview runs it non-interactively for CI |
commands |
| Routines | /schedule (alias /routines) runs scheduled agents on Anthropic-managed cloud infrastructure; /loop and the Cron tools cover local scheduling |
scheduled tasks |
| Artifacts | Publish live, shareable web pages to claude.ai straight from the CLI (Pro/Max/Team/Enterprise, CSP-sandboxed, 16 MiB limit) | artifacts |
| Auto memory | On by default — Claude keeps per-project memory in ~/.claude/projects/<project>/memory/ with a MEMORY.md index; manage with /memory |
memory |
| Claude in Chrome | Browser-driving agent, GA since v2.1.198 (July 1, 2026) | — |
Subagents got sharper too: they run in the background by default (v2.1.198), can nest up to three layers below the main conversation by default (v2.1.219; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 to turn nesting off), and claude agents opens a live multi-agent dashboard (Research Preview). The /agents setup wizard is gone: define agents by editing .claude/agents/ directly, or ask Claude to do it.
Mental model: MCP is a universal translator that lets any AI tool talk to any data source through one open protocol — USB-C for AI integrations.
Removed: the tables of MCP servers. To find a server, see Connect Claude Code to tools via MCP. See the CHANGELOG.
Before MCP, every AI app needed a custom integration for every tool: n apps × m tools = n × m brittle one-off connections. Teams inside the same company would reinvent the same Slack/GitHub/Postgres integration over and over.
MCP collapses this to N + M: each app implements MCP once, each tool exposes MCP once, and any combination works together. Same pattern Web APIs gave us for app-to-server and LSP gave us for editor-to-language tooling.
Each pillar makes ownership explicit, so it's always clear who's driving:
| Pillar | Controlled by | Purpose |
|---|---|---|
| Tools | The model | Lets the AI take actions — query a DB, call an API, write a file |
| Resources | The application | Feeds the AI structured context — files, error logs, JSON objects |
| Prompts | The user | Slash-command shortcuts that kick off multi-step workflows |
The official MCP Registry (public preview since September 2025) is the app-store-equivalent for MCP servers. An agent that needs to check Grafana logs but doesn't have a Grafana tool wired up can ping the registry, find the verified server, install it, and continue — teaching itself a new capability on the fly.
Removed: a survey of the MCP ecosystem that no lesson uses. See the CHANGELOG.
/fast toggles fast mode, a research preview: up to 2.5× faster output at 2× the price. Since v2.1.280 it runs on Opus 5.5 by default; Opus 5 and Opus 4.8 also support it (50 per MTok in fast mode), Sonnet and Haiku don't. It isn't CLI-only: the VS Code extension has a Toggle fast mode command, and claude.ai/code has a toggle in the model menu. The ↯ indicator confirms it's on. On subscription plans, fast mode draws from usage credits rather than plan limits.
| Standard Opus 5.5 | Fast Mode (Opus 5.5) | |
|---|---|---|
| Input (per MTok) | $4 | $8 (2×) |
| Output (per MTok) | $20 | $40 (2×) |
⚠️ Fast mode on older Opus models is gone. Opus 4.7 fast was deprecated on June 25, 2026 and removed on July 24, 2026 (v2.1.219), and Opus 4.6 doesn't support fast mode either.
/fast # toggle on (↯ appears)
> fix the auth bug in src/login.ts # faster output
/fast # toggle off when done
Decision rule: use it when latency matters (live debugging, demo prep, time-pressured fixes). At 2× cost it's a much easier call than the old 6× — but background work still doesn't need it. Use /usage to monitor.
Removed: two third-party agent frameworks, SuperClaude and BMAD, that no lesson uses. See the CHANGELOG.
→ Full FAQ in docs/reference/faq.md — covers models, pricing, tokens, plans, Fast Mode, worktrees, and Pro-plan optimization.
A few of the most-asked questions:
How many messages do I get on the Pro plan? Anthropic no longer publishes exact counts — third-party estimates put Pro at roughly ~45 messages per 5-hour window, and Claude Code's five-hour rate limits were doubled on May 6, 2026 (announcement). Details →
What's the difference between Pro, Max 5x, and Max 20x? Pro 100/mo (5× usage), Max 20x $200/mo (20× usage). All paid tiers include Claude Code and the current lineup; depending on your plan and seat tier, Fable usage can bill to usage credits instead of plan limits. Pricing details →
Should I use Fast Mode? Since v2.1.280 it defaults to Opus 5.5 (Opus 5 and Opus 4.8 also support it), at 2× price for up to 2.5× output speed: an easy call when latency matters. It's a research preview. More →
What's the difference between custom slash commands and skills?
Officially one system now — .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both create /deploy. See Skills FAQ in docs/skills.md.
Can I use the 1M-token context window? Yes — 1M context is standard on Sonnet 5, Opus 4.8, and Fable 5, with no long-context surcharge. More →
→ Full changelog in docs/reference/changelog.md — major changes, new features, and deprecations through early July 2026 (Claude Code v2.1.201).
Recent highlights:
ultracode — Claude orchestrates tens to hundreds of background subagents; watch with /workflows./agents wizard removed./cost + /stats → /usage; /extra-usage → /usage-credits; permission mode "default" → "Manual" (v2.1.200); /simplify → /code-review (then reintroduced as a cleanup-only review).💡 For Anthropic's authoritative release notes, see the Claude Code CHANGELOG and the weekly "What's new" digests.
→ Full reading list in docs/reference/further-reading.md
A curated set of pointers — official Anthropic docs, MCP resources, hooks examples, workflow tutorials, pricing references, and adjacent tooling.
Most-clicked starting points:
Features, pricing, and availability change frequently. Always check the official Claude Code documentation for the most current information.
Last full review: July 2026. On October 4, 2026, specific facts were corrected against Claude Code v2.1.289 (latest channel; stable is v2.1.285): install method, model lineup and default model, Sonnet 5 pricing, Opus 4.1 retirement, effort defaults and ultracode, think keywords, permission modes, skill precedence, hook event count, subagent nesting, Artifacts status, and fast mode; the MCP spec status was also updated. The rest of the guide was not re-verified. Spotted something stale? Open an issue or send a PR (see CONTRIBUTING.md).
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by headroomlabs-ai
Compress tool outputs, logs, files, RAG chunks, and conversation history before they reach the LLM, keeping answers identical while saving up to 95% of tokens for JSON payloads.
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.