A Desktop Control Plane
for AI Coding Agents

Operate Claude Code, Codex, Gemini CLI, Aider, and more — on build servers, GPU boxes, staging hosts, and this computer. Every agent runs inside a tmux session on its host: close the client, suspend the laptop, lose the network — work continues.

fleet overview
PROJECTS
orbit-api2 agents
 ├claude-codegpu-01
 └codexdev-box
novel-reader3 agents
 ├aiderlocal
 ├gemini-clistaging
 └opencodeidle
SERVERS
gpu-01cpu 34% · gpu 81%
dev-boxcpu 12% · mem 7.2G
this computertmux · no sshd
agentmux — activity
SSHgpu-01 connected · host key pinned
TMUXclaude-code reattached · scrollback intact
RECVbroadcast 5/5 delivered · receipts confirmed
HOLDorchestrator proposes restart agent · awaiting approval
MEM3 memory hits · embeddings computed locally
OKfleet ready · 3 hosts · 7 agents running
[agentmux/0:fleet*]3 hosts · 20:10 · ⌃K
6+Mainstream agent CLIs supported
1Binary — no server, no daemon, no account
3×3Terminal wall across hosts, on one screen
MIT100% open source
Ecosystem

Works with the agents and infrastructure you already run

Capabilities

Everything you need to operate a fleet of agents

AgentMux never owns the agent process — it attaches to a tmux session on the host. Persistence is guaranteed by construction, not by the client staying online.

Session persistence

Close the client, suspend the laptop, lose the network — agents keep running. Reopen and you're back in the same pane with scrollback intact. A four-hour migration no longer depends on one SSH connection staying up.

Direct terminal access

Every agent's pane is a full terminal — colour, mouse reporting, selection, search — not a transcript view. Step in mid-task, correct the agent, and hand control back without restarting the run.

A wall of terminals

Split the terminal area into up to nine panes — a 3×3 wall across hosts, each independently interactive. Drag the seams, double-click a tab to zoom, and the layout reflows with the window and is restored on next start.

Broadcast with receipts

Send one instruction to any selection of agents; each returns a receipt confirming delivery. Fan-out to a fleet is auditable rather than assumed.

Orchestration under approval

A local model served by Ollama can take an objective — say, working out why an agent stalled — one tool call at a time. Every mutating operation is held for your explicit approval; scheduled patrols are strictly read-only.

Retrieval memory, kept local

Project facts, preferences, and agent activity are indexed for retrieval by wording or by meaning. Embeddings are computed locally; nothing leaves the machine. Credentials matching known patterns are redacted before storage.

Product Tour

Real screens, real workflows

Everything below is an actual application screenshot — no concept renders.

AgentMux demo
Terminal

Attach, and it's a real terminal

Attach to any agent's tmux pane: full colour, mouse reporting, search and selection. The side panel shows process state, recent output, and lifecycle controls.

  • Start / Stop / Restart / Attach — one row of buttons for the whole lifecycle
  • An exiting agent leaves a usable shell instead of destroying the session
  • Ten terminals against one host is still one SSH connection, one authentication
Terminal attached to an agent
Coordination

Tell the whole fleet — and know who heard you

Send the same instruction to any selection of agents, across projects and hosts. Each agent returns a delivery receipt, turning fan-out from "assumed" into "confirmed, one by one."

  • Target by project, by host, or by manual selection
  • Per-agent delivery status at a glance
  • Failed deliveries stand out and can be retried individually
Broadcast with delivery receipts
Provisioning & Ops

A new host, working in minutes

The install panel inspects a host first and offers only the agent CLIs and runtimes it can actually support, stating why others are unavailable. Installation runs inside tmux, so a dropped connection can't leave a partial package tree.

  • CPU by mode and core, memory, disk, network, NVIDIA GPU telemetry
  • SFTP browser and editor with atomic writes and conflict checks
  • This computer managed with zero setup: no sshd, no credentials
Host install panel
Interface

Comfortable for an all-day watch

Apple's system palette by default, with six alternative themes including Nord, Solarized, and a light theme. Information density tuned for long supervision sessions.

  • Ctrl/⌘ K command palette reaches everything
  • Per-agent status and last output in the fleet tree
  • Seven themes, dark and light
Themes
Security Model

Permissions, credentials, and audit — built into the structure

These aren't settings. They're design decisions, and most of them cannot be switched off.

Encrypted credentials

Passwords and key passphrases are encrypted with AES-256-GCM before storage; the key lives in the OS keychain (Keychain, Credential Manager, Secret Service). If the keychain is unavailable, a 0600-file fallback is reported in the status bar.

Host keys pinned

Host keys are pinned on first connection. Any subsequent mismatch aborts the connection with an explanation — a man-in-the-middle swap cannot pass silently.

