Skip to content

Agent hosts ​

A host is a physical or virtual machine running the qorin-agent. One account can have many; workspaces are pinned to the host they were spawned on.

Status & freshness ​

  • online: the agent has sent a heartbeat in the last 90 seconds. Heartbeat cadence is every 30 seconds, so a healthy agent stays marked online forever.
  • offline: missed 3 consecutive heartbeats.
  • enrolling: the device-flow login isn't fully complete yet — the agent has the token but hasn't opened the WebSocket. Usually clears in seconds; if it sticks, troubleshoot.

Multi-user (Linux + macOS) ​

By default each Qorin user spawns workspaces under their own OS user on the host. The mapping (host, qorin_user) → unix_user is what makes this work — without it, every workspace would run as the same OS identity ("qorin-agent") and your dotfiles, your tokens, your shell history would all be shared.

Adding a user ​

  1. Open the host in the dashboard.
  2. Manage users → pick the Qorin member, type their UNIX username on the host (e.g. alice).
  3. Qorin asks the running agent: "does alice exist?" (calls getpwnam). If yes, persists the mapping.

You must create the OS user yourself (useradd alice on Linux, "System Settings → Users" on Mac, or dscl . -create /Users/alice for headless setups). Qorin never creates OS users.

How spawn dispatches ​

When you spawn a workspace:

  1. Qorin looks up (host, you) → unix_user in its DB.
  2. Tells the agent: "spawn this CLI under uid X, gid Y".
  3. The agent process (running as root via the daemon) calls setuid() + setgid() before exec'ing the login shell that runs the CLI.

The CLI process therefore has:

  • Your $HOME
  • Your dotfiles (.bashrc, .zshrc, .config/…)
  • Your shell PATH
  • Your CLI auth tokens, wherever each CLI keeps them: ~/.claude/ (claude-code), ~/.codex/, ~/.cursor/, ~/.gemini/, ~/.local/share/opencode/auth.json

Removing a host ​

Click Remove on the host row. Qorin refuses if there are still repositories or live workspaces — clean those up first. The underlying daemon binary stays installed; uninstall with the qorin-agent logout + service-removal commands in the install guide.

Capabilities ​

Each host reports its OS, arch, agent version, and a small capabilities blob on connect. The operator-facing admin → Hosts board shows them cross-tenant for fleet-wide visibility (only Qorin staff can see this; your own dashboard only shows hosts in your account).

See also ​

Qorin is built by Benito Borriello.