Remote control for coding agents, compared

There are three ways to keep a coding agent working while you are away from the keyboard: the vendor's own remote, a terminal you reach over SSH, or a separate app that reaches your machine through a relay. If you use one agent and its vendor ships a remote, start there; Reemoat is the third kind: open-source, self-hosted software for several agents on a machine you own.

Side by side

QuestionClaude Code Remote ControlCodex remote connectionskimi rcopencode web (OpenCode 1)tmux over SSHReemoat
AgentsClaude CodeCodexKimi CodeOpenCodeAny terminal agentClaude Code, Codex, OpenCode, Kimi Code, Grok Build and Cursor
You needA Pro, Max, Team or Enterprise plan; no API keysCodex access in ChatGPT; no API keyA paid Kimi membershipNo plan namedSSH accessEach agent's own account or provider key
Agent runs onYour machine, kept onA Mac or Windows PC running the ChatGPT desktop appYour machine, awake and online; one Remote Control instance per machineYour machineThe SSH hostYour Linux or macOS machine
In your handA browser or the Claude mobile appThe ChatGPT mobile app, or the desktop app on another computerA browserA browserAn SSH clientThe app; no browser client
ConnectionOutbound HTTPS through the Anthropic APIQR pairing, then a relayThe Kimi relay serviceDirect to the server; no relay describedSSH, on your own pathOutbound to a relay; Noise_IK end to end
Who can read the sessionTranscript "is stored on Anthropic servers"not statedSession sync "Via the Kimi service"; its access not statedWithout a password, "the server will be unsecured"Whoever can log in to the hostNot the relay; the control plane's operator is trusted
NotificationsMobile pushYesnot statednot statedNone unless scriptedNone
Headless Linux serverOn "a remote machine", inside tmux or screenAs an SSH host behind the desktop app. The CLI reference also lists codex remote-control, marked Experimental, without saying what it pairs withnot statedThe CLI reference calls it "a headless OpenCode server"YesYes; needs loginctl enable-linger
Sourcecode.claude.comlearn.chatgpt.comkimi.comopencode.aino vendorv0.13.0

In every option, Reemoat included, the agent still sends prompts and code to its model provider; the "who can read" row covers the remote-control path only. "not stated" means the page does not say. None of the vendor pages in the Source row says anything about a Linux host; the Headless Linux server row gives what each vendor says about a remote or headless machine.

Checked on 12 October 2026 against each vendor's own pages, linked on this page. Nothing comes from a third party. Written by Reemoat's author; where another option is the better choice, this page says so. Other separate apps exist; this page covers only Reemoat. If a cell is wrong or out of date, open an issue at https://github.com/rends-east/reemoat/issues and link the vendor's page.

Grok Build and Cursor

Grok Build and Cursor, the other two agents Reemoat runs, have no column in the side-by-side table. xAI's documentation describes no remote for Grok Build:

Grok BuildWhat xAI says
A remotexAI's documentation for Grok Build describes no way to control a running terminal session from another device
SharingA /share command: "Share the current session via URL"
Sync and relayA network address, code.grok.com, for "Remote session sync, sharing, WebSocket relay"; with it blocked, "Sessions stay local-only; share links unavailable"
The namexAI also uses the name Grok Build for an app builder in Grok on the web, iOS and Android; Reemoat runs the terminal agent

Cursor ships a remote of its own, Remote Control, and two of Cursor's pages describe it differently:

QuestionCursor's changelog, 6 October 2026Cursor's documentation
Agent runs on"It keeps running on your computer, and the app connects to it.""The agent loop runs in Cursor's cloud, and every tool call (terminal commands, file edits, tests, and git) runs on your computer."
You need"Remote control doesn't require cloud agents to work.""Remote Control is available on Start, Pro, Pro+, Ultra, Teams, and Enterprise plans for users with Cloud Agents access."
In your hand"Remote control is available today in the Cursor iOS app."An iPhone or iPad; "Android is planned."
Your computer"Your computer needs to stay on and online for remote control to work.""Your computer must stay awake and online because tool calls run on it."
Headless Linux servernot statedA "Remote SSH workspace" is supported; Linux is not named
Sourcecursor.com/changelogcursor.com/docs

Pick by situation

PickWhen
Claude Code Remote ControlOnly Claude Code, on a Pro, Max, Team or Enterprise plan
Codex remote connectionsCodex in the ChatGPT desktop app
kimi rcOnly Kimi Code, and a browser is enough
opencode web, with a password setOpenCode 1 on your own network
opencode pairOpenCode 2; with --remote, from outside your network
Cursor's Remote ControlOnly Cursor, in its desktop app, with an iPhone or iPad in your hand
tmux over SSHA terminal is enough and you want no third party
Claude Code Remote Control or Codex remote connectionsYou must be told when a run ends or blocks
ReemoatSeveral of the six agents on your own Linux or macOS machine, in one app

