# Claude Code — a power-user field guide > The state of the art in Claude Code — models, effort, permission modes, context, extensibility, orchestration, and the workflows that compound. Written for a power user on the macOS and iOS apps, kept current by an autonomous agent. For the full text in one file, see the /llms-full.txt link below. Structured data is at /practices.json, /guide.json, and /weekly.json. ## Guide - [Start here: the mental model](https://albertogrande.github.io/claude-code/guide/00-start-here): The one rule that changes everything, and the three habits that separate expert sessions from frustrating ones. - [Models & effort: the control panel](https://albertogrande.github.io/claude-code/guide/01-models-and-effort): The four models, the low→max effort ladder, fast mode, and the two keywords worth memorizing — plus quick picks by task. - [The permission dial: five ways to run](https://albertogrande.github.io/claude-code/guide/02-permission-modes): Manual, accept-edits, plan, auto, and bypass — what each does, when to reach for it, and why plan mode is the highest-leverage habit. - [Context & memory: your real budget](https://albertogrande.github.io/claude-code/guide/03-context-and-memory): The finite context window, the commands that keep it healthy, and the difference between the CLAUDE.md you write and the memory Claude writes. - [Skills, plugins, MCP & hooks](https://albertogrande.github.io/claude-code/guide/04-skills-plugins-mcp-hooks): Four ways to teach Claude new tricks — and how to tell which one you actually need. - [Subagents, parallelism & workflows](https://albertogrande.github.io/claude-code/guide/05-subagents-and-workflows): Three tiers of fan-out — background-by-default subagents, parallel worktrees, and dynamic multi-agent workflows — and when each earns its cost. - [Your Mac & iOS command center](https://albertogrande.github.io/claude-code/guide/06-mac-and-ios): The desktop app as a workspace, the phone as a remote, the cloud as an overnight worker — and the one continuous thread that flows across all three. - [The workflows that compound](https://albertogrande.github.io/claude-code/guide/07-workflows-that-compound): Explore-plan-code-commit, the verification loop, and the handful of structural patterns experts reach for — plus the anti-patterns to unlearn. - [How engineering teams work](https://albertogrande.github.io/claude-code/guide/08-how-teams-work): The state of the art in team practice — CLAUDE.md as shared infrastructure, workflows committed as skills, parallel agents across worktrees and the cloud, one agent grading another, and the guardrails that hold at org scale. ## Practices - [Switch to Fable for long unattended runs](https://albertogrande.github.io/claude-code/guide/01-models-and-effort): when A task will run 30+ minutes largely unattended (an overnight migration, a big multi-file refactor, a workflow fleet). → Switch the session to Fable before you kick it off. - [Let AskUserQuestion stall rather than guess on overnight jobs](https://albertogrande.github.io/claude-code/guide/02-permission-modes): when You're running an overnight or unattended job that might hit an AskUserQuestion. → Leave the default (since 2.1.200 it no longer auto-continues). Only re-enable the idle timeout via /config for tasks scoped so any default is harmless. - [Use auto mode for unattended runs, bypass only for sandboxes](https://albertogrande.github.io/claude-code/guide/02-permission-modes): when You're starting a long or unattended run and don't want to approve 200 prompts. → Use auto mode and scope what "trusted" means (your repos, buckets, internal domains). Reserve bypass mode for disposable sandboxes only. - [Clear context after a second failed correction](https://albertogrande.github.io/claude-code/guide/03-context-and-memory): when Claude has tried to fix the same thing twice and is still wrong. → Clear or compact the context and restate the problem fresh, rather than adding a third correction on top. - [Trim CLAUDE.md to what Claude can't derive](https://albertogrande.github.io/claude-code/guide/03-context-and-memory): when Your checked-in CLAUDE.md has grown past a screen, or /doctor flags it as bloated. → Cut anything Claude could derive from the codebase itself (project structure, commands visible in package.json, obvious conventions) and keep only durable constraints and non-obvious decisions. Since 2.1.206, /doctor proposes these trims for you. - [Set per-server MCP timeouts for slow tools](https://albertogrande.github.io/claude-code/guide/04-skills-plugins-mcp-hooks): when An MCP server does long-running calls (a heavy search, a build, a remote job) and they die at ~60 seconds in fresh sessions. → Set request_timeout_ms for that server in .mcp.json (or --mcp-config). Since 2.1.206 the setting is actually honored — before, fresh sessions silently fell back to the 60s default. - [Cap dynamic workflow size before an uncertain ultracode run](https://albertogrande.github.io/claude-code/guide/05-subagents-and-workflows): when You're about to make an ultracode / multi-agent request whose scale you're unsure about. → Set Dynamic workflow size to small in /config AND scope the prompt down. Watch the count in /workflows. - [Delegate routine coding to a lower-power subagent](https://albertogrande.github.io/claude-code/guide/05-subagents-and-workflows): when A multi-file task has a lot of mechanical coding (boilerplate, edits, wiring) around a few real decisions. → Tell Claude to run the routine coding in a subagent on an appropriate lower-power model, and keep judgment, review, and synthesis in the lead model. Drop the instruction in the session or your CLAUDE.md. - [Run /doctor first when setup misbehaves](https://albertogrande.github.io/claude-code/guide/06-mac-and-ios): when Claude Code acts oddly after an update — hooks not firing, an MCP server missing, settings seemingly ignored — or you inherit a machine you didn't configure. → Run /doctor (alias /checkup) before hand-debugging config files. Since 2.1.205 it diagnoses AND fixes setup issues, and since 2.1.206 it also flags bloated checked-in CLAUDE.md files. - [Use Artifacts instead of pasting long output](https://albertogrande.github.io/claude-code/guide/06-mac-and-ios): when You have a long PR walkthrough, investigation, or dashboard-like result you'd otherwise paste into Slack or Notes. → Ask for an artifact ("make an artifact that walks through this PR with the diff annotated"). Reopen the latest from any session with Ctrl+]. - [Split the writer from the reviewer](https://albertogrande.github.io/claude-code/guide/07-workflows-that-compound): when A session just built a feature or made a nontrivial change. → Run /code-review, or spin a fresh subagent that sees only the diff, to grade the work before you accept it. ## Weekly - [The week Claude Code learned to be left alone](https://albertogrande.github.io/claude-code/weekly/2026-w28): A run of releases (2.1.200–2.1.203) all pull in one direction — safer defaults, real cost dials, and background work you can finally trust. Plus Artifacts opens to Pro and Max. ## Machine endpoints - [llms-full.txt](https://albertogrande.github.io/claude-code/llms-full.txt): the whole guide and practices as one markdown file - [practices.json](https://albertogrande.github.io/claude-code/practices.json): structured best-practices - [guide.json](https://albertogrande.github.io/claude-code/guide.json): guide sections with markdown bodies - [weekly.json](https://albertogrande.github.io/claude-code/weekly.json): recent weekly digests