The harness multiplexer for coding agents

Hundreds of agents. Zero collisions.

Every session gets its own VM, with its own files, ports, and processes. Machines pause when idle and run on the plans you already pay for.

Illustration: a live grid of about 220 session machines. Most are working, a few need your input, finished ones pause, and paused sessions are eventually deleted while new ones start in their place.

  1. Your laptop runs one agent well.

    Worktrees give a second agent its own files, but not its own ports, processes, or memory, and every checkout eats your disk.

  2. Harmux gives every session its own machine.

    A lightweight VM and its own storage. Files, ports, processes: nothing shared, nothing trampled.

  3. Then run as many as you need.

    Ten, or a few hundred. Every one of them starts clean and stays isolated.

  4. Idle machines pause on their own.

    Compute stops once an agent goes quiet. The workspace and conversation stay on its volume.

  5. Finished sessions leave nothing behind.

    Finish one and its machine and storage are deleted. There is nothing to clean up.

01Try it

Every agent, one place to watch them.

The Harmux web app. A session named “Approve the Fly volume migration plan” is marked Needs you, with Claude Code asking “Approve this plan? (y/n)” in the terminal and the question shown in Session context. The sidebar lists three more Claude Code and Codex sessions: working, background work, and paused.

A working model of the web app. Open a session, pause it, resume it, or answer the plan with y.

02Why Harmux

Your accounts. Your rules. Every screen.

Bring your subscriptions

Connect the plans you already pay for, with several accounts per agent, and choose which one each session runs on.

Opinionated, then configurable

Sensible defaults from the first session. Change the agent, account, access, machine size, Setup, Skills, and MCP servers whenever you need to.

Web, mobile, and CLI

Every surface shows the same sessions, live. Start at your desk, answer from your phone, finish in a terminal.

03Web, mobile, CLI

Every screen. Same sessions.

Start in the terminal, answer from your phone, review in the browser. Below is the CLI’s real output, one session start to finish.

~/app · zsh

$ hmux new --project-name app --repo https://github.com/acme/app "Fix the flaky auth test"

created 4aba1458-a368-46df-acec-64f1c7b0beac (provisioning, claude-code)

attach with: hmux attach 4aba14

$ hmux attach 4aba14

Claude Code ~/app (main)

Reproducing the failure: bun test test/auth

1 of 20 runs times out waiting for the session cookie.

>

[detached — the session keeps running]

# later, from anywhere

$ hmux ls

55105532-72d8-4faf-8f68-f9fe8bbf314a working Working claude-code Write the release notes

d6d565cc-eeea-4e59-a695-e1bcf0e620a4 stopped Ready claude-code Tighten sidebar spacing on mobile

4aba1458-a368-46df-acec-64f1c7b0beac awaiting_input Working Needs you claude-code Fix the flaky auth test

$ hmux attach 4aba14

Claude Code ~/app (main)

Two ways to fix it:

1. Wait for the cookie before asserting

2. Retry the request up to three times

Which one? (1/2)

> 1

Going with 1. Updating test/auth/session.test.ts

[detached — the session keeps running]

# next morning

$ hmux ls

55105532-72d8-4faf-8f68-f9fe8bbf314a stopped Ready claude-code Write the release notes

d6d565cc-eeea-4e59-a695-e1bcf0e620a4 stopped Ready claude-code Tighten sidebar spacing on mobile

4aba1458-a368-46df-acec-64f1c7b0beac stopped Ready claude-code Fix the flaky auth test

$ hmux attach 4aba14

waking the machine....

Claude Code ~/app (main)

Done. PR #214 is open and CI is green.

>

[detached — the session keeps running]

$ hmux finish 4aba14 --yes

finished and deleted 4aba1458-a368-46df-acec-64f1c7b0beac (destroyed)

$

Answer from wherever you are.

The web app, the mobile app, and the CLI all attach to the same terminal. When a session is waiting on you, your phone gets a push, and you answer inside the native terminal. Harmux never puts its own buttons between you and the agent.

The real TUI
Your own instructions, Skills, and MCP config. No chat clone.
Status you can trust
Working, Needs you, Ready. Harmux only pauses once it can prove the work is done.

04Cost

Pay for work, not for waiting.

Harmux bills each machine while it runs, pauses it 30 minutes after it goes idle, and keeps only its storage while it is paused.

Prices in Ashburn, VA
Machine Price
Light4 shared CPUs · 8 GB · 20 GB disk $0.11/h
Standard4 performance CPUs · 8 GB · 20 GB disk $0.28/h
Large8 performance CPUs · 16 GB · 40 GB disk $0.55/h
StorageEach session’s disk and its snapshot, running or paused $0.345/GB-month

All-in prices in Ashburn, VA, billed by the second. Other regions bill compute at their own rates. Inference runs on your own Claude or Codex account, so Harmux never bills for tokens.

Machine
With Harmux, a month
 
Always on, a month
 
You save
 

One week, one agent28 of 168 machine-hours billed

Working Idle, until it pauses Paused: storage only

Estimates at the prices above, for a session kept all month, with a 4.35-week month. A session waiting on your answer keeps its machine running until you reply, so answer time counts as work.

05FAQ

Questions teams ask first.

What does it cost?

A working agent on the default machine costs $0.28 an hour, and keeping a paused session’s disk costs $7.80 a month. Finished sessions cost nothing. The prices and calculator above show the rest. Inference runs on your own Claude or Codex account, so Harmux never bills for tokens.

Which agents work with Harmux?

Claude Code and Codex, on the subscriptions you already have. You can connect several accounts for each and pick which one a session runs on.

How are sessions isolated?

Every session is its own lightweight VM with its own storage: its own files, ports, processes, and memory. Nothing is shared between sessions, and finishing one deletes its machine and storage.

Is my code safe with an agent running on its own?

You choose per session. Guarded keeps the agent’s own approval prompts, so it asks before risky actions. Unrestricted lets it run without asking. Credentials are stored encrypted.

What happens when a session pauses?

Compute stops. The workspace and the agent’s conversation stay on the session’s storage, and attaching again, from any screen, wakes it up exactly where it stopped.

Why is there a waitlist?

Every session gets a machine of its own, so we open Harmux in batches as we add compute. Each batch gets the machines it needs from day one, and we email the next batch when its capacity is ready. Early beta testers go first.

06Join

Give every agent its own machine.

We let people in a few at a time as we add machines. Confirm your email and you’re on the list. Once you’re approved, one email gets you in.

The first batch
Early beta testers, teams that run agents every day, get their machines first.
A say in what’s next
Tell us what works and what doesn’t, and help decide what we build next.

Early beta (optional)

Run agents every day? Answer any of these and we’ll consider your team for the first batch.

Team size
Agents you run
Sessions a day

We’ll send one link to confirm your email.