Installation

From zero to working Claude Code on macOS or Windows.

macOS prerequisites

Three things a brand-new Mac needs before the rest of this tab works: Apple's command-line tools, Homebrew, and a terminal that doesn't fight you.

Xcode Command Line Tools

Apple ships a stripped-down developer toolchain you install once with a single command. It gives you git, compilers, and the headers Homebrew and Node depend on.

bashTerminal · macOS
xcode-select --install

A system dialog opens. Click Install. It downloads a few hundred MB and finishes in 5–10 minutes. When it's done, verify:

bashTerminal · macOS
xcode-select -p
# Expected: /Library/Developer/CommandLineTools

Homebrew

Homebrew is the package manager every Mac developer uses. You install it once and then install everything else with brew install.

The canonical one-liner from docsbrew.sh:

bashTerminal · macOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

The script explains what it will do and pauses before writing anything. Paste, hit enter, type your password when prompted, wait 3–5 minutes. When it finishes, verify:

bashTerminal · macOS
brew --version
# Homebrew 4.x.x

Your terminal (zsh is fine)

macOS ships with zsh as the default shell and Terminal.app as the default terminal emulator. Both are fine. Power users often swap Terminal.app for optionaliTerm2, which adds split panes and profiles. Optional — you can ship everything in this course from the built-in Terminal.

Windows prerequisites

Windows has two supported paths: native Windows with PowerShell, or WSL2 (Windows Subsystem for Linux). We recommend WSL2 — most of the agency stack is shell-scripted and runs identically on WSL and macOS.

Windows Terminal

On Windows 11 this is pre-installed. On Windows 10 you can install it from the Microsoft Store (search “Windows Terminal”) or follow microsoftthe official guide. It hosts PowerShell, Command Prompt, and your WSL distros in tabs. Use it instead of the old cmd.exe window.

WSL2 — recommended

WSL2 runs a real Linux kernel inside Windows. For agency work it means the commands you'll copy from this course match your Mac coworkers' commands exactly.

Per microsoftMicrosoft's install guide: open PowerShell as Administrator(right-click → Run as administrator), then:

powershellPowerShell (Admin) · Windows
wsl --install

Restart your machine. On first launch of the Ubuntu tile, you set a Linux username and password. Once you're inside WSL, follow the macOS instructions below for every step that starts with brew or curl— they apply to WSL Ubuntu too.

winget — native Windows path

If you're staying on native Windows, wingetis the built-in Microsoft package manager (Windows 10 1809+ and Windows 11). You'll use it to install Node, Git, the GitHub CLI, and Claude Code without hunting for installers.

powershellPowerShell · Windows
winget --version

Node.js via nvm

Almost every tool in this course is a Node CLI or a Node web framework. You install Node once, and you use nvm (Node Version Manager) instead of the official installer so you can switch versions per-project later.

macOS & WSL (Linux)

From the githubnvm repo (latest version at time of writing: v0.40.4):

bashTerminal · macOS / WSL
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

Close and reopen your terminal so the new PATH takes effect, then:

bashTerminal · macOS / WSL
nvm install --lts
nvm use --lts
node --version  # v22.x or higher
npm --version

Native Windows

Use nvm-windows (a separate project from nvm-sh). githubDownload the latest installer, run nvm-setup.exe, then in PowerShell:

powershellPowerShell · Windows
nvm install lts
nvm use lts
node --version
npm --version

Git, GitHub, and the gh CLI

Git is how you save versions of your code. GitHub is where you store and share it. The gh CLI lets Claude Code create repos, pull requests, and issues without leaving the terminal.

Install Git

On macOS, Git came with Xcode Command Line Tools (§2.1). Verify:

bashTerminal · macOS
git --version

On Windows, Git is included with WSL Ubuntu. For native Windows flows — including the Claude Code native installer — you also need downloadGit for Windows.

Create a GitHub account

Sign up at signupgithub.com/signup. Free plan is enough. Pick a username you're okay with showing clients — it appears in every PR and commit.

Install the gh CLI and authenticate

From docscli.github.com:

bashTerminal · macOS / WSL
brew install gh
gh auth login
powershellPowerShell · Windows
winget install --id GitHub.cli
gh auth login

