Overview Desktop Agents Mobile Download
中文 View on GitHub
EnvoyDev logo EnvoyDev
built on EnvoyMesh logo EnvoyMesh

The control plane for coding agents

Run Claude Code, Codex, OpenCode, Cursor, and more — on your own machines. Reach them from a window or a phone. Open source, self-hosted, local-first.

Claude Code Codex DeepSeek Harness Cursor GitHub Copilot OpenCode Pi OMP Envoy Harness +38 more ACP recipes
47
Coding agents supported
3
Desktop OS · mac · win · linux
iOS + Android
EnvoyDev Mobile
EnvoyDev desktop — one task, one transcript, every agent

What is EnvoyDev?

A desktop app that drives coding agents on the computer where your code lives.

EnvoyDev is a desktop app that drives coding agents on the computer where your code lives. It does not try to be an agent — it gives Claude Code, Codex, OpenCode, Cursor, DeepSeek's CLI, and others one unified window: the same timeline, the same approvals, the same diff review, on every agent.

Your code never leaves your machine. Your model keys stay with the agent that uses them. EnvoyDev never asks for an account.

EnvoyDev is built on EnvoyMesh — part of the apps group that shares the mesh (identity, discovery, relay) and the pairing experience with the rest of the family, while keeping its own project and task state.

One window, every agent

The desktop side of EnvoyDev — where projects, tasks, transcripts, and approvals all live together.

🪟

One window, every agent

Pick the coding agent per task — from the nine EnvoyDev-tested harnesses or a larger ACP catalogue. Switch models and CLIs without learning a new UI.

📂

Projects on the left, tasks in the middle

A project is the folder you work in. A task is one unit of work in it — with its own branch, agent, and model. Drag the rail and explorer to resize; widths are remembered.

👁

See what the agent is doing

A live transcript with messages, tool calls, file changes, and approval cards — so you always know what the agent is about to do.

🛡

Approve before risky steps

A permission dock shows scope and risk before each tool runs. Nothing happens until you say so.

🎛

Cancel, queue, or steer

Queue waits for the turn. Steer interrupts it. The transcript records which one happened.

🌿

Git where the work is

Branch, fetch, pull, stash, merge — and hand a conflicted merge to an agent when you want help resolving it.

⚙

Keep the daemon reachable

App-managed by default; optionally run it as an OS service so the phone can reach a machine with no window open.

🔑

Pair once, stay paired

Codes and links last until you revoke them under This machine (or Forget on the thin client) — no calendar expiry after a restart.

💻

Reach another home from this laptop

Settings → Paired homes joins a server or office machine as a thin client. Agents and provider keys stay on that home.

👥

Team jobs across machines

Host a team, invite another EnvoyDev, and run collaborative steps on the same Git project — work is shared through Git, not the mesh.

⏯

Resume after a disconnect

Your work is on your machine — pick it up where you left off. The window reconnects after restart until you Forget or revoke.

🌐

macOS, Windows, and Linux

All three are first-class. Desktop version is the one-line VERSION file at the repo root — Settings → About compares this window with the service.

Coding agents supported

One unified UI for every first-class coding harness. Install only the CLIs you actually use — EnvoyDev discovers the rest at runtime.

Built-in
Envoy Harness (ACP)
Catalogued · EnvoyDev-tested
DeepSeek Harness, Claude Code, Codex, GitHub Copilot, OpenCode, Cursor, OMP, Pi
ACP catalog · third-party recipes
38 more — including Gemini, Grok, Kiro, Kimi, Qwen Code, CodeWhale, MiniMax Code, TraeCLI, Qoder, Cline, Hermes, Goose, Junie, Nova, Poolside, Kilo, Stakpak, and others — probed at runtime, install only what you use.

Your model credentials live with the agent that uses them — EnvoyDev never proxies them, never asks for an account.

EnvoyDev coding agents settings — every catalogued harness with readiness status

Continue on the go

EnvoyDev Mobile is the phone-side companion to your desktop. Pair, watch, approve, and steer — from anywhere.

Three ways to pair your phone

📷

Scan a QR code

The fastest path. Open the desktop Settings → Pair devices, show the QR, point the phone. Done.

🔌

Paste host:port

Type something like devbox.local:4770 and paste a token. Direct TCP for same-network or VPN.

🔐

Use an SSH hop

Point the phone at any SSH-reachable box that can see the desktop. The tunnel terminates on the daemon's loopback — no public IP needed.

The phone is a thin client — it never runs an agent, never holds a provider key. Your desktop does the work; the phone is the window. Pairings stay until you Forget the host on the phone or revoke the device under Settings → This machine on the desktop.

Built on EnvoyMesh

EnvoyMesh Logo

Member of the EnvoyMesh apps group

EnvoyDev shares the same identity (Ed25519 keys, cryptographic pairing), the same discovery (LAN → public → P2P → bootstrap → relay, in that order), and the same mesh and pairing UX as the rest of the family. State is per-product: EnvoyDev keeps its project and task tree under <home>/EnvoyDev/, while EnvoyMesh's mesh, peer list, and identity are shared.

Learn about EnvoyMesh →

Get EnvoyDev

Desktop installers for macOS and Windows, the Android APK, and the App Store / Google Play listings.

🤖

Android

EnvoyDev Mobile

Google Play
Scan to open the listing
🍎

iOS

EnvoyDev Mobile

App Store
Scan to open the listing

Scan a QR or open the store link for EnvoyDev Mobile. The Android APK is also available from GitHub releases — pick the latest APK asset — or via the Mirror link if GitHub is unreachable. For Linux tarballs and source, see GitHub releases.