sessions · automations · agents
Run the real Claude Code or Codex TUI on your machines and control every persistent Session from any browser. Your files, hardware, and CLI login stay on the Node — direct, self-hosted, or through an optional end-to-end encrypted relay.
You started a 40-minute refactor. Now you have to leave. Your agent shouldn't notice.
one control plane
The product follows the way the work actually runs: Sessions are the work, Automations repeat it, and Agents shows which runtime on which Node can execute it.
Every live provider TUI, its machine, working directory, safety posture, and status. “Needs input” opens the real prompt.
Pin a task to one exact Node and runtime. Every Run creates a new persistent Session you can inspect or continue.
See each Node and its concrete Claude Code or Codex runtime, authentication, availability, version, and active work.
playground
A Claude Code replay — same renderer the app ships (xterm.js), same key bar. Codex uses its own real TUI too.
Replay, not a sandbox — this demo is Claude Code; the real app attaches to your selected provider on your machine. Sessions run in tmux: close the tab, land at your desk, pick up mid-thought.
ergonomics
Termux-style key bar — Esc, Tab, arrows, a sticky Ctrl that turns your next tap into a chord. Two fingers scroll the transcript. Tap-to-select copies.
Full-screen TUIs are miserable on glass. This is the part everyone else skipped.
splits
On desktop, drag Claude or Codex sessions into panes. Three agents on three repos, one glance. Each pane is a live session — not a screenshot of one.
presence
The rail reads each session's screen: working, blocked on you, done. Push notifications deep-link straight into the session that asked.
Walk away. The phone buzzes only when your hands are actually required.
ROAMCODE
Codex is waiting
api — “Do you want to proceed?”
trust
Execution, source code, provider credentials, and terminal state stay on your Nodes. Connect directly, operate the relay yourself, or use an optional hosted blind relay without handing it terminal plaintext. Provider CLIs continue to use their normal provider services.
Drives Claude Code or Codex on your host. RoamCode never asks you to upload an API key.
32-byte access token, CSWSH-safe WebSockets, rate limiting. Public exposure is your explicit choice.
Outbound-only routing carries bounded end-to-end encrypted frames; the relay cannot read terminal content.
Small TypeScript monorepo. The security-relevant paths are documented and tested.
install
needs macOS or Linux · Node ≥ 24 · tmux · Claude Code or Codex — prints a connect link for your phone. Manual path →