Show HN: Run coding agents on your own machine, steer them from anywhere Phyra.ai launched roamux, a remote control plane that lets users steer AI coding agents running on their own machines from a phone or browser. The host daemon supports OpenCode, Claude Code, and Codex via a swappable HarnessAdapter, and the company says code, paths, credentials, and model keys never leave the local machine — the cloud stores only metadata such as labels and ids. Users install the host CLI with `curl -fsSL https://remote.phyra.ai/install.sh | sh`, run `roamux login`, then start it with `AGENT_ADAPTER=claude-code roamux host` (or opencode | codex). Run AI coding agents on your own machines. Control them from anywhere. Your computer stays the execution host — the agent, your repo, shell, files, git state, credentials, and model access never leave it. A phone or browser signs in and steers the agent live. roamux is a remote control plane for AI coding agents running on machines you own . Install a small host daemon on any computer; it dials out to the cloud and lets your authenticated devices watch and steer its agents. From your phone you can: - see your connected machines and their live agent sessions, - start a new session pick a machine, a project, and an agent and send tasks, - watch activity stream in real time, - approve or deny the agent's permission requests, - stop a run, and review the files it changed. Your code never leaves your machine. The cloud routes structured control messages and stores only metadata labels and ids — never your files, paths, credentials, or model keys. Supported agents bring your own : OpenCode https://opencode.ai , Claude Code https://claude.com/claude-code , and Codex . roamux does not implement its own agent — it drives yours through a swappable HarnessAdapter . roamux drives an agent you already run locally — it does not ship or proxy a model. So before you start, install and sign in to one of the supported agent CLIs on the machine you want to control this is where your model access and auth live — nothing leaves the box : | Agent | Install | Sign in | |---|---|---| | OpenCode https://opencode.ai | curl -fsSL https://opencode.ai/install \| bash | opencode auth login | | Claude Code https://claude.com/claude-code | curl -fsSL https://claude.ai/install.sh \| bash | claude run once, complete the login | | Codex | npm install -g @openai/codex | codex login | You only need one. If the agent isn't installed or signed in, roamux host refuses to start and prints the exact commands to fix it. On the machine you want to control macOS or Linux : 1. Install the host CLI curl -fsSL https://remote.phyra.ai/install.sh | sh 2. Link it to your account opens a code — approve it in your browser roamux login 3. Start it in the project you want the agent to work on, picking the agent. AGENT ADAPTER defaults to opencode — set it for Claude Code or Codex. cd ~/your/project AGENT ADAPTER=claude-code roamux host or opencode | codex Then open the web app https://remote.phyra.ai on your phone or browser, sign in, pick your machine → New Session → choose the project + agent + a task → Start , and watch it run. A host serves one agent — whichever AGENT ADAPTER you launched it with. To offer several, run one host per agent. File edits: the agent auto-accepts file edits so it can actually do the work it still won't run destructive shell commands unattended . Point it at a project you're comfortable letting it change — a git repo is ideal. Keep it running in the background survives closing the terminal / logout : roamux service install | Command | What it does | |---|---| | roamux login | Link this machine to your account device authorization | | roamux host | Start the host daemon and serve your agents | | roamux service install | Install the host as a background service launchd / systemd | | roamux service status / uninstall | Manage the background service | | roamux help · roamux version | Usage / version | Configure via env: AGENT ADAPTER=opencode|claude-code|codex picks the agent default opencode , DEFAULT PROJECT PATH=