Skip to main content
Reference
cliqd is a separate binary — the long-lived daemon process that executes pipelines. The CLI (cliq) is a thin client that talks to cliqd over HTTP on 127.0.0.1:4900.
Start cliqd first, then log in. The first cliq login enrolls cliqd in a realm and restarts it in place; it then registers with CliqHub and heartbeats every 30 seconds. Runs, teams, workspaces, settings and the login session all live in the daemon’s SQLite store at ~/.cliqrc/data/daemon.db.

Options

cliqd --realm was removed. Choose the realm when you log in: cliq login --realm <org.slug> (moving an enrolled daemon needs --allow-realm-override).

Examples


Modes

If CliqHub rejects a stored daemon token (revoked), cliqd mints a new one for the same realm using your login. It never re-enrolls a token you set with CLIQ_DAEMON_TOKEN.

How teams get installed

When cliqd enrolls in a realm, it starts with an empty team catalog. Teams arrive in two ways:
  1. Hub pushes the realm’s team list. On enrollment (and on each heartbeat), Hub installs the realm’s declared teams onto the daemon — manifests, agent settings, and all. A realm admin manages this list in CliqHub (realms/add_team / realms/remove_team). When a team is added to the list, Hub fans it out to every online daemon in the realm.
  2. Local install. You can also install teams directly with cliq team install ./my-team or cliq team install @scope/slug. These are local additions to the daemon’s catalog.

Teams not on the realm’s team list

When a locally-installed team is not on the realm’s team list, Hub refuses to sync it:
  • The team still runs on this machine.
  • Its runs are queued locally and don’t appear in CliqHub.
  • cliq run warns that the run won’t sync.
  • cliq whoami lists the teams whose runs are waiting.
  • cliqd rechecks every minute. Once a realm admin adds the team to the list, held runs sync.
Other teams’ runs are unaffected — one unlisted team never blocks the rest. To resolve it:

Stopping a run

cliq instance stop <run>, or Cancel in CliqHub, marks the run cancelled and stops its work right away: cliqd kills the running agent process, ends any wait for inputs, and cancels the active sub-team run. The run does not go on to its next phase.

Artifacts

Agents can upload artifacts up to the artifact size limit, 50 MB by default. Set CLIQ_ARTIFACT_MAX_MB to change it. A larger artifact is refused with 413 PAYLOAD_TOO_LARGE. Other requests to cliqd are limited to 10 MB.

Local tokens

A local token (cliq_…) is a credential minted by cliqd itself. A caller on another host sends it as Authorization: Bearer cliq_…. It works whether or not cliqd is connected to CliqHub, so it is the way in when cliqd is not connected — for example a cliqd in Docker reached through a port mapping. The token is checked against a stored hash, is never passed on to CliqHub, and a revoked token is refused. There is no cliq command for local tokens. Use the HTTP routes. They answer only callers on the machine running cliqd (403 SETTING_LOCAL_ONLY otherwise):
For cliqd to accept connections from other hosts it must listen on a non-loopback address (CLIQ_DAEMON_HOST=0.0.0.0 or the daemon.host setting).

Who can reach cliqd


Signals


Environment variables


Data

There is no ~/.cliqrc/settings.json. More on logs: Logging.
  • CLI client → CLI
  • Local development → Local Development
  • Realm architecture → Realms
  • Credentials and enroll tokens → Auth
  • HTTP API → Daemon API tab
  • Hub control plane → Hub API