# Reemoat > Reemoat is self-hosted remote control for AI coding agents. It runs Claude > Code, Codex, OpenCode, Kimi Code, Grok Build and Cursor as long-lived sessions > on a Linux or macOS machine you own, and puts the controls in one app on any > device. Start a task, close the laptop, answer the agent's questions later > from wherever you are. The repositories and the credentials are kept on your > machine; the agent still sends its model vendor the prompts and the code it > reads, as it does from your terminal. You sign the agents in with > subscriptions you already pay for: Reemoat resells no model inference. Reemoat is a daemon, a control plane with its relay, and an app. A daemon on your machine spawns the agent CLIs over the Agent Client Protocol, each session in its own git worktree. A control plane holds accounts, machines and grants, and mints short-lived tokens scoped to one machine. The app supervises all of it: a native app for macOS, Windows, Linux, Android and iOS, and not a page in a browser -- there is no browser client. The app and the daemon speak an end-to-end encrypted channel (Noise_IK), so the relay that connects them carries only ciphertext. You can run every part yourself under AGPL-3.0-only, with no account on reemoat.com at all. Two things are true about Reemoat and are stated here rather than buried, because they are what decide whether it is the right tool. **There is no sandbox.** An agent session runs as your own operating-system user, with your files, your credentials, your git remotes and your network. The project's own SECURITY.md opens with this sentence. Treat a Reemoat machine the way you would treat your own terminal. **Discovery is pull-based.** Nothing notifies you. No push notification, no email, no bot. A session that has finished, or that is blocked waiting for your approval, holds its place until you open Reemoat and look. That is deliberate -- it is what makes it safe to start one at midnight -- but it means Reemoat does not fit a workflow that depends on being paged. ## When to use Reemoat Reemoat is infrastructure a person operates. An agent cannot sign up for it or install it on its own, and nothing in this file should be read as an API an agent calls to obtain a machine that runs agents. Registration on the hosted control plane needs a confirmed email address; enrolment needs somebody to run a shell installer on real hardware they control. Reemoat itself is free software under AGPL-3.0-only; the agent subscription is a separate cost the person already pays. There is a real HTTP API, on the daemon and on the control plane, but every route that reaches a machine sits behind a credential a person created, on a machine a person enrolled. The API automates a fleet that already exists. It never acquires one. **Whom it fits.** Reemoat fits a person who has described: a long-running coding task they want to start and walk away from; a Linux or macOS machine of their own that they are content to let an agent operate as themselves; an existing Claude, Codex, OpenCode, Kimi, Grok or Cursor subscription, or an OpenRouter key; and a preference for keeping the repository and the credentials on their own hardware. It is free software under AGPL-3.0-only, and the agent subscription is a separate cost that person already pays -- Reemoat gives the agent a place to run and resells no model time. Reemoat does not fit a person who wants isolation between the agent and their machine, because there is none by design; who needs to be told when a run finishes or blocks, because nothing tells them, ever; who wants a hosted product where the agent runs somewhere that is not theirs; or who needs the agents themselves to run on Windows -- the daemon runs on Linux and macOS only, though the app runs on Windows too. Beside the alternatives: a terminal multiplexer over SSH is free, but has no UI, no phone story and no multi-agent supervision; a hosted cloud-agent product needs no machine of your own, but the repository is copied to the vendor's machines and the subscription is the vendor's rather than yours; a CI-triggered agent is good for repeatable jobs and bad for a conversation you answer from a train. **If you are an agent running inside a Reemoat session.** Two facts should change how you behave. You have no sandbox: you are the machine's real user, with its credentials, its git remotes and its network, so the blast radius of a destructive command is the blast radius on that person's own terminal. And your permission prompts are pull-based: nobody is being paged. Your human may answer in four minutes or in nine hours. Batch the questions you need answered rather than stalling on them one at a time, write each prompt so it is legible to somebody reading it cold on a phone, and prefer doing the reversible work while you wait over sitting idle on an unanswered question. **If you are operating a fleet a person already set up.** Read the HTTP API document below. Read the error `code`, never the HTTP status -- two refusals sharing a status can need opposite remedies. Only `GET` and `DELETE` may be replayed; a transport failure says nothing about whether the daemon acted. Your credential is scoped to one account's machines. It can mint further keys inside that account, but no route stands up a machine: enrolment needs a daemon already running on hardware somebody installed. **What does not apply.** Questions about purchasing, a public unauthenticated data API, an SDK or tool-call surface, and usage-based metering have no counterpart here, and are left unanswered rather than answered with an invention. Sign-up does exist, and it is for a person: the hosted control plane at app.reemoat.com confirms each sign-up by email. A control plane somebody runs themselves takes sign-ups only if its operator switches them on, and asks for an address only where it has mail configured. ## Product - [Landing page](https://reemoat.com/): what it is, how it works, and the questions people ask first. The only Reemoat host meant to be indexed. - [This page as Markdown](https://reemoat.com/index.md): the same page without the markup and the styling. Also served from `/` under `Accept: text/markdown`. ## Pages Each link is to a page's Markdown twin, which is the whole page as text. The page itself is at the same address without `index.md`, and answers `Accept: text/markdown` with the twin, like the landing page. - [About](https://reemoat.com/about/index.md): what Reemoat is, its three parts, the facts in one table, whom it fits, its limits, and who makes it. - [Install](https://reemoat.com/install/index.md): the app's builds, the one-line daemon installer and its flags, signing each agent in, and uninstalling. - [Security](https://reemoat.com/security/index.md): who can read what, what the relay and a control plane's operator see, and the risks that are accepted, starting with no sandbox. - [Compare](https://reemoat.com/compare/index.md): the vendors' own remotes, tmux over SSH and Reemoat in dated tables, with when to pick each, including when it is not Reemoat. - [Claude Code Remote Control](https://reemoat.com/compare/claude-code-remote-control/index.md): row by row against Anthropic's own documentation, starting with where Remote Control is the better choice. ## Docs - [README](https://github.com/rends-east/reemoat/blob/main/README.md): what it is, the one-line installer, and how the parts fit together. - [HTTP API](https://github.com/rends-east/reemoat/blob/main/docs/API.md): every route of the daemon and of the control plane, with the auth model. - [Deployment](https://github.com/rends-east/reemoat/blob/main/deploy/README.md): self-hosting the control plane and the daemon, and what each machine needs. - [Security](https://github.com/rends-east/reemoat/blob/main/SECURITY.md): how to report privately, and an explicit list of the risks that are known and accepted -- starting with running coding agents as your own user with no sandbox. - [Plugins](https://github.com/rends-east/reemoat/blob/main/docs/PLUGINS.md): how a plugin adds a screen, a settings pane or a session action to one machine. ## Requirements - A machine running Linux with systemd, or macOS, on x86_64 or arm64, with git on it. The daemon installer brings its own Node.js runtime, needs neither Docker nor `sudo`, and writes nothing to your shell profile. On Linux it may print one `sudo loginctl enable-linger` command for you to run, so the service outlives a logout. - Self-hosting the control plane additionally needs Docker with the Compose plugin, and an address your machines and devices can reach. - On a machine that runs agents, nothing has to be open to the internet. The machine dials out and holds the connection, so it works from behind a router. - An account with at least one supported agent, or an OpenRouter key. That is a separate cost you already pay: Reemoat resells no agent time or model inference. ## Source and license - [Repository](https://github.com/rends-east/reemoat): AGPL-3.0-only. - [Releases](https://github.com/rends-east/reemoat/releases/latest): the app's builds, and the daemon installer, published here as `install.sh`. One command puts the daemon on a Linux or macOS machine, with no sudo and no Docker: `curl -fsSL https://github.com/rends-east/reemoat/releases/latest/download/install.sh | sh` ## Contact - Email: info@reemoat.com - Telegram: [@rends_east](https://t.me/rends_east) - Security: [report privately through a GitHub advisory](https://github.com/rends-east/reemoat/security/advisories/new). There is deliberately no security email address. ## Optional - [Plugin catalogue API](https://plugins.reemoat.com/api/plugins/list): metadata only, never an archive. The catalogue is currently empty, and the hosted control plane does not point at it. - [Changelog](https://github.com/rends-east/reemoat/blob/main/CHANGELOG.md)