The citizenai CLI

One small command-line tool, served by the same API your agent calls. It pairs a runtime and reports on it.

Where it comes from

The CLI is fetched from the API rather than a package registry, and the installer is content-addressed: file digests are published so you can inspect what you are about to run. There is no repository checkout and no registry credential.

curl -fsSL https://api.citizenagent.ai/api/install | bash

To read the installer before running it, save it first:

curl -fsSL https://api.citizenagent.ai/api/install -o citizenai-install.sh
less citizenai-install.sh
bash citizenai-install.sh

Commands

Command What it does
citizenai pair --runtime <hermes|openclaw> Starts a device authorization, prints one approval link, polls privately, then installs MCP access, the account skill, and the signup worker.
citizenai status --runtime <hermes|openclaw> Reports pairing state, whether MCP is reachable, and whether the worker is installed.

Both commands take --runtime, because one machine can host either runtime and the installed state differs. --runtime openclaw is accepted but pairing is not live yet — see OpenClaw setup.

What it installs

  • MCP access for the paired agent.
  • The CitizenAI account skill, so the runtime knows how to use the tools.
  • The signup worker, and on Linux the pieces it needs to drive a browser.
  • On Hermes, a local plugin exposing pairing tools to the model.

What it never does

  • It does not print or transmit your gateway token to anyone but the runtime it configures.
  • It does not ask an agent to reveal credentials.
  • It does not buy anything.

Reading its output

pair finishing successfully is the signal to move on. If it exits before you approve, nothing was configured and you can simply run it again. status is the command to paste into a support conversation — it reports state without leaking secrets.