Getting Started with Claude Code
Installation, the three operating modes, permission system, practical tips, and billing breakdown. Everything a beginner needs in one place.
Installation
Two paths. Pick one.
Desktop app (what 90% of users choose): Head to claude.ai/download and grab the installer. Mac users drag to Applications, Windows users run the exe. Once you’re logged in, do three things: open Settings → Permissions and add your working directories (Desktop, Documents, etc.), set the default mode to Cowork, and optionally disable auto-updates if you prefer manual control.
Command line (for developers): You need Node.js 18 or newer.
npm install -g @anthropic-ai/claude-code
claude --version # confirm it installed
cd your-project && claude # first launch
First launch walks you through auth (Pro/Max subscription or API key) and permission mode selection. If you’re new, pick default — it’ll ask before every sensitive operation.
Three Operating Modes
Chat mode. Pure conversation. Claude won’t touch your files. Use it for drafting emails, translating text, explaining concepts — anything where you want answers, not actions.
Cowork mode (desktop app only). AI takes the wheel on your computer. It can read and write files, run terminal commands, launch desktop applications, and connect to 355+ services through MCP. Best for multi-file processing, cross-source research, and repetitive office automation.
Code mode. Developer territory. Reads and writes code in your project directory, runs tests, installs dependencies, executes builds, and integrates with Git. Supports long-running tasks — anywhere from 30 minutes to several hours.
Permission System
Three tiers, escalating in trust:
| Level | Behavior | When to use it |
|---|---|---|
| default | Prompts you before every sensitive operation | First few weeks |
| acceptEdits | File edits auto-approved; Bash and network requests still need confirmation | Once you trust the workflow |
| bypassPermissions | Fully autonomous | Only in sandboxed/isolated environments |
Hardening tips: only whitelist specific working directories in Settings → Permissions. Never expose your entire home folder. Add rules to CLAUDE.md like “never run rm -rf,” “never git push --force,” “never read ~/.ssh or ~/.aws.” These constraints stick across sessions.
Four Practical Tips
Be specific about what you want. Bad prompt: “Help me organize this spreadsheet.” Good prompt: “Aggregate this CSV by month, calculate month-over-month growth rate, output as sales-monthly.xlsx on my Desktop.” The formula: input (file/data) + processing (steps 1, 2, 3) + output (format + location + filename) + constraints (must/must not).
Iterate, don’t restart. Unhappy with the result? Don’t restate the entire request — that burns tokens for nothing. Say “Section three is too shallow. Expand the competitor comparison into a table with columns for core features, pricing, and market share.” After each edit, ask Claude to list what changed and what didn’t.
Give complex tasks in one shot. Use numbered lists with priorities. Don’t drip-feed requirements one at a time. Claude performs measurably better when it sees the full picture upfront versus adjusting mid-flight.
Know when to cut your losses. Three rounds of iteration and still off-track? Core understanding diverged more than 30%? Missed a key constraint? Say “Wrong direction. Stop. Start over using approach X.” Fresh context often beats patching a broken thread.
Common Errors
Rate limit exceeded. You’ve hit your subscription tier’s speed cap. Wait 5 minutes (Anthropic’s default cooldown window). Long-term fix: upgrade to Max.
Context window exceeded. A single conversation blew past 200K tokens. Run /compact to compress the context, or start a new session and move critical info into CLAUDE.md for persistence.
Tool execution timed out. A single tool call exceeded the 2-minute default timeout. Break large Bash commands into smaller steps, or set BASH_DEFAULT_TIMEOUT_MS: 600000 (10 minutes) in settings.json.
Cannot read file. Path is wrong, permissions are missing, or the file doesn’t exist. Use absolute paths. Confirm the desktop app’s permission whitelist covers the directory. Run ls to verify the file is actually there.
Billing
| Plan | Price | Best for |
|---|---|---|
| Pro | $20/month | Casual daily use |
| Max | $100 or $200/month | Heavy Claude Code users |
| API | $3 input / $15 output per million tokens | Developer integrations |
Community-reported quotas (per 5-hour window): Pro gets roughly 45 medium-length conversations, Max $100 gets around 225, Max $200 gets around 900.
Token-saving tricks: don’t let Claude re-read the same file repeatedly (use /compact or persist info in CLAUDE.md), disable unused MCPs (each tool’s description costs tokens), use sub-agents for complex projects (isolated context doesn’t pollute the main session), turn off Extended Thinking when you don’t need deep reasoning (saves about 30%).
My recommendation: start on Pro at $20/month for the first week to gauge usage. If you find yourself in the CLI for hours daily, upgrade to Max. If it’s occasional use, Pro is fine.
Key File Locations
~/.claude/settings.json # Global config
~/.claude/CLAUDE.md # Global rules
<project>/.claude/settings.json # Project config (overrides global)
<project>/CLAUDE.md # Project rules
~/.claude/agents/ # Global sub-agents
~/.claude/projects/ # All session history
The desktop app and CLI share this config structure. Project-level always wins over global — when there’s a conflict, the project layer has final say.