Secrets never reach the UI

No secret crosses into the UI process. The interface learns only whether a secret is set — never its value.

Tool gate with risk tiers

The orchestrator can only call a fixed whitelist of tools, each carrying a risk tier fixed at declaration. Execution passes through a single gate combining tier, host trust level, and the run's trigger.

Unattended = read-only

Scheduled patrols are refused every non-read tool unconditionally — and that restriction is not configurable. A patrol can report a stalled agent, but has no authority to act on it.

Fully auditable

Every step of every run is recorded — including proposals that were refused, rejected, or left unanswered. Remote output enters the model marked as data; instruction-shaped text raises a flag on the approval card.

Operating Scenarios

Built for these ways of working

01Long-running workloads

Migrations, refactors, and test campaigns that outlast a working session or a network link.

02Multi-host fleets

Three to fifty hosts with concurrent agent activity, presented as one tree with per-agent status.

03Coordinated changes

Instruct an entire fleet in one action, with confirmation of what was delivered.

04Provisioning

Bring a new host to a working state without assembling install commands by hand.

05Unattended monitoring

Scheduled read-only patrols that report stalled agents — without authority to act on them.

06Restricted environments

Planning, embeddings, and memory run locally. No proxying of agent model traffic, no reading of API keys.

Get Started

Four steps to your first managed agent

Remote hosts need only tmux and an SSH account — AgentMux can install tmux where it's missing. This computer is even simpler: no credentials at all.

Read the full docs
  1. 1

    Add a host

    Remote: address, user, and one of ssh-agent / key / password, with jump hosts supported. Local: nothing but a name.

  2. 2

    Add a project and workspace

    A working directory on that host. Or browse the host's files and add the directory in place — its name, path, and host are already known.

  3. 3

    Add an agent and start it

    A name and the command that starts it. Hit Start and it's running inside tmux on the host.

    claude --dangerously-skip-permissions
  4. 4

    ⌃K opens the command palette

    Attaching to an agent, opening a shell, installing a CLI, changing theme — the fastest route to all of it.

    Ctrl / ⌘ + K
Ctrl/⌘KCommand palette
Ctrl/⌘BShow or hide the tree
Ctrl/⌘\Add a pane — instantly with the next open tab, otherwise asking what to attach
Ctrl/⌘\Close the pane, leaving the tab and its shell open
Ctrl/⌘Fill the area with the focused pane, and back again
Ctrl/⌘Move between panes — zoomed, this reads them one at a time
Download

One build per platform, produced by GitHub Actions from the tagged commit

Every file ships with a .sha256 alongside.

macOS

macOS 11+ · Universal for Intel & Apple Silicon

agentmux-macos-universal.zip

Download

Windows

Windows 10+ · WSL and native PowerShell local hosts

agentmux-windows-amd64.zip

Download

Linux

GTK3 & WebKitGTK 4.1 required · amd64

agentmux-linux-amd64.tar.gz

Download
Note: builds are not yet code-signed or notarized. On macOS, choose Open Anyway in Privacy & Security on first launch (or xattr -dr com.apple.quarantine); on Windows, "More info → Run anyway". Downloading with curl -L -O avoids the macOS quarantine attribute.
FAQ

Questions you might have

Does AgentMux decide what my agents do?

No. Objectives, prompts, and repository conventions remain yours. The orchestrator investigates and proposes; any action that modifies a host executes only after your explicit approval.

What do hosts need?

A POSIX shell and tmux on every host (AgentMux can install tmux where it's missing), plus SSH on remote ones. This computer qualifies directly on Linux and macOS; on Windows the same machine offers two local hosts — the WSL distribution (where tmux lives) and native Windows (PowerShell, persisted by a built-in session daemon, so closing the window does not stop native work either). Remote Windows hosts are not supported.

Is Ollama required?

No. Only local orchestration and semantic memory search need Ollama (one chat model plus one embedding model). Without it, everything else is fully functional.

Can it report or cap my agents' model spend?

No — deliberately. Agent traffic goes straight from the host to whichever provider the agent CLI is configured for. AgentMux does not proxy it and does not read the keys, so it can neither report cost nor enforce a budget.

Is it built for teams?

One operator per installation. State, credentials, and the decision log live on the workstation — no shared server, no team account, no central audit sink. Two people working the same fleet see the same tmux sessions but keep separate histories.

Does deleting something in AgentMux stop remote work?

Never. Removing a workspace or agent record only removes the local record — the tmux session keeps running. The one control that destroys a running session is named Kill, and it confirms first, stating what is lost.

Let the agents run. Go get some rest.

One binary, one SQLite file, zero servers. Download and go — MIT licensed.