minmuxStar on GitHub
welcomeZSH~/minmux · main
a terminal for agentic coding

You run claude.You still read the code.

A fast, cross-platform terminal with tabs, split panes and real shells, for people who run Claude Code, Codex or OpenCode all day. It stays out of your way like any terminal, then adds the panels that show what your agents actually did.

An open-source alternative if you have been looking for Warp without the lock-in, or tmux that understands agents.

$curl -fsSL https://raw.githubusercontent.com/vcmf/minmux/main/install.sh | sh
macOS·Linux·Windows and WSL|MIT, open source|PowerShell one-liner
01 · run

Run Claude Code, Codex and OpenCode, side by side.

Each agent gets a real shell in its own tab or pane: your shell, your prompt, your directory. Split, and the next one starts where you are. minmux is a normal terminal first.

apiZSH
webZSH
02 · watch

It tells you which one needs you.

Working, waiting or done: a dot on the tab, a line in the sidebar, a native notification when a background pane asks. The Agents panel shows every session, its sub-agents and the processes it runs, and finds the sessions you closed so you can resume them.

apiZSH
webZSHneeds input
03 · read

You still read the code.

The Changes panel shows the git diff of the focused pane's folder, per file. The Files panel browses its tree: click a file and read it, with line numbers and syntax colour, without leaving the terminal.

apiZSHdone
src/auth/limits.ts+38−0
src/auth/routes.ts+6−2
test/auth.spec.ts+21−4
limits.tstypescript · 1.1 KB
1import { bucket } from "./bucket"2import type { Request, Response, NextFunction } from "express"34// Token bucket per IP: AUTH_RATE_LIMIT requests a minute, refilled continuously.5const PER_MIN = Number(process.env.AUTH_RATE_LIMIT ?? 10)67export const authLimit = bucket({8  capacity: PER_MIN,9  refillPerSec: PER_MIN / 60,10  key: (req: Request) => req.ip,11})1213export function limited(req: Request, res: Response, next: NextFunction) {14  if (authLimit.take(req)) return next()15  res.status(429).set("Retry-After", "6").json({ error: "slow down" })16}
04 · ship

Then ship what they open.

Your PRs, the ones waiting for your review, and the focused pane's repo, with approvals, CI and stacked PRs at a glance. Read the threads, request reviewers, comment, approve, update the branch or merge, while checks run live. It uses your own gh.

05 · faq

Questions people ask.

The short answers. Something else on your mind? Open an issue: what you did, what happened, and what you expected is enough.

man minmux

FAQ

How is minmux different from tmux or a normal terminal?
minmux is a normal terminal first: tabs, resizable splits, your own shell, your own directory. What it adds is a small set of panels that answer what happened while an agent was working: Changes, Files, and the Agents board. Nothing replaces the shell you already use.
Which coding agents does minmux support?
Claude Code, Codex and OpenCode. Run claude, codex or opencode in any pane and the Agents board shows the session, its sub-agents, what each is doing and its token use, and the session comes back in the same pane when you reopen minmux. Any other agent CLI still runs fine in a pane; it just will not show up on the board.
Does minmux work on Windows?
Yes, on Windows and inside WSL, alongside macOS and Linux. Windows and WSL are the newest of the three targets, so they have seen less real-world use so far, and Codex and OpenCode are not wired there yet (Claude Code is).
Do I have to configure hooks or edit a global config?
No global config to edit: minmux wires only the panes it launches, so agents started outside minmux do not show up. Claude Code and OpenCode need no setup at all. Codex asks you to approve minmux's hooks once: type /hooks in Codex and press t. Each integration can be switched off in Settings.
Why was minmux built?
I love the terminal, and the easiest way to put an agent like Claude Code to work is to launch it from a CLI. But I also like reading the code an agent writes and making the edits myself, and a plain terminal makes that hard: you lose track of which session needs you, and you never really see what changed. minmux keeps the shell I already like and adds just enough to stay in the loop: the Changes, Files, and Agents panels show what happened, not just that something did. It also behaves the same on macOS, Linux and WSL, which helps since my work moves between all three.
Can I get an agent session back after closing minmux?
Yes. Quit minmux with an agent running, reopen it, and that session comes back in the same pane, in the same folder. Past sessions are listed in the Agents panel too: search their conversations, filter by agent or by the current folder, and resume one in a split.
Does minmux send telemetry or need an account?
No telemetry and no account. The one request minmux makes on its own is a check for a newer release on GitHub. Everything about pull requests goes through your own gh.
Where do minmux settings live?
In one JSON file that is the source of truth: ~/.config/minmux/settings.json on macOS and Linux, %APPDATA%\minmux\settings.json on Windows. Edit it by hand or through the in-app panel; a watcher re-applies changes as you save.
Is minmux free and open source?
Yes. It is MIT licensed and open source: clone it, read it, fork it, ship your own version. If it turns out useful to you, a star helps other people find it.
06 · install

Install it in one line.

“…I also like reading the code an agent writes and making the edits myself, and a plain terminal makes that hard… minmux keeps the shell I already like and adds just enough to stay in the loop.” — made by quanglee.dev

# macOS and Linux
$curl -fsSL https://raw.githubusercontent.com/vcmf/minmux/main/install.sh | sh
# Windows, in PowerShell
>irm https://raw.githubusercontent.com/vcmf/minmux/main/install.ps1 | iex
# or build it from sourcegit clone https://github.com/vcmf/minmux && cd minmuxmake install # deps, native rebuild, hooksmake build # package for your OS
  • SSH hosts from your ~/.ssh/config, splits stay on the host
  • 4 theme families, light and dark, in one settings.json
  • sessions come back after a restart
  • no telemetry, no account
  • macOS, Linux, Windows and WSL · MIT

© 2026 minmux · MIT · made by quanglee.dev, built in the open with the dim0 team

macOS · Linux · Windows⎇ mainmade by quanglee.dev0 running0 waiting
turn 00 / 06
UTF-8 · MIT