Quickstart
June 9, 2026 · View on GitHub
Install
Mac / Linux / WSL — one line
curl -fsSL https://raw.githubusercontent.com/waitdeadai/claudemax/main/install.sh | bash
Windows — PowerShell 5.1+ or 7+
irm https://raw.githubusercontent.com/waitdeadai/claudemax/main/install.ps1 | iex
Manual (advanced)
git clone https://github.com/waitdeadai/claudemax ~/.claudemax
cd ~/.claudemax
pnpm install
pnpm build
sudo ln -sf $PWD/packages/cli/dist/index.js /usr/local/bin/cmax
Remote-from-phone flow (Tailscale + tmux + ntfy + QR onboarding)
curl -fsSL https://raw.githubusercontent.com/waitdeadai/claudemax/main/setup.sh | bash
Authenticate
For Claude Max users (recommended):
# Just be logged into Claude Code interactive (claude --version should work)
# claudemax routes all provider calls through @anthropic-ai/claude-agent-sdk
# which bills against your Agent SDK credit pool (\$100 Max5x / \$200 Max20x).
Or API key fallback:
export ANTHROPIC_API_KEY=sk-ant-...
export CMAX_PLAN=api
First check
cmax doctor
You should see:
- plan: max5x or max20x (auto-detected)
- billing: subscription
- credit: $100/mo or $200/mo
- parallel cap with hardware + credit-aware bounds
Install dark-patterns hooks (recommended)
claude plugin marketplace add waitdeadai/claude-plugins
claude plugin install llm-dark-patterns@waitdeadai-plugins
First run — ask and achieve
In any project directory:
cmax ask "add a /health endpoint that returns build sha and uptime; cover with a test"
That is the entire daily-driver UX. No flags, no model picker, no decomposition by hand.
The SOTA-2026 pipeline runs automatically:
/deepresearchthe topic. Sonnet collects sources in parallel; Opus synthesizes. Source ledger persisted tomemory.research_sources.- multispec decompose — Fable 5 (while included →2026-06-22; Opus after) authors N sub-Specs with a DAG of dependencies, rollup completion conditions, and per-sub-Spec write-sets.
/specqa(parallel) — Haiku checks each sub-Spec has mechanically-checkable verifyHints./introspect(parallel) — Opus rates confidence per sub-Spec; blocks at confidence < 6.- Mode auto-selection — Mode A (SDK subagents in one
query()) for ≤ 5 sub-Specs / short runs; Mode B (Claude Code Agent Teams with shared task list + worktree isolation) for big swarms or write-set overlap. - Parallel
/goalper DAG leaf — Sonnet executes by default; Opus on router escalations (security, novelty, complexity ≥ 7). - Per-sub-Spec
/verify(parallel) — blind Opus re-reads repo and runs each verifyHint. - Rollup
/verify— blind Opus checks the integration conditions across all sub-Spec outputs. - Memory record + state snapshot. ntfy.sh push to phone if
NTFY_TOPICis set.
Throughout: bundled dark-patterns hooks (35 of them, wired by cmax init) block vibes, fake citations, aggregator hallucination, and credential leaks.
Power-user flags (same engine; cmax ask is the friendly entry point):
$\text{bash} \text{cmax} \text{run} "<\text{goal}>" --\text{variant} \text{opusolo} # \text{all}-\text{Opus} \text{exec} \text{for} \text{novel}/\text{security}/\text{auth} \text{work} (~3 \times \text{cost}, \text{max} \text{effectiveness}) \text{cmax} \text{run} "<\text{goal}>" --\text{mode} \text{teams} # \text{force} \text{Claude} \text{Code} \text{Agent} \text{Teams} (\text{Mode} \text{B}) \text{parallelism} \text{cmax} \text{run} "<\text{goal}>" --\text{no}-\text{research} # \text{skip} /\text{deepresearch} \text{for} \text{simpler} / \text{well}-\text{known} \text{goals} \text{cmax} \text{run} "<\text{goal}>" --\text{no}-\text{verify} # \text{skip} \text{independent} \text{verification} (\text{not} \text{recommended}) \text{cmax} \text{run} "<\text{goal}>" --\text{max}-\text{turns} 80 # \text{cap} \text{each} \text{sub}-\text{Spec}'\text{s} /\text{goal} \text{loop} $
This will:
- /deepresearch (web-current sourced research, persisted to memory.research_sources)
- multispec decompose (Fable 5 →2026-06-22, then Opus → N sub-Specs + DAG + rollup conditions)
- /specqa each sub-Spec (Haiku quality gate)
- /introspect each sub-Spec (Opus confidence/assumption gate)
- Auto-select Mode A or Mode B parallelism
- parallel /goal per DAG leaf (Sonnet executes by default; Opus on router escalations)
- per-sub-Spec /verify (parallel, blind Opus)
- rollup /verify (blind Opus against rollup conditions)
- Memory record + state snapshot
Bootstrap taste (recommended on new projects)
cd my-project
cmax taste init
Auto-derives taste.md + taste.vision from repo signals + /deepresearch on SOTA at current time. NO 10 questions. ~30–90 seconds.
Install skills into a project
cd my-project
cmax init # writes .claude/skills/* + .claude/hooks/*
Now inside Claude Code:
/cmax migrate the user model to drizzle, preserve all reads, ship tests
Inspect routing decisions
cmax route "refactor the auth middleware" --complexity 6 --domain auth
# → tier:opus, escalated:true (security domain)
cmax route "summarize 500 commit messages"
# → tier:haiku
cmax route "design the cache layer" --tier opus --cost-ceiling 2
Inspect memory
cmax memory search "auth migration"
cmax memory runs --limit 20
Common patterns
Cost-capped run
cmax run "<task>" --max-turns 80 # cap goal loop per sub-Spec
cmax doctor # confirm budget headroom first
Force /opusolo (all-Opus, max effectiveness)
cmax run "<task>" --variant opusolo
Force Mode B (Claude Code Agent Teams) on a small task for testing
cmax run "<task>" --mode teams
Goal only (skip spec writing if SPEC.md exists)
cmax goal SPEC.md
Verify a prior run
cmax verify SPEC.md
Long-running overnight
cmax overnight SPEC.md --budget-credits 50
# SIGTERM-safe: re-run picks up from last checkpoint
Research a topic without running anything
cmax research "AI SDK v6 + Vercel AI Gateway + Claude Agent SDK integration patterns"
What can go wrong
cmax doctorshowsplan: max5x source: default→ auto-detect failed. SetCMAX_PLAN=max20x(or whatever you actually have) in your shell.- First
cmax runfails with "no API key" → you're on the API path. Either setANTHROPIC_API_KEYorclaude loginfirst. - Mode B sub-Specs fail with "command not found" → Claude Code CLI not on PATH;
which claudeto confirm. Fallback to--mode solo(Mode A). - /goal hits max-turns → either the SPEC is unbounded or the task genuinely needs more turns. Re-spec or raise
--max-turns. - /verify returns partial or failed → iterate /goal against the failing conditions; re-verify. If two iterations don't move it, the SPEC is wrong — re-spec, don't re-grind.
What this is not
- Not a chatbot wrapper.
- Not a multi-provider abstraction.
- Not autonomy without a SPEC.
- Not "Opus for everything" or "cheap for everything." Effectiveness max, cost-aware.