Quickstart

Set Claude up the right way the first time. This page covers every surface — claude.ai, the desktop apps, Claude Code CLI, IDE extensions, the API, and mobile — with the install commands, login flow, and the configuration steps a pro user actually does on day one.

Pick your surface

0. Which surface should I use?

SurfaceBest forCost
claude.aiQuick conversations, documents, artifacts, light codingFree / Pro $20 / Max $100+
Desktop appSame as web but with system shortcut + file integrationSame as claude.ai
Claude CodeReal coding work in a terminal — refactors, PRs, multi-file editsFree with Pro/Max, or pay-as-you-go via API
IDE extensionInline edits, completions, and chat in VS Code / JetBrainsFree with Pro/Max
APIApps, automations, your own tools — pay per tokenPer-token, see pricing
MobileOn-the-go chat, photo inputFree / Pro
Pro tip: Most pros end up with three: claude.ai for thinking and writing, Claude Code for shipping software, and the API for the bots they build at work. Start with whichever matches today's task — you can add the others later.

1. claude.ai (web)

  1. Open claude.ai.
  2. Sign up with Google, Apple, or email + password.
  3. Click your avatar → Settings and turn on:
    • Artifacts — live previews for code, diagrams, and small apps.
    • Skills — the four document skills (PDF, Word, Excel, PowerPoint) are toggled here. Custom skills can be uploaded as folders.
    • Connectors — Google Drive, Calendar, GitHub, Notion, Figma, and more. Each shows up as MCP tools Claude can call mid-conversation.
    • Memory (Pro+) — persistent memory across conversations.
    • Custom instructions — your "always do X" preferences.
  4. Switch the model picker to Claude Opus 4.7 for hard tasks, Sonnet 4.6 for daily work, Haiku 4.5 for speed/cost.

Free vs Pro vs Max

FeatureFreePro ($20/mo)Max ($100–$200/mo)
Daily message limitLimited~5× Free5–20× Pro
Opus accessLimitedGenerous
Projects
Custom skills
Claude Code (subscription)LightHeavy
Computer use / advancedEarly access

2. Desktop app (macOS / Windows)

Same account, same skills, same settings as claude.ai — but with a system-wide shortcut and proper file-drag-and-drop.

  1. Download from claude.ai/download.
  2. Sign in with the same account as the web app.
  3. Set the global shortcut (default ⌘ ⌥ Space on macOS, Ctrl Alt Space on Windows) so Claude is always one keystroke away.
  4. Drag files directly into the chat window — works for PDFs, images, code, anything Claude can read.
Why use the desktop app? The global shortcut alone is worth it. You stop tab-hunting. The "take a screenshot and ask" flow is also smoother — the app captures it and pipes it in.

3. Claude Code CLI

This is what pros use for actual coding work. It's an interactive terminal agent that reads your repo, edits files, runs commands, opens PRs.

Install

# npm (cross-platform)
npm install -g @anthropic-ai/claude-code

# or native installer (macOS / Windows / Linux)
# https://docs.claude.com/en/docs/claude-code/install

First run

# in a project directory
cd ~/code/my-project
claude

On first run it prompts you to authenticate. Two paths:

Bootstrap the project for Claude

# inside Claude Code, on day one
/init

This scans the repo and writes a CLAUDE.md file with architecture summary, commands, and conventions. Every future session reads this on startup. See section 8.

The five things to configure right away

  1. Permissions~/.claude/settings.json → which Bash commands auto-allow. Reduces interruptions. See the config section.
  2. Skills — drop folders into ~/.claude/skills/. Start with the official document and Anthropic skills.
  3. MCP servers — connect GitHub, Postgres, Linear, etc. See the MCP guide.
  4. Slash commands — drop reusable prompt templates into ~/.claude/commands/. See commands.
  5. Hooks — automate things on tool use, stop, session start. See hooks.

Day-to-day flow

# open in your project
claude

# ask in plain English; it'll plan, read, edit, run tests
> Add a /healthz endpoint with a JSON body that includes the git SHA.

# useful built-ins
/init             # write or update CLAUDE.md
/review           # review the current branch's diff
/security-review  # OWASP-style sweep of the diff
/skills list      # see what skills are loaded
/mcp list         # see connected MCP servers
/help             # everything else

