--- title: CLI overview description: Every ClawMetry command in one table, the global flags, the shape of --json output, and how the dashboard flags differ from the subcommands. keywords: clawmetry CLI, clawmetry commands, clawmetry command line reference eyebrow: CLI reference --- # CLI overview `clawmetry` is one binary with two personalities. With no subcommand it is the **dashboard** and takes dashboard flags. With a subcommand it is the **management CLI**. ```bash clawmetry --port 8900 # runs the dashboard clawmetry status # runs the status subcommand ``` That split explains a quirk worth knowing up front: `clawmetry --help` shows the dashboard's options, and each subcommand has its own `--help`. ## Every command | Command | Purpose | |---|---| | [`onboard`](/docs/cli/onboard/) | First-time setup wizard. Run this after install. | | [`setup`](/docs/cli/onboard/) | Same wizard, framed as cloud connect | | [`connect`](/docs/cli/connect/) | Activate cloud sync | | [`disconnect`](/docs/cli/connect/) | Stop cloud sync and remove the key | | [`account`](/docs/cli/connect/) | Link an email to the account, or show account info | | [`sync`](/docs/cli/sync/) | Start (or restart) the sync daemon | | [`status`](/docs/cli/status/) | Local and cloud state, live mode, JSON mode | | [`mcp`](/docs/cli/mcp/) | Start the MCP server on stdio | | [`proxy`](/docs/cli/proxy/) | Local enforcement proxy: budgets, loops, routing | | [`eval`](/docs/cli/eval/) | Run a golden eval suite | | [`reports`](/docs/cli/maintenance/) | Open the reports browser | | [`tier`](/docs/cli/entitlement-commands/) | The resolved entitlement | | [`runtimes`](/docs/cli/entitlement-commands/) | Every runtime and which this install can unlock | | [`features`](/docs/cli/entitlement-commands/) | Every feature and which this install can unlock | | [`channels`](/docs/cli/entitlement-commands/) | Chat adapters and the concurrent-channel cap | | [`nodes`](/docs/cli/entitlement-commands/) | The node-count cap | | [`retention`](/docs/cli/entitlement-commands/) | The retention window cap | | [`bundle`](/docs/cli/entitlement-commands/) | Cheapest tier admitting a mixed bundle | | [`license`](/docs/cli/license/) | Manage a self-hosted Pro/Enterprise license | | [`activate`](/docs/cli/license/) | Shortcut for `license activate` | | [`diagnose`](/docs/cli/diagnose/) | Entitlement resolver inputs | | [`verify-integrity`](/docs/cli/diagnose/) | Verify the tamper-evident hash chain | | [`extensions`](/docs/cli/maintenance/) | Loaded and failed plugins, hook counts | | [`update`](/docs/cli/maintenance/) | Update to the latest version | | [`uninstall`](/docs/cli/maintenance/) | Stop daemons and remove all files | | `nemoclaw-daemons` | Register LaunchAgents for NemoClaw sandbox daemons (macOS) | ## Global flag | Flag | Effect | |---|---| | `--openclaw-dir PATH` | OpenClaw config directory (default `~/.openclaw`). Env: `CLAWMETRY_OPENCLAW_DIR` | It applies to both personalities — subcommands and the dashboard. ## The `--json` convention Most read-only commands take `--json` and emit a machine-readable envelope. The shapes are deliberately aligned with the matching HTTP endpoints so a wrapper does not need two parsers: | Command | Mirrors | |---|---| | `tier --json` | `GET /api/entitlement` | | `runtimes --json` | `GET /api/entitlement` (runtimes slice) | | `runtimes --why ` | `GET /api/entitlement/lock-reason?runtime=` | | `features --why ` | `GET /api/entitlement/lock-reason?feature=` | | `channels --why ` | `GET /api/entitlement/lock-reason?channels=N` | | `bundle --json` | `/api/entitlement/required-tier` + `/affordable-tiers` | | `diagnose --json` | `GET /api/entitlement/diagnostic` | | `extensions --json` | `GET /api/extensions` | | `license --json` / `activate --json` | `{action, ok, message}` | ```bash clawmetry tier --json | jq '.tier' clawmetry runtimes --json | jq '[.runtimes[] | select(.detected) | .id]' clawmetry status --json | jq '{daemon, cloud, store_bytes}' ``` ## Environment Every command honours the environment described in [Environment variables](/docs/config/environment/). The ones that change CLI behaviour most often: | Variable | Effect | |---|---| | `CLAWMETRY_HOME` | ClawMetry's own state directory | | `CLAWMETRY_OPENCLAW_DIR` | Same as `--openclaw-dir` | | `CLAWMETRY_NO_BROWSER` | Do not open a browser on start | | `CLAWMETRY_OFFLINE` | Skip every network call | | `DEBUG=1` | Verbose logging | ## Exit codes See [Exit codes and JSON output](/docs/cli/exit-codes/) — several commands are designed to be used in CI, and their exit codes are part of the contract.