This guide takes a clean machine from zero to its first persistent RoamCode Session. RoamCode supports macOS and Linux directly; Windows uses WSL2.
roamcode install creates a per-user service:
- macOS: a LaunchAgent named
com.roamcode - Linux: a
systemd --userservice namedroamcode
The service listens on 127.0.0.1:4280 by default. Program versions live under ~/.local/share/roamcode; operational
data lives under ~/.config/roamcode. Existing pre-rename installations continue to use their compatible legacy data
path when detected.
Install Claude Code, Codex, or another supported adapter on the machine that will run the work. Complete that provider's normal authentication flow before running it. RoamCode uses the existing CLI login; it does not collect a provider API key.
This step is optional for opening a Session: every manual Session starts as an ordinary shell. You can install multiple agents and choose one simply by running its command in the terminal.
The formula brings Node.js and tmux with it:
brew install burakgon/roamcode/roamcode
roamcode installRequirements:
- Node.js 24 or newer
- tmux
npx, included with Node.js
On Ubuntu or Debian, install tmux with:
sudo apt-get update && sudo apt-get install -y tmuxThen run the small bootstrap:
curl -fsSL https://roamcode.ai/install | bashThe bootstrap only checks prerequisites and delegates the durable installation to the latest stable roamcode npm
package. To inspect before executing, open scripts/install.sh, or run the same published CLI
directly:
npx --yes --allow-scripts=better-sqlite3,node-pty roamcode@latest installDo not use sudo for the RoamCode install. The service and its data belong to your user.
After installation, RoamCode waits for the service health check and prints a QR code plus a five-minute, one-use pairing link. Open the loopback link in a browser on the same machine.
You can issue a fresh link at any time:
roamcode pairThe browser receives its own revocable device credential. The host recovery credential is never placed in the URL or browser storage.
- Open Sessions and choose New terminal.
- Pick a working directory on the Node.
- Choose Open terminal.
- At the shell prompt, run
claude,codex, or another command.
The shell and any agent you start now run inside tmux. You can close the browser, reopen RoamCode, and reattach to the same process. Exiting an agent returns to the shell; exiting the shell ends the Session.
roamcode status
curl -fsS http://127.0.0.1:4280/healthA healthy install reports the service manager and Server: running at http://127.0.0.1:4280.
If an agent command is not available, inspect Agents, /diag, and /providers. The terminal can be healthy while
an individual provider executable or login is not. RoamCode never opens an agent sign-in flow merely because a
terminal was created.
A 127.0.0.1 link only opens on the Node itself. For a phone or another computer, create a private or HTTPS route you
control, then issue the pairing link for that exact stable origin:
roamcode pair --url https://your-roamcode.exampleContinue with the remote-access guide. Never expose the plain HTTP port directly to the public internet.
roamcode status # installed service and loopback reachability
roamcode pair # new one-use browser pairing link
roamcode --help # server, API, recovery, and configuration commands
roamcode uninstall # print safe service-removal commandsFor environment variables and non-default data paths, see configuration. For a failed install or an unreachable service, use troubleshooting.