CLI reference
clawmetry onboard / clawmetry setup#
The first-run wizard. setup is the same command framed as "connect to
ClawMetry Cloud"; both accept the same flags and do the same work.
clawmetry onboardWhat it does#
- Detects the agent runtimes on this machine.
- Asks whether you want a cloud account, or takes the answer from a flag.
- Writes configuration into
~/.clawmetry/. - Starts the sync daemon and supervises it (launchd, systemd or the platform
equivalent).
- Opens the dashboard.
Flags#
| Flag | Effect |
|---|---|
--key cm_xxx | API key, skipping the prompt |
--local, --no-cloud | Local only: no cloud account, nothing leaves this machine |
--cloud | Create a cloud account non-interactively, skipping the prompt |
--node-id NAME | Custom node name (default: the hostname) |
--foreground | Run the daemon in the foreground instead of supervising it |
Local only#
clawmetry onboard --localThis writes a persistent local-only marker. A later clawmetry connect refuses
to override it unless given --force, which exists so an automated provisioning
run cannot quietly opt a machine into cloud sync that somebody deliberately
opted out of.
Everything works in local mode: all 30 runtimes, every dashboard page, Guard, detectors, the MCP server, the query API. What you give up is the cloud dashboard, fleet view and phone approvals.
Non-interactive#
For provisioning:
# local-only node, no prompts at all
clawmetry onboard --local --node-id build-runner-07
# cloud node with a key you already hold
clawmetry onboard --key "$CLAWMETRY_KEY" --node-id build-runner-07 --cloudBoth forms are safe to run more than once — a second run reconciles rather than duplicating.
Node names#
--node-id defaults to the hostname, which is fine on a laptop and useless on a
fleet of identically-named containers. Set it to something you would recognise
in a list. Node identity is covered in Nodes and fleet.
Running the daemon yourself#
If you supervise processes with something of your own — supervisord, a systemd unit you manage, a container entrypoint — do not let the wizard install its own supervision:
clawmetry connect --key cm_xxx --no-daemon
# then run: python -m clawmetry.syncSee Run it as a service.
Troubleshooting the wizard#
| Symptom | Cause |
|---|---|
| Hangs at a prompt in CI | Interactive by default — pass --local or --key |
| "already local-only" on connect | The local marker is set; --force overrides it deliberately |
| No runtimes detected | Stores relocated — see How detection works |
| Browser does not open | Set CLAWMETRY_NO_BROWSER=1 if that is what you want, or open localhost:8900 yourself |