Reemoat and Claude Code Remote Control both keep the agent on your machine and open no inbound port. The differences are laid out row by row.

What each page says

Claude Code Remote Control

Anthropic's page: https://code.claude.com/docs/en/remote-control.

  • Plan:
    "available on Pro, Max, Team, and Enterprise plans. API keys are not supported."
  • Connection:
    "Your local Claude Code session makes outbound HTTPS requests only and never opens inbound ports on your machine."
  • Session:
    "the session transcript, including your messages, Claude's responses, and tool activity, is stored on Anthropic servers."
  • Notifications:
    "When Remote Control is active, Claude can send push notifications to your phone."

It also documents an optional git worktree per session and a sandboxing setting; Reemoat has only the first.

Codex remote connections

OpenAI's page: https://learn.chatgpt.com/docs/remote-connections.

  • Host:
    "Remote access supports hosts running the ChatGPT desktop app on macOS and Windows."
  • Connection:
    "A secure relay layer keeps trusted machines reachable across your authorized ChatGPT devices without exposing them directly to the public internet."
  • Notifications:
    "Get notified when ChatGPT completes a task or needs your attention."
  • Setup:
    "Mobile setup starts from the app; you can't set it up from the Codex CLI or IDE extension."

The page does not say who can read what the relay carries, and it names no Linux host. OpenAI's pricing page lists "Mobile remote control" for Plus, Pro, Business and Enterprise / Education, and not for an API key.

OpenAI's CLI reference lists codex remote-control, with start, stop and pair, as Experimental: "Run or manage remote control for the local app-server, or create a short-lived pairing code." It says "Managed remote-control clients and SSH remote workflows use these commands", and does not say what the code pairs with or name an operating system. OpenAI's page for the ChatGPT desktop app for Linux, which is in preview, does not mention remote connections.

kimi rc

Kimi's page: https://www.kimi.com/code/docs/en/kimi-code-cli/guides/remote-control.html.

  • Plan:
    "Remote Control requires a paid membership and is not available to free users".
  • Connection:
    "remote access goes through the Kimi relay service".
  • Client:
    "Remote Control works in the browser."
  • Access:
    "A remote device must log in with the same Kimi account as the machine to view and control sessions."
  • Limits:
    "Each account currently supports up to about 3 devices." and "Only one Remote Control instance can run per machine."

The page mentions neither notifications nor encryption.

opencode web

OpenCode's page for OpenCode 1: https://opencode.ai/docs/web/.

  • Server:
    "This starts a local server on 127.0.0.1 with a random available port".
  • Password:
    "If OPENCODE_SERVER_PASSWORD is not set, the server will be unsecured."

--hostname 0.0.0.0 makes it reachable on your network. No relay is described, so access from outside is yours to set up. The CLI reference at https://opencode.ai/docs/cli/ calls it "a headless OpenCode server with a web interface".

opencode pair

OpenCode's page for OpenCode 2: https://opencode.ai/v2/docs/cli/web/. The documentation of OpenCode 2 lists no opencode web command; a browser is signed in to the web interface with opencode pair.

  • Password:
    the web interface is "available by default and password protected".
  • Server:
    "By default the server runs on port 49374 and listens only on localhost."
  • From outside:
    opencode pair --remote connects "from anywhere" through an OpenTunnel address. The first time, it warns "This will expose your OpenCode server to the internet." and adds "Traffic is end-to-end encrypted, and access requires your server password."

tmux over SSH

No vendor. The agent runs in a tmux session on the host and you attach from any SSH client. From outside your network you need your own path, such as Tailscale. You get a terminal, not a phone interface, and no notification you do not script.

Reemoat

Source: the v0.13.0 tag, mainly SECURITY.md.

The relay "moves bytes it holds no key for". You sign in to a control plane, and its operator is trusted completely. No sandbox: the agent runs as your OS user. Nothing notifies you: no push, email or bot. No browser client. Licence: AGPL-3.0-only.

When this is the wrong tool

Reemoat is the wrong choice when:

  • You need the agent isolated from your machine. There is no sandbox.
  • You need to be paged. A blocked session waits until you open the app.
  • You want a browser client. There is none.
  • The machine that would run the agents is not Linux or macOS.
  • You use one agent and its vendor's remote covers you.

Next

Updated . This page as Markdown.