Skip to main content

AgentMux: A Control Plane for AI Coding Agents on Remote Servers

· 3 min read

I open-sourced AgentMux: a desktop app for managing AI coding agents that run on remote servers. Go + Wails 3 + React, MIT licensed.

Most of my coding agents ended up on remote servers — an agent runs for tens of minutes at a time, and a laptop that goes into meetings, sleeps and changes networks is the wrong place for that. The annoying part is managing them: open a terminal, SSH in, remember which directory this project lives in, start the agent. Once you have a few machines and a few projects you stop remembering who is running what, and anything started in the foreground dies with the connection.

That is what AgentMux is for. Every server, project and agent sits in one tree, colour-coded by run state, so a glance tells you what is running and how far along it is.

The important bit is that everything it starts runs inside a tmux session on the server; the desktop app never holds a process. Closing a tab is just a detach. Quitting the app, losing the network or shutting the lid does not stop the agent, and when you come back the terminal is where you left it, scrollback included.

Roughly what else it does:

  • A real terminal — xterm.js attached to the agent's own pane, so you can take over typing without interrupting it first
  • One instruction to many agents, with a separate delivery receipt from each
  • An SFTP file browser; double-click a text file and it opens in Monaco, with atomic saves that keep the permission bits and warn you if something else changed the file
  • Host metrics: CPU broken down and per core, memory, disk, network, temperature, plus utilisation and memory for NVIDIA GPUs
  • An install panel that detects which agent CLIs a box is missing (Claude Code, Codex, Gemini CLI, OpenCode, Aider, Cursor CLI) and installs them inside tmux

Passwords and key passphrases are encrypted with AES-256-GCM before they touch disk, the master key lives in the OS keychain, and the frontend only ever learns whether a credential is set. It does not proxy the agent's model traffic and never touches API keys.

If you want to try it, the releases page has macOS, Windows and Linux builds (unsigned, so the first launch takes one extra click). Building from source needs Go 1.25+ and Node 20+; on the remote side, tmux and an SSH account is all it takes:

git clone https://github.com/tan-zhuo/AgentMux.git
cd AgentMux
cd frontend && npm install && npm run build && cd ..
go build -o agentmux .
./agentmux

Plenty is still missing: the orchestrator AI from the original design only has its plumbing in place, there are no split panes inside a tab, file transfers are one file at a time, and metrics history lives only in the open panel. The editor is Monaco, not VS Code, so extensions do not run — if you need them, running code-server on the box and letting AgentMux keep it alive in tmux is the better answer.

The code is at github.com/tan-zhuo/AgentMux — try it and file issues.

COMMENTS