When to use it
Code that lives elsewhere
The repository and its dev stack are on another machine and you would rather not clone or sync it locally.
Heavier compute
Builds, tests, and agents run on a box with more cores, more RAM, or the right GPU.
The right environment
Services, databases, and toolchains are already set up on the remote and you want agents to run against them.
How it connects
ADE adds the remote over SSH using the same connection details you already use from a shell. The desktop spawns a lightweight ADE bridge on the far side and tunnels its control protocol back over the SSH channel — so lanes, chats, diffs, and PRs all behave exactly as they do locally, just backed by the remote’s filesystem and runtime.1
Add the machine
Give ADE the SSH target for the remote box. ADE bootstraps its runtime there on first connect.
2
Pick a project
Choose the repository on the remote you want to work in. It becomes a normal ADE project, backed by the remote filesystem.
3
Work as usual
Create lanes, run agents, review diffs, and open PRs from the desktop. Everything executes on the remote.
The desktop still drives everything
Connecting a remote does not move ADE off your own machine. The desktop app remains the control plane: you compose prompts, approve diffs, and merge PRs locally, while the agent processes, builds, and tests live on the remote. The remote’s own GitHub, Linear, and provider credentials are used for work that happens there.Remote machines run macOS, Linux, or Windows. A Windows desktop can drive them when it is running an installed release build — a locally packaged Windows build ships no macOS or Linux runtime payloads and will refuse. Windows targets must be Windows 10 22H2 or Windows 11 x64 with OpenSSH Server and PowerShell 5.1 or newer; WSL, ARM64, and Windows Server are not supported. See ADE on Windows.
Use another machine from the chat you are in
A chat can run a command or a simulator on another of your machines without a second chat or a new lane. Run the Windows tests, a build on a bigger Mac, or that Mac’s simulator, and the output comes back to the chat you are in.- Git moves the code. The chat’s commit must be pushed. Work done in the copy reaches the chat only by commit and push. A sync refuses while the copy holds work that is not pushed and names the files;
--discardthrows that work away. - The chat shows where it works. While a chat works on another machine, its header and card show that machine’s logo, with its commands and Stop. The terminal tool lists those commands.
- Copies clean up after themselves: after a week unused, when the chat is deleted or archived, when the disk is low, with
ade shell clean --machine, or from Settings › Machines, where each machine lists its Work from other machines with size and Delete.
@machine mention in the composer offers three choices: run a command there, start a chat there, or move this chat there.
Pick where new work goes
Settings › Machines shows each machine’s live load and what it can run: CPU, free memory, disk, running builds, signed-in CLIs, Xcode and simulators, battery, and work copies. Each machine also has a New work preference: Prefer, Normal, Less often, or Manual only. The preference is saved to your account, so every machine and the phone read it. Least loaded in the new-lane and new-chat pickers uses both the load and the preference, and never picks a Manual only machine.ADE Relay: the internet fallback
ADE Relay is how your phone, another Mac, or the web client reach a machine when they cannot connect directly. Relay uses ADE-hosted infrastructure, so both devices must be signed in to the same ADE account. ADE chooses the route for you:- It first tries a direct connection, such as your local network or tailnet.
- If those routes are unavailable and both devices are signed in, it tries ADE Relay.
- If you are signed out, ADE tells you when Relay is the missing connection option.
1
Sign in on your machine
Open ADE and sign in to your account.
2
Sign in on your other device
Use the same ADE account on your phone, another Mac, or the web client.
3
Choose your machine
Your account’s machines appear automatically. ADE tries the best available connection, including Relay when needed.
Relay is a transport, not cloud storage, and it does not store your ADE project state. Relay traffic is not end-to-end encrypted, so the Relay operator can read traffic while it passes through ADE-hosted infrastructure. Direct LAN and Tailscale connections do not pass through Relay.
Or install the brain on the box instead
SSH remotes are driven by your desktop: it bootstraps the runtime on the far side and tunnels the connection. The alternative is to install ADE’s brain on that machine directly and connect it to your account:Connect a machine
Install the brain on a server and put it on your account.
Architecture
How the control plane, runtime, and clients fit together.
