wesammustafa/Claude-Code-Everything-You-Need-to-Know: 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
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.
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.
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 test on 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
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. $2/$10 per MTok, the same as Sonnet 5 |
| Opus 5.5(default) | Complex reasoning, large refactors, orchestrating agents: $4/$20, 20% less than Opus 5 |
| Fable 5.1 | 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 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 $2/$10 intro price was made permanent on August 10, 2026, so the planned September 1, 2026 rise to $3/$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.
⏱️ 5-minute setup. Get from zero to your first AI-assisted commit.
1. Install
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+).
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/ 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 -r a whole .claude/ you haven't opened.
💡 Next:Claude Skills to build your own in 3 minutes.
Prompt Engineering Deep Dive
📖 Claude Initialization
Run the /init command to automatically generate a CLAUDE.md file.
Your CLAUDE.md files 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. Add 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.
Code: Implement the solution; verify reasonableness as you go.
Claude Code has six permission modes: 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.
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:
- max shows 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) |
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.
Mental model: Skills package a workflow into a markdown file. Two equivalent formats — officially one system now:
- Slash skills — .claude/commands/.md, you invoke them with /
- Agent Skills — .claude/skills//SKILL.md with YAML frontmatter; Claude can also auto-invoke these when the description matches the task
> .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both 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 →
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.
Slash skills vs Agent Skills, and the full frontmatter reference — including why allowed-toolsgrants permission rather than restricting it
How to write your own skills (file format, scope, examples)
Skills FAQ, troubleshooting, and best practices
Removed: 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.
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 |
/hooks # browse, enable, configure hooks without touching 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 33 events as of October 4, 2026 (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:
ℹ️ The team_name field in TaskCreated / TaskCompleted / TeammateIdle payloads 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
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_tool hooks, 30s for prompt hooks, 60s for agent hooks (some events lower these — e.g. UserPromptSubmit command 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_DIR is available.
Debug — /hooks shows current config; claude --debug shows 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: /tasks for anything backgrounded in the current session, claude agents for background sessions, /workflows for workflow runs. Note /agents (removed as a wizard in v2.1.198) is a different thing entirely from claude 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 /batch does 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.
Removed: the ten role prompts this section listed. To write a subagent of your own, see Create custom subagents. See the CHANGELOG.
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
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.
Staff a team with the role prompts you already have
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.)
Three things that catch people out
Teammates don't inherit the lead's /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.
Teammates don't get the lead's conversation history. They load CLAUDE.md, MCP servers, and skills like any session, but everything task-specific has to be in the spawn prompt.
No worktree isolation. Unlike agent view, teams don't isolate teammates — two teammates editing one file is a straight overwrite. Partition the files yourself.
Monitoring, and the naming trap
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 agents opens 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.
Best practices
| ✅ 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 |
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":
Your context stays clean. Intermediate results live in script variables, not Claude's context window. That's why a workflow can coordinate 200 agents when a conversation can't coordinate 10.
Quality patterns become repeatable. A script can make independent agents adversarially refute each other's findings before anything is reported, or draft a plan from several angles and weigh them. Same structure every run.
Try it in 2 minutes — no script required
/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.
Starting your own
| 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 / 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 acceptEdits regardless 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.
Beyond one terminal — the 2026 automation surface
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//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.
Model Context Protocol (MCP)
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.
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.
Three pillars
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 MCP Registry & self-discovering agents
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 Mode ↯
/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 ($10/$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.
⚠️ 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.
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 $20/mo, Max 5x from $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 →
🆕 Claude Sonnet 5(June 30, 2026): 1M-token context standard; the default model on Pro and Team Standard until v2.1.280, when Claude Opus 5.5(September 22, 2026) became Claude Code's default on Pro, Max, Team, Enterprise, and the Anthropic API.
🆕 Claude Opus 4.8(May 28, 2026) — Opus flagship at unchanged pricing; Claude Fable 5 / Mythos 5(June 9, 2026) opened the Mythos-class tier above Opus.
🆕 Dynamic workflows + ultracode — Claude orchestrates tens to hundreds of background subagents; watch with /workflows.
🆕 Artifacts(generally available the week of June 29, 2026): publish live web pages to claude.ai from the CLI.
🆕 v2.1.198(July 1, 2026) — Claude in Chrome GA, subagents run in the background by default, /agents wizard removed.