CCLearn

Install, authenticate, and prove it works

verified against Claude Code 2.1.191 · 2026-09-06review12 min

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).

bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
powershell
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

The alternatives, and what you are signing up for:

MethodCommandUpdates
Native (recommended)curl -fsSL https://claude.ai/install.sh | bashAutomatic, in the background
Homebrewbrew install --cask claude-codeManual: brew upgrade claude-code
WinGetwinget install Anthropic.ClaudeCodeManual: winget upgrade Anthropic.ClaudeCode
npmnpm install -g @anthropic-ai/claude-codeManual, and needs Node.js 22+
apt / dnf / apksee the docs for the signed reposThrough your normal system upgrades

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:

bash
claude

Two things worth knowing before you hit them:

  • If ANTHROPIC_API_KEY is 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.
  • /login inside 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.

bash
claude --version

A 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.

bash
claude doctor

claude doctor prints read-only installation and settings diagnostics without starting a session: install health, settings-file validation errors, and warnings with suggested fixes. It also reports the result of the most recent auto-update attempt, which is the fastest way to find out that your updates have been silently failing for three weeks.

terminal
$ claude --version
2.1.191 (Claude Code)

claude doctor is a full-screen report rather than a line of output, so there is nothing useful to paste here — run it and read it. What you are looking for is 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. A settings file with a JSON syntax error is silently ignored, which presents later as "Claude keeps asking permission for things I allow-listed".

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.

SurfaceAddsNeeds
Terminal CLIEverything; the reference surfaceThe install above
VS Code / CursorInline diffs, @-mentions, plan review, historyThe extension
JetBrainsInteractive diffs, selection context sharingThe plugin plus the CLI
Desktop appVisual diff review, parallel sessions, scheduled tasks, cloud sessionsIts own download; includes Claude Code
Web (claude.ai/code)Long-running tasks, repos you don't have locally, parallel workNothing local

Two of those lines are the ones people get wrong. The JetBrains plugin requires the CLI installed separately; the desktop app does not, because it ships Claude Code inside it.

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 and who is responsible for updating it.

Sources