FOR CLAUDE CODE & CURSOR

Coding got faster.
Managing agents didn't.

octomux is a local dashboard for Claude Code and Cursor agents. Run agents that keep going without you — looping until tests pass, waking on a cron, dispatching each other. Then read every diff in one place and decide what merges.

On your machine, on the Claude or Cursor subscription you already pay for. Reach it from your desk, Slack, or your phone.

$ npm install -g octomux && octomux init
then cd your-repo && octomux start → localhost:7777
Needs Node 20+ and the Claude Code or Cursor CLI macOS & Linux free & open source nothing leaves your machine
writing got faster · reviewing didn’t
MIT
free forever
0
bytes leave your machine

More agents isn’t the upgrade.
Owning the merge is.

Spinning up parallel work got easy. Knowing what five agents did while you were in a meeting did not.

They don’t stop at the first error

Give a task a verify command and it re-runs itself in fresh context until that command passes. Put it on a cron and it does that at 3am.

One inbox, not ten tabs

Every “allow this?” lands in one place. Reply once and the agent keeps going. The tab title tells you when something is waiting.

Review is a workstation, not a rubber stamp

An agent drafts a walkthrough and inline comments against the real diff. You read it in-app and decide. Nothing reaches GitHub until you say so.

It’s wherever you are

Desk, Slack, Telegram, or your phone over Tailscale. Same fleet, same inbox, no cloud in the middle.

Dispatch it. Let it run. Own the merge.

The same three beats whether you have one agent going or fifteen.

01 — Dispatch

Describe the task. Pick Claude or Cursor.

Type what you want, paste a Jira or Linear link, or drop in a whole list and get one agent per line. Every task gets its own git worktree and branch, so five agents can edit auth.ts at once without touching your working tree.

Home screen with the task composer and sessions inbox
Monitor grid tiling every running agent's terminal into one wall
02 — Watch, or don’t

The whole fleet on one wall.

Every running agent’s live terminal, tiled. Spot the stuck one instantly. Permission prompts collect in a single inbox instead of scattering across panes — answer once and everyone keeps moving.

03 — Review & ship

Told what matters, before you read a line.

A review agent opens with a verdict, a risk and effort read, and a short ranked list of things to actually look at — each one linked to the exact line, grounded on the real diff. Start from there, drop into the full diff where it matters, and publish as one batched GitHub review when you accept it. octomux spots the PR by branch and closes the task when it merges.

Review walkthrough: verdict, risk and effort chips, and ranked highlights linked to code

It keeps going
when you don’t.

An agent that stops at the first red test is a chore. These two turn a prompt into work that finishes on its own — and leaves a record of what it did.

01  SCHEDULES

Work that shows up on its own.

Put a task on a cron and stop remembering to kick it off. Overnight log triage that opens a fix PR by breakfast. A doc-drift sweep that catches the README lying about a flag. A Friday digest of everything that merged.

  1. Trigger builder, timezone, model, and timeout — every knob in the UI, no YAML
  2. Give it a verify command and it loops until that command exits 0
  3. Override the prompt per schedule; export any of it as JSON
A schedule opened for editing: trigger builder, timezone, model, verify command, and the prompt

Every firing — scheduled, looped, or orchestrated — lands in one Runs feed with a one-sentence result, so catching up is scrolling a list instead of opening ten terminals.

Your fleet isn’t stuck at your desk.

It runs on one machine you own. You reach it from whatever you happen to be holding.

The octomux orchestrator chat open on a phone, showing task plans awaiting approval
Your phone — over a tailnet
A Slack thread where octomux proposes a spec, is approved, dispatches two tasks and reports back when verify passes
Slack
A Telegram chat where octomux reports overnight log triage, answers a follow-up and dispatches a fix
Telegram

On your machine

  • macOS and Linux via the npm CLI
  • A macOS desktop app if you'd rather not keep a terminal open
  • Nothing leaves the host — no cloud sync, no telemetry, your .env stays put

From your phone

  • Host it on a box, join it to a Tailscale tailnet, open it anywhere
  • The dashboard is built for a phone screen, terminals included
  • Only tailnet devices can reach the port, and a token gates the rest

From chat

  • A Slack app and a Telegram bot that talk to the same fleet
  • Kick off work, answer a permission prompt, or ask what shipped
  • Keep long-lived agents with their own system prompt on their own channel

Two commands and you're running.

$ npm install -g octomux && octomux init

Against the alternatives.

octomux compared to vibe-kanban, Conductor and Emdash
vibe-kanban Conductor Emdash octomux
LicenseMIT (community*)ClosedOpen sourceMIT, open source
Fully local, no cloudNow local*Cloud accountYesYes
One permission inboxNoNoNoYes
Monitor gridNoNoNoYes
Self-verifying loopsNoNoNoYes
Cron schedulesNoNoNoYes
Review + human-gated publishPartialPartialNoYes
Recursive orchestrationNoNoNoYes
Reach it from your phoneNoNoPartial (SSH)Yes (tailnet)
Claude Code + CursorYes (10+)YesYes (20+)Yes
PlatformmacOS/Linux/WinmacOS onlymacOS/Linux/WinmacOS + Linux

* Bloop, the company behind vibe-kanban, wound down in early 2026; it continues as a community project.
Verified 2 Aug 2026 against each project’s own docs. Something out of date? Open an issue and we’ll fix the row.

Common questions.

I already run parallel agents — why try octomux?

Starting agents is solved. Everything after isn’t. octomux is the layer for what happens once they’re running: one permission inbox, the whole fleet on one grid, loops that re-run until your verify command passes, cron schedules, and a review workstation you go through before anything merges.

What does it cost to run?

Nothing beyond what you already pay. octomux is MIT licensed and adds no inference cost of its own — it drives the Claude Code or Cursor subscription you already have.

What exactly is a “loop”?

A task with a verify command attached. The agent works, octomux runs the command, and if it exits non-zero the agent restarts in fresh context holding just the failure. It repeats until the command passes, the iteration cap is hit, or it stops making progress. /loops shows the ledger: what each pass changed, whether verify went green, what it cost.

Can it run work on a schedule?

Yes. Put a task on a cron from the Schedules page — nightly log triage, a doc-drift sweep, a Friday digest — and read what came out of it in the Runs feed. No YAML to hand-write.

Does it run on Linux?

Yes — the CLI runs on macOS and Linux. There’s also a macOS desktop app if you’d rather not keep a terminal open.

Can I use it from my phone?

Yes. Host it on a box, put both devices on a Tailscale tailnet, and start with octomux start --bind 0.0.0.0. The dashboard is built for a phone screen, terminals included. You can also drive the same fleet from Slack or Telegram.

Does it work with Cursor?

Yes, per task. Putting Cursor on a branch Claude wrote is a cheap second opinion — a different model reads the diff without inheriting the first one’s assumptions.

What if two agents need the same file?

They can’t collide. Each task runs in its own git worktree on its own branch, so five agents can edit auth.ts at once and your working tree never moves.

Does an agent post to GitHub without me?

No. Review comments are drafted locally against the real diff and sit there until you accept them. When you do, they publish as one batched review. Reject a comment with a reason and it remembers for next time.

Does my code leave my machine?

No. Everything runs locally. No cloud sync, no telemetry.

What if my laptop reboots?

Run octomux start. Tasks, branches, terminals, and review progress all come back.

Walk away.
It keeps going.

Loops keep looping and schedules keep firing for as long as the host is up — put it on a spare Mac mini or a Linux box and check in from your phone. Reboot the host and octomux start brings every task, branch and review back.

$ npm install -g octomux && octomux init