The gh auth login flow asks you to pick GitHub.com, HTTPS, and opens a browser window where you paste a one-time code. When it finishes:

bashTerminal · any OS
gh auth status
# Should print: ✓ Logged in to github.com as <your-username>

Cursor IDE

Cursor is an AI-native code editor built on VS Code. For this course it's where you'll open projects, edit files, and run Claude Code in an integrated terminal pane. The AI pane on the right is a bonus — Claude Code in the terminal is the agentic tool you'll use 90% of the time.

On the download page officialcursor.com/download pick the right build:

  • macOS— Apple Silicon (M1/M2/M3/M4) or Intel. If unsure, click the Apple logo (top-left) → About This Mac. “Apple M*” means Apple Silicon.
  • Windows— x64 User installer is the default. ARM64 only if you have a Surface Pro X or similar.

First launch

  1. Open Cursor. It asks you to sign in — pick GitHub SSO.
  2. Accept the default keybindings (VS Code shortcuts).
  3. File → Open Folder and select a project directory. Start with ~/Documents/agency-playground— create it if it doesn't exist.
  4. Open the integrated terminal with Ctrl+` (backtick)— same key on Mac and Windows. This is where Claude Code will run.

Claude Code CLI

Claude Code is Anthropic's agent CLI. You hand it tasks in plain English and it reads files, runs commands, edits code, and ships. This is the single most important install in the course.

Install — pick one method

Anthropic's current recommended install is a native script (no Node required). See docscode.claude.com/docs.

macOS, Linux, WSL2 — native installer (recommended)

bashTerminal · macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell — native installer

powershellPowerShell · Windows
irm https://claude.ai/install.ps1 | iex

Homebrew (macOS / Linux)

bashTerminal · macOS / Linux
brew install --cask claude-code

WinGet (Windows)

powershellPowerShell · Windows
winget install Anthropic.ClaudeCode

npm (cross-platform, still supported)

bashTerminal · any OS with Node
npm install -g @anthropic-ai/claude-code

The npm package is actively maintained at @anthropic-ai/claude-code. Use this if you already have Node and prefer one command that works everywhere.

First launch — sign in

bashTerminal · any OS
claude

On first run, Claude Code opens a browser window and prompts you to sign in. You need one of:

  • A Claude Pro or Max subscription — pricingclaude.com/pricing. Pro is $20/mo, Max starts at $100/mo. Recommended for individual use: the subscription covers your Claude Code usage and doesn't bill per token.
  • An Anthropic Console API key from consoleplatform.claude.com. Pay-as-you-go, billed per input/output token. Better for teams with usage spikes.

Once signed in you land on an empty Claude Code prompt. Try:

textClaude Code prompt
> list the files in this directory and tell me what project this looks like

You should see a file listing and a one-paragraph summary. If you get an auth error, run claude /login and retry.

The claw alias

Every time you launch Claude Code you want the same settings: Opus 4.7 model, highest reasoning effort, permission prompts skipped so Claude can act without asking about every file write. You wrap those flags in a shell alias called claw.

What each flag does

flag

--model claude-opus-4-7

Forces the highest-capability Claude model. Claude Code picks Sonnet by default on some plans — you don't want that for agency work. Locks Opus 4.7.
flag

--effort max

Tells Claude to use its highest reasoning budget. Slower per reply, but far fewer wrong turns on complex tasks. For this course, always on.
flag

--dangerously-skip-permissions

Skips the “allow this tool call?” confirmation on every file write, bash run, and web fetch. Speeds sessions up 10x. Only use in directories you control.

macOS / WSL / Linux (zsh or bash)

Append the alias to your shell config and reload:

bashTerminal · macOS / WSL
echo 'alias claw="claude --model claude-opus-4-7 --effort max --dangerously-skip-permissions"' >> ~/.zshrc
source ~/.zshrc
# If you use bash instead of zsh, replace ~/.zshrc with ~/.bashrc

Windows PowerShell

PowerShell aliases don't pass arguments the way bash does, so use a function instead. Append to your profile:

powershellPowerShell · Windows
notepad $PROFILE
# If notepad opens a new file, save it as the path PowerShell shows.

# Paste this into the profile and save:
function claw {
  claude --model claude-opus-4-7 --effort max --dangerously-skip-permissions @args
}

# Reload:
. $PROFILE

Verify

bashTerminal · any OS
claw --version
# Should print the Claude Code version and include the opus-4-7 model in its header once started

Vercel CLI

Vercel is where you'll deploy every web app in this course — landing pages, dashboards, lead magnets. Free tier is generous. The CLI lets Claude Code deploy without you leaving the terminal.

Create a Vercel account

Sign up at signupvercel.com/signup with your GitHub account. When it asks which team to create, pick “Personal” — you can add a team later.

Install the CLI

From docsvercel.com/docs/cli:

bashTerminal · any OS with Node
npm install -g vercel

Log in

bashTerminal · any OS
vercel login

Opens a browser window. Click “Continue with GitHub.” When the CLI prints Success!you're done. To verify:

bashTerminal · any OS
vercel whoami
# Should print your Vercel username

API account signups

The deep dives on each platform live in Tab 06 (Platform Integrations) and Tab 07 (Use Cases). Right now you only need to create the accounts so you have API keys ready when you hit those chapters. Each takes 2–5 minutes.

Anthropic Console (Claude API)

If you plan to build apps that call Claude directly (as opposed to using Claude Code interactively), you need a pay-as-you-go API key.

  • Sign up at signupplatform.claude.com.
  • Create a workspace. Add a billing card under Plans & Billing.
  • Go to API KeysCreate Key. Name it claude-agency-playbook. Copy the key immediately — it's shown exactly once.
  • Store the key somewhere safe (macOS Keychain or a password manager). Tab 05 covers secure storage patterns.

GoHighLevel (GHL) — agency CRM

GHL is the agency operating system most of the course's use cases plug into. You need both an Agency account and at least one Sub-Account to hit the API meaningfully.

  • Sign up at signupgohighlevel.com. There's a 14-day trial.
  • Once inside, create a Sub-Account for your test client (any name). This is where API calls land.
  • API docs live on the developer marketplace: docsmarketplace.gohighlevel.com/docs. Tab 06 walks through Private Integration tokens and OAuth apps. Note: V1 APIs reached end-of-life on 2025-12-31— always use V2.

Fathom — AI meeting recorder

Fathom records, transcribes, and summarizes sales and client calls. Its API (on paid plans) is how you pipe call content into CRM, Discord, and knowledge bases.

Typeform — lead forms

Zapier — glue layer

  • Sign up at signupzapier.com. Free tier covers a lot.
  • No API key needed for basic Zaps — auth happens per-app inside the Zap editor. For Webhooks-by-Zapier (inbound URLs) and Code-by-Zapier (run a JS/Python step that calls Claude), see Tab 06.

Discord — team comms + automation

Post-install smoke test

Run this checklist end-to-end. If any step fails, fix it before moving to Tab 03 — later chapters assume every tool below works.

1. Versions

bashTerminal · any OS
node --version         # v22.x or higher
npm --version
git --version          # git version 2.40+ ish
gh --version
brew --version         # macOS / Linux only
vercel --version
claude --version       # your Claude Code version
claw --version         # same, routed through the alias

2. Authentication

bashTerminal · any OS
gh auth status         # ✓ Logged in to github.com
vercel whoami          # your vercel username
claude /login          # inside Claude Code: prints logged-in account

3. A real Claude Code session in Cursor

  1. In Cursor, open a scratch folder (mkdir ~/Documents/agency-playground && cd $_).
  2. Open the integrated terminal (Ctrl+`).
  3. Run claw.
  4. Prompt: write a hello-world HTML file that prints today's date, then open it in my browser.
  5. Watch Claude write index.html, open it, and hand control back. This is the end-to-end loop you'll use for every future task.

4. Deploy a disposable Next.js site to Vercel

Back in the terminal:

bashTerminal · any OS
npx create-next-app@latest smoke-test --yes
cd smoke-test
vercel --prod --yes
# Accept the defaults. The CLI prints a URL like https://smoke-test-<hash>.vercel.app

Open the URL. You should see the default Next.js welcome page. That confirms: Node works, npm works, the Vercel CLI is authenticated, and your build pipeline is sound.