~/quickstart

Install SpinWait

Five commands, under two minutes start to finish. Install the CLI, log in via device code, enable the status line in Claude Code, connect payouts, verify.

Quickstart

Five commands, in order

Run each command, confirm the expected output, and move on. The whole flow takes a couple of minutes.

  1. 1
    Step 1
    Install the CLI
    spinwait - step 1
    $ npm i -g @spinwait/cli
    added 1 package in 2s
    $ spinwait --version
    spinwait/1.0.0 (node v22)
    Expect
    added 1 package, spinwait available on your PATH.
    Stuck
    Permission errors? Use a Node version manager (nvm/fnm) instead of sudo, or run with --location=global.
  2. 2
    Step 2
    Log in
    spinwait - step 2
    $ spinwait login
    Open https://spinwait.xyz/device and enter code:
    
        WDJB-XHQT
    
    Waiting for approval... approve with GitHub, Google, or magic-link.
    ✓ Logged in as you@example.com
    Expect
    A device code prints, then a logged-in confirmation appears.
    Stuck
    No browser on this box? Open the printed URL on any device and type the code - auth completes over the network.
  3. 3
    Step 3
    Enable in Claude Code
    spinwait - step 3
    $ spinwait enable
    Detected Claude Code at ~/.claude
    ✓ Wrote statusLine → ~/.claude/settings.json
    Restart Claude Code to load the status line.
    Expect
    The statusLine is written to your Claude Code settings.
    Stuck
    If nothing renders, restart Claude Code - it reads settings.json on launch. Manual fallback is below.
  4. 4
    Step 4
    Set up payouts
    spinwait - step 4
    $ spinwait payouts
    Opening Stripe Express onboarding in your browser...
    → https://connect.stripe.com/express/onboarding/acct_…
    Complete the form to receive payouts.
    Expect
    Stripe Express onboarding opens in your browser.
    Stuck
    Onboarding is handled by Stripe Express. You can finish it later - earnings accrue and pay out once you connect.
  5. 5
    Step 5
    Verify
    spinwait - step 5
    $ spinwait status
    account   you@example.com   (linked)
    platform  claude-code        (Live, active)
    payouts   connected
    test line ⠹ SpinWait · sample ad renders ✓
    Expect
    Account, platform, and payouts all report ready.
    Stuck
    Shows OFFLINE? Re-run `spinwait login`. No active platform? Re-run `spinwait enable`.

Manual statusLine fallback

spinwait enable does this for you. If you prefer to wire it by hand, add this block to ~/.claude/settings.json and restart Claude Code.

~/.claude/settings.json
{
  "statusLine": {
    "type": "command",
    "command": "spinwait statusline"
  }
}

Private by design

The status line is a thin read of agent state. Nothing about your work leaves your machine.

Privacy

SpinWait reads only the status-line/spinner state - never your code, prompts, or completions.

Platform support

Claude Code is native today. Desktop and Cowork arrive via the opt-in overlay companion (fast-follow); web lands via a browser extension.

  • Claude Code
    claude-code
    Live
  • OpenAI Codex CLI
    codex-cli
    Coming soon
  • Gemini CLI
    gemini-cli
    Coming soon
  • Cursor
    cursor
    Coming soon
  • Aider
    aider
    Coming soon
  • Cline
    cline
    Coming soon
  • Claude Desktop
    claude-desktop
    Coming soon
  • Claude Cowork
    claude-cowork
    Coming soon
  • Claude.ai (web)
    web-claude
    Coming soon

Ready to render your first ad?

Create an account, then see what the math looks like for your usage.