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.
xcode-select --installA system dialog opens. Click Install. It downloads a few hundred MB and finishes in 5–10 minutes. When it's done, verify:
xcode-select -p
# Expected: /Library/Developer/CommandLineToolsHomebrew
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 docs│brew.sh:
/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:
brew --version
# Homebrew 4.x.xYour 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 optional│iTerm2, 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 microsoft│the 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 microsoft│Microsoft's install guide: open PowerShell as Administrator(right-click → Run as administrator), then:
wsl --installRestart 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.
winget --versionNode.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 github│nvm repo (latest version at time of writing: v0.40.4):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bashClose and reopen your terminal so the new PATH takes effect, then:
nvm install --lts
nvm use --lts
node --version # v22.x or higher
npm --versionNative Windows
Use nvm-windows (a separate project from nvm-sh). github│Download the latest installer, run nvm-setup.exe, then in PowerShell:
nvm install lts
nvm use lts
node --version
npm --versionGit, 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:
git --versionOn Windows, Git is included with WSL Ubuntu. For native Windows flows — including the Claude Code native installer — you also need download│Git for Windows.
Create a GitHub account
Sign up at signup│github.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 docs│cli.github.com:
brew install gh
gh auth loginwinget install --id GitHub.cli
gh auth loginThe 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:
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 official│cursor.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
- Open Cursor. It asks you to sign in — pick GitHub SSO.
- Accept the default keybindings (VS Code shortcuts).
File → Open Folderand select a project directory. Start with~/Documents/agency-playground— create it if it doesn't exist.- 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 docs│code.claude.com/docs.
macOS, Linux, WSL2 — native installer (recommended)
curl -fsSL https://claude.ai/install.sh | bashWindows PowerShell — native installer
irm https://claude.ai/install.ps1 | iexHomebrew (macOS / Linux)
brew install --cask claude-codeWinGet (Windows)
winget install Anthropic.ClaudeCodenpm (cross-platform, still supported)
npm install -g @anthropic-ai/claude-codeThe 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
claudeOn first run, Claude Code opens a browser window and prompts you to sign in. You need one of:
- A Claude Pro or Max subscription — pricing│claude.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 console│platform.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:
> list the files in this directory and tell me what project this looks likeYou 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
--model claude-opus-4-7
--effort max
--dangerously-skip-permissions
macOS / WSL / Linux (zsh or bash)
Append the alias to your shell config and reload:
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 ~/.bashrcWindows PowerShell
PowerShell aliases don't pass arguments the way bash does, so use a function instead. Append to your profile:
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:
. $PROFILEVerify
claw --version
# Should print the Claude Code version and include the opus-4-7 model in its header once startedVercel 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 signup│vercel.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 docs│vercel.com/docs/cli:
npm install -g vercelLog in
vercel loginOpens a browser window. Click “Continue with GitHub.” When the CLI prints Success!you're done. To verify:
vercel whoami
# Should print your Vercel usernameAPI 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 signup│platform.claude.com.
- Create a workspace. Add a billing card under Plans & Billing.
- Go to API Keys → Create 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 signup│gohighlevel.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: docs│marketplace.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.
- Sign up at signup│fathom.ai. (The domain rebranded from fathom.video.)
- On a paid plan: Settings → API (or
fathom.ai/customize#api-access-header) to generate a personal API key. - Developer docs: docs│developers.fathom.ai.
Typeform — lead forms
- Sign up at signup│typeform.com/signup.
- Developer portal: docs│typeform.com/developers. Personal access tokens live in Account → Personal tokens.
Zapier — glue layer
- Sign up at signup│zapier.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
- Create a personal Discord account at signup│discord.com/register, then create a server for your agency.
- Developer portal for bots/apps: dev portal│discord.com/developers. Docs at docs│docs.discord.com/developers.
- For the simplest automation (posting messages from scripts), you don't need a bot — an incoming webhook on a channel does it. Tab 06.5 covers both.
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
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 alias2. Authentication
gh auth status # ✓ Logged in to github.com
vercel whoami # your vercel username
claude /login # inside Claude Code: prints logged-in account3. A real Claude Code session in Cursor
- In Cursor, open a scratch folder (
mkdir ~/Documents/agency-playground && cd $_). - Open the integrated terminal (Ctrl+`).
- Run
claw. - Prompt:
write a hello-world HTML file that prints today's date, then open it in my browser. - 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:
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.appOpen 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.