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
- Open the host in the dashboard.
- Manage users → pick the Qorin member, type their UNIX username on the host (e.g.
alice). - Qorin asks the running agent: "does
aliceexist?" (callsgetpwnam). 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:
- Qorin looks up
(host, you) → unix_userin its DB. - Tells the agent: "spawn this CLI under uid X, gid Y".
- 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).