Pair a computer
Turn any Mac, Linux box, or VM into a trusted NOME Code host with the pairing flow.
What pairing does
Pairing makes one machine a trusted NOME runner. After pairing, NOME can launch coding work on that machine and stream receipts back to your iPhone, Mac, or web app. The machine holds a device token that authorizes it as a runner — it is not your account password and it carries no provider credentials.
You can pair a Mac, a Linux machine you own, or a VM you created yourself. Pair as many computers as you like; each shows up in NOME as a selectable Code host.
Before you start
Install the NOME CLI on the machine you want to pair (see Local CLI) and be signed in to NOME on a second device — your iPhone, Mac, or the web app — where you will claim the pairing. The machine being paired does not need to be logged in first; the pairing token is the credential for that step.
Pair with the CLI
On the machine, run:
nome pair
The terminal prints a QR code and an 8-character pairing code (shown grouped, e.g. ABCD-EFGH). In NOME on iPhone or Mac, open Settings → Computers & Coding Accounts → Pair a computer, then scan the QR or type the code. The CLI polls while it waits.
Once you claim it, the CLI shows who claimed it and asks you to confirm on the machine. Approve, and a device token is written to ~/.nome/device_token (mode 0600). The machine is now a trusted runner.
Check and manage pairing
Run nome pair status (or nome whoami) to see whether the machine is paired, its device id, name, and platform — no secrets are printed. Re-pair with nome pair --force. Remove the pairing locally with nome pair unpair.
From NOME, every paired computer appears under Settings → Computers & Coding Accounts, where you can rename or revoke it. Revoking invalidates that machine's device token immediately.
Pairing options
nome pair --no-qr skips the QR block (useful over low-bandwidth SSH). nome pair --name "Studio Mac" sets a friendly name. nome pair --json emits machine-readable output for scripted setups; pairing codes expire, so a non-interactive run stops at the claimed stage unless you pass --yes. nome pair --server <url> targets a specific NOME server.
Troubleshooting
CLI not found — the nome binary isn't on your PATH. Re-run the installer and add ~/.nome/bin to PATH (see Install the CLI).
Daemon / host agent not running — a paired machine still needs the host agent running to accept work. Start it (see Run the host agent) and confirm health.
Host offline — NOME shows the host but greys out Run. Check the machine is awake, the agent is running, and (for owner-edge behind NAT) that Tailscale/SSH reachability is up.
Pairing code expired — codes are short-lived. Run nome pair again to mint a fresh one.
Provider not logged in — a host can be paired yet have no provider seat or key. Pick a route that's actually available (local model, BYOK, NOME credits) or sign in to the provider CLI on that host. NOME fails closed and tells you which route to fix rather than silently switching.
Model unavailable / route fail-closed — the chosen model or seat isn't reachable on that host. NOME never silently falls back; it reports the reason. Pick a different model or fix the seat/key.
iPhone sees the host but can't run — the host is paired but the agent is offline, asleep, or unreachable. Wake it, start the agent, and verify health; over NAT, confirm Tailscale/SSH.
Work item not syncing — receipts attach to a canonical work item; if progress isn't appearing, confirm the host has network to NOME and that the run hasn't failed closed on an unavailable route. Re-open the work item to pull the latest shared state.
Ready to try it?
Open NOME