Dev box
Run Happier CLI + daemon inside a container (dev-box), and pair it to your account without opening a browser.
This page explains how to run Happier inside a container (for example: a remote VM or a disposable “dev box”) and authenticate it from your local machine.
Dev box image
We publish a preview dev box image on Docker Hub:
docker pull happierdev/dev-box:previewWe also publish the same image to GitHub Container Registry (GHCR):
docker pull ghcr.io/happier-dev/dev-box:previewThe image includes:
happierCLI- optional provider CLIs (install on first boot via env)
Note: “dev box” is our Docker image name — it’s not tied to any specific editor “devcontainer” feature.
Optional: install provider CLIs on first boot
Set HAPPIER_PROVIDER_CLIS to install provider CLIs into the container user’s npm prefix:
docker run --rm -it \
-e HAPPIER_PROVIDER_CLIS=claude,codex \
happierdev/dev-box:previewSupported values today: claude, codex.
Recommended: persist Happier state
Persist ~/.happier so credentials, machine IDs, logs, etc. survive container restarts:
docker run --rm -it \
-v happier-home:/home/happier/.happier \
happierdev/dev-box:previewPair a remote container/host from your local CLI (no web UI)
If your local machine is already authenticated (happier auth status is OK), you can pair a remote host/container over SSH:
happier auth pair-remote --ssh user@host --jsonWhat this does:
- Runs
happier auth request --jsonon the remote host. - Approves the request locally using your existing token (the local token is not sent to the remote host).
- Runs
happier auth wait --public-key ... --jsonon the remote host to claim the request and write credentials.
Manual (scriptable) alternative
If you want to integrate with custom orchestration:
- On the remote host:
happier auth request --json- On your local machine (authenticated):
happier auth approve --public-key <publicKey> --json- Back on the remote host:
happier auth wait --public-key <publicKey> --json