Skip to content

01: Install & First Contact

20 minutes | You need: a real project, admin access, internet

Before you type anything, understand the engine. Claude Code is an agentic loop: you give a prompt, Claude decides which tools to use (read files, search code, run commands, edit files), executes them, reads the results, and decides next steps. It repeats until the task is done or it needs your input.

There is no pre-indexing, no background embedding, no project database. Claude reads your codebase on-demand using filesystem tools (Glob for finding files, Grep for searching content, Read for reading them). This means:

  • First prompt in a new session is slower (Claude is mapping your project)
  • Claude only knows what it has read — it can miss things in files it hasn’t opened
  • Your first exploratory question builds context that improves everything after

This matters because context is finite. Every file Claude reads, every tool output, every message — it all consumes tokens from a shared window. You’ll learn to manage this in Module 4. For now, just know: Claude is not omniscient, it’s an agent that reads and acts.

PlatformCommand
Linuxcurl -fsSL https://claude.ai/install.sh | bash
Windowsirm https://claude.ai/install.ps1 | iex
Homebrewbrew install --cask claude-code
wingetwinget install Anthropic.ClaudeCode
VS Codecode --install-extension anthropic.claude-code

Verify: claude --version

Terminal window
cd your-project
claude

Browser opens for one-time auth. Credentials stored in ~/.claude/.

What does this project do? Describe the architecture, main entry points, and how data flows through it.

Review the output. Notice how Claude uses tools — it’s reading files, searching for patterns, building understanding. Did it get the structure right?

Don’t add a comment. Do real work:

Find a potential bug, code smell, or missing error handler in [specific module]. Explain the issue and fix it.

If you don’t have a known issue, try:

Run the tests and fix any failures. If all tests pass, find an untested edge case and add a test for it.

Watch the agentic loop in action: Claude reads code, reasons about it, makes changes, runs tests, reads results, iterates.

Try each of these now:

CommandWhat it does
Shift+TabCycle permission modes: Normal → Auto-Accept Edits → Plan Mode
Ctrl+OToggle verbose/transcript output
Ctrl+RReverse search conversation history
Ctrl+GOpen prompt in external editor
\ + Enter or Ctrl+JInsert a newline
EscStop Claude mid-generation (keeps context)
Esc EscRewind to a previous checkpoint (undo changes)
!commandRun a shell command inline — output goes into context so Claude can see it
@fileAdd a file or folder to context with autocomplete
/commandSlash commands (e.g. /vibe, /context, /help)

Shift+Tab cycles through three modes that control how much autonomy Claude has:

  • Normal — Claude asks permission for edits and commands (start here)
  • Auto-Accept Edits (acceptEdits) — Claude edits files without asking, but still asks before running shell commands
  • Plan Mode — Claude can only read and plan, not write files or run shell commands (Module 3)

Full auto-accept (bypassPermissions) requires --allow-dangerously-skip-permissions or --enable-auto-mode and is not in the default Shift+Tab cycle.

  • claude --continue or claude -c — resume your most recent session
  • claude --resume — pick from a list of previous sessions
  • Esc Esc — checkpoint rewind. Claude creates restore points before edits. Double-escape lets you undo back to any checkpoint. This is your safety net.

Claude Code installed, authenticated, and working on your real project. A real fix or improvement (not a comment) — on a branch, with the diff reviewed before committing.

Playbook M01 — How LLMs Work for the mental model of what’s happening under the hood — why Claude hallucinates, how context windows work, and what “autoregressive generation” means for code quality.