self-hosted · multi-session · tmux-backed

Drive your coding agents from your pocket.

agentmux runs Claude Code, Codex, and Cursor sessions on your dev machine and lets you reach them from Telegram or a PWA. Spawn multiple agents, switch between them with /switch, keep them working while you're away from the desk.

Same idea as OpenClaw or Hermes, but specialized for coding agents and built on each vendor's official remote-control surface — Claude Code channels, the Codex app-server, and the Cursor CLI directly. No harness, no API proxy, no detection signature.

Wraps
claude-code codex cursor-agent
4 sessions · 1 needs you
tmux backend · cloudflared tunnel
Telegram one chat · /switch commands
9:41
agentmux
bot
switched to auth-refactor · claude 9:32 PM
38/40 tests passing. The two failures look related — want me to dig in? 9:33 PM
/sessions 9:40 PM ✓✓
○ billing-rewrite [codex] · ~/projects/orbit
○ docs-pass [claude] · ~/projects/orbit
● auth-refactor [claude] · ~/projects/orbit
○ e2e-flake-hunt [cursor] · ~/projects/orbit 9:40 PM
/switch billing-rewrite 9:41 PM ✓✓
switched to billing-rewrite · codex 9:41 PM
Menu Message
PWA a chat per agent
9:41
agentmux
cx
billing-rewrite2m
cl
auth-refactor8m
cl
docs-pass1h
cu
e2e-flake-hunt3h
cx
migration-janyest
new session
What it is

A multiplexer for the coding agents you already run locally.

agentmux is a local daemon that supervises a session per coding agent and exposes a broker your phone can talk to. Each session uses the vendor's own remote-control interface, so the agents run on your box with your account — agentmux is just the remote, and the inbox that ties many sessions together.

01 / SESSIONS

Run as many agents as your machine can hold.

Each session is its own supervised process with its own working directory, agent, and history. Spawn /new auth-refactor on the train, switch to /billing-rewrite for a quick question, leave them all running. The registry persists; sessions survive reboots.

auth-refactorclaude · 38t
billing-rewritecodex · 12t
e2e-flake-huntcursor · 6t
docs-passclaude · idle
02 / TOS

Built on each vendor's official remote-control surface.

No harness, no API proxy, no credential reads. agentmux talks to each agent through the same interface the vendor's own mobile/desktop apps use — so there's nothing for Anthropic's harness detection to flag, and nothing different for OpenAI to break. Subscriptions stay on subscription billing.

claude code
Official --channels MCP plugin protocol
codex
codex app-server JSON-RPC — same as the desktop app
cursor
cursor-agent --resume headless mode
03 / TELEGRAM

One chat, all your agents.

Slash commands the way you'd expect: /switch, /new, /sessions. Telegram does the heavy lifting — notifications, history, search, attachments. Works on any device that runs Telegram, which is most of them.

/switch billing-rewrite
↻ switched to billing-rewrite
04 / PWA

Installable web app, a chat per agent.

The PWA is the same broker, different surface. List of sessions like a messenger, tap in to chat with one agent. Push notifications when something finishes. Install it to your home screen; it behaves like a native app.

cx billing-rewrite ● 2m
cl auth-refactor 8m
cu e2e-flake-hunt 3h
05 / TUNNEL

Bring your own tunnel.

The broker speaks plain HTTP on localhost — point any tunnel at it. cloudflared is the tested path (and what the project ships docs for), but tailscale funnel, ngrok, or a self-hosted reverse proxy work the same.

phone tunnel broker:8080 tmux
tested: cloudflared · works in theory: tailscale · ngrok · frp · caddy
dogfooded

Built with agentmux.

agentmux is dogfooded from day one: this landing page, the Docker setup, and the mobile polish were shipped through the same remote agent workflow the project is built to enable.

Setup

Three things and you're remote-controlling your laptop.

It's a daemon, a broker, and a tunnel. No managed service, no account, nothing to sign up for.

STEP 01

Clone & run the daemon.

The daemon owns the tmux session and the agent registry. Wraps whichever CLIs it finds on PATH — claude, codex, cursor-agent.

$ git clone github.com/AhmetHuseyinDOK/agentmux
$ cd agentmux && pnpm install
$ pnpm dev
✓ broker on :8080
# detected: claude, codex, cursor
STEP 02

Expose it with a tunnel.

Cloudflared is what we tested. Any tunnel that fronts localhost will do — the broker doesn't care.

# cloudflared (tested)
$ cloudflared tunnel \
  --url http://localhost:8080
✓ https://<sub>.trycloudflare.com
# or tailscale funnel, ngrok, …
STEP 03

Point Telegram & the PWA at it.

Set BOT_TOKEN, open the PWA URL on your phone, install to home screen. Same broker, two surfaces.

$ export BOT_TOKEN=
$ pnpm bot
✓ telegram bot online
# on your phone:
open https://<sub>.trycloudflare.com
Compared

How it differs from the obvious neighbours.

Three tools you've probably heard of. They overlap with agentmux in some ways and not at all in others. The biggest split is what each one is for, and how Anthropic treats it.

agentmux
OpenClaw
Hermes (Nous)
What it is
Multiplexer for coding-agent CLIs
General-purpose personal assistant
Self-improving Claude Code harness
How it talks to the model
Per-vendor official surface
channels · app-server · cursor-agent
Direct API client
Reads CC credential store / API
Sessions
Many, named, parallel
One persistent agent
One at a time
Surfaces
Telegram · PWA
Telegram · WhatsApp · Signal · iMessage
CLI
Anthropic subscription tier
Used normally
Blocked Apr 4, 2026
Blocked Apr 4, 2026
Detection signature
None — vendor-blessed interfaces
Name flagged in git/context scan
HERMES.md in repo triggers reroute
Best for
Driving coding agents from your phone
"AI butler" for personal tasks
Autonomous self-modifying agents

Sources: Wikipedia: OpenClaw · Consumer Rights Wiki: HERMES.md billing flaw · TechCrunch (Apr 4, 2026). Anthropic's stated reasoning, via Boris Cherny: "subscriptions weren't built for the usage patterns of these third-party tools."

Install

Clone it. Run it. It's yours.

MIT-licensed, no telemetry, no servers in the path. Issues and PRs welcome.

Get the code

$git clone github.com/AhmetHuseyinDOK/agentmux

Clone the repo on GitHub. Full setup guide ships when the project goes public.

Open the tunnel

$cloudflared tunnel --url localhost:8080

Cloudflare is the tested path; tailscale funnel, ngrok, or your own reverse proxy work equally well.