Tips that turn beginners into pros

4. IDE extensions

Claude Code ships an IDE extension that gives you the same agent inline. Available for VS Code and the full JetBrains family (IntelliJ, PyCharm, GoLand, WebStorm, Rider).

VS Code

  1. Extensions panel → search "Claude Code" → install.
  2. Open the command palette (⌘ ⇧ P) and run Claude: Sign In.
  3. Choose subscription or API key.
  4. Open the Claude side panel (default shortcut ⌘ ⇧ C) to chat with your project.

JetBrains

  1. Settings → Plugins → Marketplace → search "Claude Code" → install → restart IDE.
  2. Sign in via the Claude side tool window.
  3. Right-click in the editor for "Ask Claude about this" / "Refactor with Claude".
Inline edits — select code, press ⌘ I (VS Code) or Alt I (JetBrains), describe the change. Claude rewrites the selection in place with a diff preview. Faster than the chat panel for small surgical edits.

5. The Anthropic API

For automations, your own apps, and anything that needs to run unattended. Pay-per-token via console.anthropic.com.

Get an API key

  1. Go to console.anthropic.com → sign up or sign in.
  2. Settings → API Keys → Create Key.
  3. Add billing under Settings → Plans & Billing. Add a usage limit so a runaway script doesn't drain your card.
  4. Copy the key to a password manager. Never commit it to git.

First call (Python)

pip install anthropic
# put your key in env
export ANTHROPIC_API_KEY=sk-ant-...
from anthropic import Anthropic
client = Anthropic()

resp = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Say hi in haiku."}],
)
print(resp.content[0].text)

First call (Node)

npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();

const resp = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Say hi in haiku." }],
});
console.log(resp.content[0].text);

That's the smallest possible call. For everything else — prompt caching, extended thinking, tool use, batch, vision, files, citations — see the full API guide.

6. Mobile apps

iOS and Android apps mirror claude.ai with one big addition: voice mode. Hold the mic icon, talk, and Claude speaks back. Camera input also works — point at a problem, get an answer.

7. First-day configuration (Claude Code)

Open ~/.claude/settings.json and add the things every pro user adds in their first week:

{
  "permissions": {
    "allow": [
      "Bash(git status)",
      "Bash(git diff:*)",
      "Bash(git log:*)",
      "Bash(npm test)",
      "Bash(npm run lint)",
      "Bash(pytest:*)",
      "Bash(go test:*)",
      "Read(/Users/me/code/**)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(git push --force:*)"
    ]
  },
  "env": {
    "EDITOR": "code --wait"
  },
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{ "type": "command", "command": "prettier --write \"$CLAUDE_FILE\"" }]
      }
    ]
  }
}

What this does:

See Hooks for the full event list (PreToolUse, PostToolUse, Stop, Notification, UserPromptSubmit, SessionStart, SubagentStop) and example automations.

8. Writing your first CLAUDE.md

Run /init in a fresh project and Claude writes one for you. Then edit it — the magic happens when you add the things only you know.

What goes in

A real-world template

# CLAUDE.md

## Project

Server-rendered Next.js app + Postgres. ~30k LOC TypeScript.
Deploys to Vercel on merge to main.

## Run / test / lint

- Install:    pnpm install
- Dev:        pnpm dev             (port 3000)
- Typecheck:  pnpm tsc --noEmit
- Test:       pnpm test            (Vitest)
- Lint:       pnpm lint            (Biome)
- Migrations: pnpm db migrate

## Conventions

- Routes in app/, server actions in app/_actions/.
- Components colocated; shared in components/.
- DB access via db/queries/; never inline.
- Test naming: *.test.ts next to the file.

## Always

- Run pnpm tsc --noEmit after any edit.
- Commit messages: Conventional (feat/fix/refactor).
- New env vars: also add to .env.example.

## Gotchas

- lib/legacy/ is deprecated; do not extend.
- tests/e2e/ is flaky on CI; if it fails twice, rerun.
Where to put it. Project-level: ./CLAUDE.md (commit to git). User-level: ~/.claude/CLAUDE.md (your preferences across all projects). Both are loaded.

9. Where to go next