Foundations
What Claude Code is, how its conversation loop works, and the small set of concepts (CLAUDE.md, permission modes, plan mode, context) that change everything downstream.
Claude Code is not a code-completion plugin and not a chat box. It is an agentic CLI that holds a conversation, plans, calls tools, and edits files — with the user in the loop. The Foundations topic covers the small set of ideas that, once internalised, make every other feature feel obvious: the loop, the context window, the memory file, the permission modes, plan mode, the advanced-prompting playbook, and the consolidated best-practices checklist.
Most frustration with Claude Code in week one traces back to skipping these. People treat it like an autocomplete and get autocomplete-shaped results. Treat it like a collaborator with a CLI and the experience changes shape entirely. The best-practices checklist is a good final stop — it consolidates the 15 highest-leverage habits the rest of the workbook expands on.
Key concepts
- The loop, not the prompt — Claude Code reads, thinks, calls tools, emits text, and waits. Every interaction lives inside that loop
- CLAUDE.md is the highest-leverage file in your repo — it's loaded into context on every session
- The context window is finite — long sessions need a strategy, not just a higher token budget
- Permission modes shape the trust contract — pick one deliberately for each session
- Plan mode is for designing before doing — use it for any non-trivial change
- Specificity beats brevity in prompts — name files, name functions, show examples. Vague tasks burn tokens
- Close the loop on every change — read the diff, run the tests, commit small. The best-practices checklist is the one-page reference
Reference template
// Mental scaffolding for any Claude Code session
1. What's the goal? (and is the scope clear enough to start?)
2. What permission mode? (default / accept-edits / plan / bypass)
3. What context does it need? (CLAUDE.md? specific files? a plan?)
4. What tools will it use? (any worth pre-allowlisting?)
5. How will you verify? (tests? type-check? manual smoke?)
6. When do you commit? (after each green step, not at the end) Adapt to your problem; the structure is the load-bearing part.
Common pitfalls
- Skipping CLAUDE.md — the project ends up re-explaining itself every session
- Treating the context window as infinite — past ~200K tokens, retrieval and summarisation become required
- Running in
bypasspermission mode for everyday work — fast-feeling, but unsafe and prone to expensive accidents - Skipping plan mode for hard tasks — you save five minutes of planning and lose an hour of rework
Related topics
Items (10)
- What Is Claude Code?
An agentic coding tool, not a chat box. How Claude Code differs from a code-completion assistant and from a raw chat model.
Concept Foundational - Installation and First Run
Installing the CLI, signing in, picking a model, and running your first conversation against a repository.
Concept Foundational - The Conversation Loop
How Claude Code reads, plans, calls tools, and emits text — the loop that makes everything else make sense.
Concept Foundational - Context Window and Token Budget
What lives in context, what gets summarized, what falls out — and how to plan a long session so the model still has what it needs.
Concept Intermediate - CLAUDE.md and Memory Files
Project-scoped instructions, auto-loaded memory, and the per-user memory system. The highest-leverage customization point.
Feature Foundational - Permission Modes
Default, accept-edits, plan, bypass — what each mode allows, when to use it, and how it interacts with allowlists.
Concept Foundational - Plan Mode
Read-only research mode for designing changes before touching the codebase. When to enter, how to write a good plan, when to exit.
Feature Foundational - Advanced Prompting Strategies
Specificity, examples, role/context priming, anti-patterns. How to phrase a task so Claude Code does it well the first time.
Concept Intermediate - Claude Code Best Practices — A Checklist
The consolidated playbook. The 15 highest-leverage habits, with cross-links to the writeups they expand on.
Concept Foundational - Settings and Configuration
settings.json layers (user, project, local), env vars, model selection, and the configuration precedence rules.
Feature Foundational