Install, authenticate, and prove it works
By the end you can
- Install Claude Code on your platform with the method that matches how you want updates handled
- Authenticate with the account type you actually have, and know which plans include Claude Code
- Prove the install is healthy with claude --version and claude doctor rather than assuming it
- Choose a surface (terminal, VS Code, JetBrains, desktop, web) and say what each one adds
There are five ways to install Claude Code and they differ in exactly one thing that matters later: who is responsible for updates. Pick deliberately, because "my Claude Code doesn't have that feature" is almost always a Homebrew install that nobody has upgraded since February.
Install
The native installer is the documented recommendation, and native installs auto-update in the background (Advanced setup).
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash# Windows PowerShell
irm https://claude.ai/install.ps1 | iexThe alternatives, and what you are signing up for:
| Method | Command | Updates |
|---|---|---|
| Native (recommended) | curl -fsSL https://claude.ai/install.sh | bash | Automatic, in the background |
| Homebrew | brew install --cask claude-code | Manual: brew upgrade claude-code |
| WinGet | winget install Anthropic.ClaudeCode | Manual: winget upgrade Anthropic.ClaudeCode |
| npm | npm install -g @anthropic-ai/claude-code | Manual, and needs Node.js 22+ from v2.1.198 on |
| apt / dnf / apk | see the docs for the signed repos | Through your normal system upgrades |
The npm row's Node floor is itself versioned, and it is a floor you are now
standing on: the npm package requires Node.js 22 or later as of v2.1.198
(Advanced setup). Install it on an older
Node anyway and npm prints an EBADENGINE warning rather than failing, the
install completes, and claude still runs, because the package downloads a
native binary that does not use your Node.js at runtime. So a green npm install
proves less here than usual.
Authenticate
Claude Code requires a Pro, Max, Team, Enterprise, or Console account. The free Claude.ai plan does not include Claude Code (Setup). You can also route through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry if your organisation does.
Log in by starting a session and following the browser prompt:
claudeTwo things worth knowing before you hit them:
- If
ANTHROPIC_API_KEYis set in your environment, Claude Code does not open the browser login. It prompts you once to approve that key instead. If you meant to use your subscription and find yourself billed to Console credits, this is why. /logininside a running session switches accounts or re-authenticates.
Prove it works
This is the first place the course's central habit shows up: a thing is not working because it looked like it worked. Two commands, in this order.
claude --versionA healthy install prints a version and the product name — 2.1.211 (Claude Code)
in the docs' example. If this prints command not found, nothing below will help
until it doesn't.
claude doctorclaude doctor prints read-only installation and settings diagnostics without
starting a session — install health, settings-file validation errors, warnings
with suggested fixes, and the result of the most recent auto-update attempt. It
is a full-screen report rather than a line of output, so there is nothing useful
to paste here. Run it, and check three things: that the install method it names
is the one you actually used, that the last auto-update attempt succeeded, and
that no settings file is listed as invalid. The second is the fastest way to find
out your updates have been silently failing for three weeks; the third presents
later as "Claude keeps asking permission for things I allow-listed", because a
settings file with a JSON syntax error is silently ignored.
Run both commands now, before you go on. The rest of Level 1 assumes a working install, and every later level assumes you will check rather than assume.
Choosing a surface
Every surface connects to the same engine — the same agentic loop, and the same
CLAUDE.md, settings, and MCP servers from your repo
(Overview). What changes is where the
code runs and how you see it.
| Surface | Adds | Needs |
|---|---|---|
| Terminal CLI | Everything; the reference surface | The install above |
| VS Code / Cursor | Inline diffs, @-mentions, plan review, history | The extension |
| JetBrains | Interactive diffs, selection context sharing | The plugin plus the CLI |
| Desktop app | Visual diff review, parallel sessions, scheduled tasks, cloud sessions | Its own download; includes Claude Code |
Web (claude.ai/code) | Long-running tasks, repos you don't have locally, parallel work | Nothing local |
Checkpoint
You should have a version number and a clean claude doctor on your own machine,
and be able to say which of the five install methods you used, who is responsible
for updating it, and which credential the session is actually running on — a
subscription plan or an ANTHROPIC_API_KEY you forgot was exported.