Lesson 01: Installation & Configuration
Get Claude Code installed and running. The native installer handles everything — no package managers or runtimes required.
System Requirements
- OS: macOS 13+, Windows 10 1809+, Ubuntu 20.04+, Debian 10+
- RAM: 4 GB+
- Network: Internet connection required
- Shell: Works best in Bash or Zsh
- Windows: Requires Git for Windows (for Git Bash) or WSL
Installing Claude Code
Run the one-liner for your platform:
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash# Windows PowerShell
irm https://claude.ai/install.ps1 | iex# Windows Command Prompt
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdThat's it. The installer downloads the binary, puts it on your PATH, and sets up auto-updates. No Node.js, no npm, no manual configuration.
Alternative package managers (these do NOT auto-update):
# Homebrew (macOS/Linux)
brew install --cask claude-code
# WinGet (Windows)
winget install Anthropic.ClaudeCodeVerify the installation:
claude --versionTip: Run
claude doctorto check your installation type and version.
Authentication
When you first run claude, it walks you through authentication. You have two main options:
Option 1: Claude Pro or Max Subscription (Recommended)
If you have a Claude Pro or Max plan, just log in with your Claude.ai account. This is the simplest path — one subscription covers both Claude Code and Claude on the web.
Option 2: Anthropic Console (API Billing)
Connect through the Anthropic Console and complete the OAuth process. A "Claude Code" workspace is automatically created for usage tracking. This requires active billing in the Console.
For Teams
- Claude for Teams / Enterprise: Centralized billing and team management. Members log in with their Claude.ai accounts.
- Cloud providers: Configure Claude Code to use Amazon Bedrock, Google Vertex AI, or Microsoft Foundry for deployments with your existing cloud infrastructure.
First Run
Navigate to any project directory and start Claude Code:
cd my-project
claudeOn first run, Claude Code will:
- Walk you through authentication if you haven't logged in yet
- Detect your project from the current directory structure
- Check for a CLAUDE.md file and load project context if one exists
- Present an interactive prompt where you can start typing instructions
Try a simple command to verify everything works:
> What files are in this directory?Claude will list the files, confirming it can see your project. Type /exit or press Ctrl+C to leave.
Settings Overview
Claude Code uses two levels of configuration:
Global Settings: `~/.claude/settings.json`
These apply to every project on your machine. Common settings:
{
"permissions": {
"allow": [
"Read",
"Write",
"Bash(git *)"
],
"deny": [
"Bash(rm -rf /)"
]
}
}Project Settings: `.claude/settings.json`
These live in your project repository and apply only to that project. Commit them to git so your team shares the same configuration.
{
"permissions": {
"allow": [
"Bash(npm test)",
"Bash(npm run lint)"
]
}
}Tip: Start with minimal permissions and add more as you discover what your workflow needs. You can always approve individual actions at runtime.
Choosing Your Default Model
Use the /model command inside a Claude Code session to change which model Claude uses:
/model claude-sonnet-4 # Check docs.anthropic.com for latest model IDs
/model claude-opus-4 # Check docs.anthropic.com for latest model IDs
/model claude-haiku-3.5 # Check docs.anthropic.com for latest model IDsModel choice affects cost and capability:
- Opus — most capable, best for complex multi-file refactors. Most expensive.
- Sonnet — strong balance of capability and cost. Good default for daily work.
- Haiku — fastest and cheapest (roughly 60x cheaper than Opus). Great for simple tasks, explanations, and quick edits.
Start with Sonnet for general development. Switch to Opus for hard problems. Use Haiku for quick questions or when running many automated tasks.
Updates
Native installations auto-update in the background. You'll see a notification when updates are installed, and they take effect next time you start Claude Code.
You can also update manually:
claude updateRelease Channels
Configure which release channel you follow:
"latest"(default): New features as soon as they're released"stable": Typically about one week behind, skipping releases with major regressions
Set this via /config inside Claude Code, or in your settings:
{
"autoUpdatesChannel": "stable"
}Permission Modes
Claude Code asks for permission before taking actions like writing files or running commands. You can control this behavior:
- Normal mode (default): Claude asks before each potentially destructive action. You approve or deny.
- Auto-accept mode: Claude executes without asking. Faster but requires trust in your prompts.
# Run with auto-accept for trusted workflows
claude --dangerously-skip-permissionsWarning: Auto-accept mode lets Claude run any command without confirmation. Use it only in controlled environments (CI/CD, throwaway containers) or when you are confident in the task.
For most development work, stick with the default permission mode. The approval prompts only add a few seconds and give you a chance to catch mistakes.
Key Takeaways
- Install with one command — no Node.js or npm needed
- Authentication happens through your Claude.ai account or Anthropic Console
- Auto-updates keep you on the latest version automatically
- Global settings in
~/.claude/settings.json, project settings in.claude/settings.json - Use
/modelto switch between Opus, Sonnet, and Haiku based on task complexity - Start with default permission mode; use auto-accept only in controlled environments