Code from the couch.
Or anywhere else.
CouchCode is a remote control for AI coding agents. Approve diffs from
the bus. Talk to your agent on a walk. Never miss a permission prompt
while the kettle boils.
Works with ACP-compatible agents like opencode, Codex, Kimi, and Claude Agent.
expiresAt is set in seconds but the JWT lib expects ms. I'll patch the helper and add a regression test.Your laptop keeps coding. Your phone keeps the wheel.
A tiny daemon on your machine speaks ACP to whichever agent you launched. The phone speaks to the daemon — directly over your LAN, or through the relay when you're away.
Install the daemon, then grab the app.
CouchCode needs a tiny daemon on your dev machine and the mobile app in your pocket. Install the daemon first, then pair the app with the QR code.
Install the daemon
curl -fsSL https://cdn.couchcode.io/builds/desktop/couchcode/install.sh | sh curl -fsSL https://cdn.couchcode.io/builds/desktop/couchcode/install.sh | sh irm https://cdn.couchcode.io/builds/desktop/couchcode/install.ps1 | iex Get the mobile app
Scan the QR code printed by the daemon. Use LAN-only pairing at home, or the relay when you're away.
Bring the agent.
We bring the remote.
Zero vendor lock-in. ACP for the agents that speak it, real SSH for everything else. CouchCode is just an open client — switch agents per session, swap them next month. We never sit between you and your model.
When ACP isn't enough,
Not every tool speaks ACP yet. And sometimes you just want a real terminal — to git push a hotfix from a café, tail logs, or kick off your favorite agent the old-fashioned way.
CouchCode bundles a real SSH client — key-based, mosh-style reconnect, full xterm. Drop into your dev box, run anything.
Free. The whole thing.
You pay your model provider. Nobody else. No tiers, no seats, no "Pro" wall in front of the good buttons.
- Free iOS appOn the App Store
- Free Android appOn Google Play
- DaemonOpen source · Apache 2.0
- ACP agent supportopencode, Codex, Kimi, Claude…
- Remote SSHPower-user fallback
- Public relayHosted by me, free to use
Reasonable questions.
The daemon is open source under Apache 2.0 — read every line before you run it. It only listens on the LAN port you configure, requires a paired token, and has no auto-update. We will never ship a closed-source daemon.
More first-class integrations are on the way. In the meantime, if your agent speaks ACP you can register it yourself in the daemon's registry — pass the binary name and args and it shows up in the app immediately. Or open a GitHub issue and we'll wire it up.
On your dev machine, in whatever config your agent already uses — opencode, Codex, Kimi, Claude Agent each have their own. The daemon hands work off to the agent locally; the agent talks to the model. CouchCode never sees your keys. There's no server to send them to, no database to leak them from, and frankly I don't want the responsibility.
Relay traffic always rides over TLS. If you want more, turn on E2EE when you pair: your phone and daemon exchange keys via the QR code and pin them (X25519 + ChaCha20-Poly1305), so even our relay only ever forwards ciphertext — it can't read your code, commands, or credentials. A key mismatch is refused outright, so there's no silent man-in-the-middle. It's aimed at the privacy-conscious, adds a little bandwidth overhead from sealing every message, and is opt-in per pairing (off by default).
Yes — turn on a Face ID, Touch ID, or fingerprint lock (with a PIN fallback) and CouchCode asks for it every time you open the app, so a found or stolen phone can't approve anything. It's optional and entirely on-device — your biometrics and PIN never leave the phone and we never see them.
Voice uses your phone's built-in, on-device speech recognition, so it's best-effort — accuracy varies by device, accent, and how noisy it is around you. Whatever it hears is shown as editable text first; nothing auto-sends, so you always read it back (and fix it) before it goes to the agent.
MCP is for tools the agent calls. ACP is for the host that drives the agent. CouchCode is the host — your phone tells the agent what to do, then approves what it tries to do. Different layer, complementary.
I'm one person, not a startup. The expensive part of any agent is the model, and you already pay your provider for that. The daemon runs on your laptop, the apps cost me almost nothing to ship, and the relay runs on a box cheaper than my coffee budget.
If this ever gets so popular it becomes a real bill, that's a problem worth having — I'll figure it out then, not by gating buttons today. I'd rather a few thousand devs actually use this than a few hundred pay for a moat I don't believe in.
Zero vendor lock-in isn't a slogan: the protocol is open, the daemon is open source, and if I disappear tomorrow your phone and your laptop still talk to each other. That's the deal.
Your coding agents,
off the desk.
Free, both stores. No account. Bring your agent.