What Reemoat is, and how it works

Reemoat is open-source, self-hosted remote control for AI coding agents. A daemon on a Linux or macOS machine you own runs Claude Code, Codex, OpenCode, Kimi Code, Grok Build and Cursor as long-lived sessions, and one app on your laptop or phone supervises them through a relay that cannot read what it carries.

Install

The three parts

Every part is open source under AGPL-3.0-only, and none of it needs an account on reemoat.com.

  • The daemon

    Runs on each machine the agents work on, as your own user. It starts the agent CLIs over the Agent Client Protocol (ACP), one git worktree per session, and keeps each session's transcript on that machine.

  • The control plane and its relay

    Runs on a server: your own, or one whose operator you trust. It holds accounts, machines and grants, signs short-lived tokens scoped to one machine, and passes ciphertext between the app and the daemon.

  • The app

    Runs on macOS, Windows, Linux, Android and iOS. It shows every machine and every session, and is where you answer what an agent asks. It is a native app: there is no browser client.

For Reemoat, self-hosted means the daemon runs on a machine you operate, and the control plane and its relay can too. Anthropic's Self-hosted environments for Claude Code are something else: runners in an organisation's network for Claude Code's cloud sessions, where "The control plane remains Anthropic-hosted".

A demonstration of the Reemoat app on a computer, with invented sessions: two machines on the left, a list of eight sessions from Claude Code, Codex, OpenCode and Kimi Code, one of them waiting for an answer, and a Claude Code session open in the middle of a task, running its tests. A demonstration of the Reemoat app on a computer, with invented sessions: two machines on the left, a list of eight sessions from Claude Code, Codex, OpenCode and Kimi Code, one of them waiting for an answer, and a Claude Code session open in the middle of a task, running its tests.

How a session reaches you

Your serverwith agentsPublic relayYour phoneYour laptop code, keys, gitcan’t read your data End-to-end encryptedStill encrypted Your server with agentsPublic relayYour phoneYour laptop code, keys, gitcan’t read your data End-to-endencryptedStillencrypted
  1. The daemon on your machine dials out to a public relay, so nothing on your router has to be opened.
  2. The app reaches the daemon through that relay, and the two speak an end-to-end encrypted channel: the relay can't read what it carries.
  3. Sessions live on that machine, each in its own git worktree, so a closed lid or a dropped connection does not stop them.

Each agent asks under its own vendor's rules, not Reemoat's: Cursor, for one, edits files inside the session's folder without asking. A request holds its place until you open the app. The encrypted channel ends at the daemon: from there the agent sends its model vendor the prompts and the code it reads, as it does from your terminal. Who can read what covers every party, including the operator of a control plane.

Reemoat in brief

FactDetail
AgentsClaude Code, Codex, OpenCode, Kimi Code, Grok Build and Cursor
Agent accountsThe ones you already have: each agent's own sign-in, or an API key; Codex needs its sign-in, a key alone does not start it. Claude Code and OpenCode can also be pointed at OpenRouter
Where the agents runYour own machine: a Linux server, a box under the desk or a Mac. Linux needs systemd; x86_64 or arm64; with git
The appmacOS, Windows, Linux, Android and iOS; no browser client
SessionsOne git worktree each, in a git repository; they keep running with the app closed. On a Mac that uses the app's own daemon, quitting the app stops them
Agents messaging each otherA session can message another session, on the same machine or on another machine of yours on the same control plane; between machines the messages are end-to-end encrypted. On by default since 0.12.0, and a switch turns it off
If the control plane is downSessions already running keep running. Nobody can sign in, get a new token or add a machine, and no remote machine can be reached until the control plane is back
EncryptionNoise_IK, end to end; the relay carries only ciphertext
NetworkThe machine dials out: no open port, no VPN
NotificationsNone: no push, no email, no bot
SandboxNone: an agent runs as your own user
LicenceOpen source, AGPL-3.0-only
PriceFree. Reemoat resells no model time; you pay each agent's vendor as you already do
MaturityPre-1.0, one maintainer

Who it is for

Reemoat fits if:

  • you have a long-running coding task you want to start and walk away from;
  • you have a Linux or macOS machine of your own, and are content to let an agent operate it as you;
  • you already pay for Claude Code, Codex, OpenCode, Kimi Code, Grok Build or Cursor, or hold an OpenRouter key;
  • you would rather keep the repository and the credentials on your own hardware.

When this is the wrong tool

  • You want the agent kept away from the rest of the machine. There is no sandbox: what is accepted.
  • You need to be told when a session finishes or blocks. Nothing notifies you.
  • You want to work from a browser. There is no browser client.
  • The machine for the agents runs Windows. The daemon runs on Linux and macOS only, though the app runs on Windows too.
  • You use one agent and its vendor's own remote covers you: the options, side by side.

Who makes it

Reemoat is made by one person and is pre-1.0. The source, the issues and every release are on GitHub. Only the latest release and main are supported.

ContactHow
Emailinfo@reemoat.com
Telegram@rends_east
A bug, or a wrong fact on this siteOpen an issue
A vulnerabilityPrivately, as Reporting a vulnerability describes

In the repository

Next

Updated . This page as Markdown.