claude code
Launch claude in any repo, ask in plain English, and it reads your code to answer — read-only, nothing touched.
Describe a task; Claude reads, proposes a diff you approve, then runs the tests. Read, edit, verify.
One file your agent reads every session. Run /init to draft it from your codebase — stop re-explaining your project.
Claude shows its plan before touching a file. Read it, edit it, approve — then it runs. No surprise edits.
Built-in / commands, plus your own saved in .claude/commands/ and shared with your team via git.
Made a bad edit? Rewind code and conversation to any earlier point with /rewind or Esc-Esc.
Spin up subagents that each get their own context window and tools, working separate tasks at once.
A PostToolUse hook runs your formatter or linter automatically on every file Claude edits.
Give Claude live tools — databases, APIs, the browser — by adding one MCP server config.
Package a repeatable workflow into a SKILL.md that Claude loads on demand and reuses.
Keep long sessions lean: inspect with /context, shrink with /compact, reset with /clear.
Pick up exactly where you left off — --continue, --resume, or /resume.
Pipe anything into claude -p for a scriptable one-shot answer, no interactive session.
Type @ to pin a file straight into your prompt — stop making Claude hunt for it.
Run /code-review to get a bug-focused review of your current diff before you ship.
Make Claude interview you with multiple-choice questions to nail the spec before it builds.
Run /init and Claude scans the project and writes its own CLAUDE.md — no hand-editing.
Set /goal with a measurable finish line; Claude keeps working until it is met, then stops. Research preview.
Run /sandbox, pick auto-allow, and Claude runs shell commands in an OS-enforced box — no prompts. Research preview.
Run /statusline, describe what you want, and Claude writes the status-line script: model, branch, context %.
Prefix any input with ! to run a command inline — its output joins the chat so you can ask about it.
Extended thinking is on by default. Dial it with --effort (low to max), or drop ultrathink in a prompt for a one-off boost — "think hard" is just text now.
Add a marketplace with claude plugin marketplace add owner/repo, then claude plugin install name@marketplace. Plugin skills are namespaced, like commit-commands:commit.
Reshape how Claude responds — role, tone, format — with the outputStyle setting or /config. Built in: Default, Proactive, Explanatory, Learning.
Need a project rule to stick? Just say "add this to CLAUDE.md" mid-chat — Claude writes it into the file, loaded into every future session.
Ask Claude to run a long command in the background — it returns a task ID, keeps working, and reads the output back. Or press Ctrl+B.
Launch with claude --add-dir ../lib and Claude can read and edit a sibling directory too — same permission rules, paths validated up front.
Split a huge CLAUDE.md: reference another file with @path and Claude loads it at launch. Relative + absolute, nesting up to four hops.
Pipe claude -p "…" --output-format json | jq -r '.result' — scripts get a structured envelope: the answer in .result, plus session_id and cost.
/export saved-chat.txt writes the whole conversation to a plain-text file — no dialog. Drop it in a PR or ticket as reproducible context.
CLAUDE.md is forever — but to steer a single run, add --append-system-prompt "…" to a claude -p call. A one-off rule (here: answer in TypeScript, ELI5 note per function) that nothing in your repo records; run again without the flag and you're back to default.
Two Claude sessions on one repo can collide. claude --worktree NAME spins up an isolated git worktree under .claude/worktrees/ on a fresh branch — git worktree list shows both side by side. A different name in another terminal = parallel, isolated work.
/agents is a guided wizard; --agents is its headless twin — pass a name, description, tools, model, and system prompt as JSON. Then just ask, and Claude delegates the task straight to the subagent.
Press Shift+Tab in the TUI to cycle permission modes: accept edits (writes files, no prompts), plan (researches and proposes, never edits), and back to default (asks first). Your current mode always shows in the status bar.
A Stop hook in .claude/settings.json runs a command the moment Claude finishes a turn — no matcher, so it fires every time. Wire it to a notification, a test run, or a lint gate; exit 2 even keeps Claude working until your check passes.
/fast on runs Claude Code up to 2.5× faster — the same Opus model with quicker tokens, marked by a ⚡ in the status bar. The trade-off is about double the per-token cost ($10/$50 per Mtok); /fast off slows back down.
Not every task needs the biggest model. Add --model haiku to run a quick, cheap question on a faster model — same prompt, a fraction of the cost. Save Opus for the hard, multi-step problems; set it per run or as your default.
the rig
When an AI agent opens a pull request, another agent reviews it. The full review flow in The Rig — Review-E's persona, and the four gates before a change can merge. ~44 seconds.