Skip to content

The daemon is running but Cloud shows it offline

A daemon can be healthy on localhost while still offline from Cloud’s point of view. Cloud needs the relay control channel, not just the local process.

Terminal window
curl http://127.0.0.1:7382/api/health
curl http://127.0.0.1:7382/api/vaults

If these fail, restart the daemon or fix its KB1_HOME and port first.

Terminal window
curl http://127.0.0.1:7382/api/relay/status

Common states:

State Meaning Next step
relay.configured: false Relay env vars were not set. Start with KB1_RELAY_URL and KB1_RELAY_TOKEN.
relay.started: false Relay controller is not running. Restart daemon or call /api/relay/connect.
relay.controlConnected: false Daemon has not established the Cloud control channel. Check token, org id, network, and logs.
relay.reconnectScheduled: true Daemon is retrying. Wait briefly, then inspect logs if it persists.

KB1_RELAY_URL should look like:

https://api.kb-1.ai/t/<org-id>

The org id must match the self-hosted org that minted the daemon key. Tokens are shown once; if you do not have the plaintext, mint a new daemon key.

For the seeded dev stack:

Terminal window
pm2 start ecosystem.config.js
pnpm --filter @kb-1-cloud/api seed:dev
pm2 restart kb1-cloud-dev-daemon

The seed writes .dev.daemon.json. The PM2 daemon reads it only after restart.

Look for relay lines:

Terminal window
pm2 logs kb1-cloud-dev-daemon

For installed daemon services, inspect your platform service logs. On macOS the installer writes ~/Library/Logs/kb1-daemon.*.log; on Linux use the user systemd journal for kb1d.service.