lmux is a small macOS terminal I use to run a bunch of Claude Code and Codex sessions at once. The feature I reach for most is taking back a prompt I sent to the wrong session.
The layout is borrowed from cmux: workspaces in a sidebar, splits, tabs in each pane. A few people on Reddit called it "another cmux clone", which is fair at first glance, but it isn't a fork and has no cmux code. Here's what's different.
Taking back a prompt
When you run several Claude Code sessions side by side, sooner or later you type a prompt into the wrong one.
In lmux you hover over the prompt you sent and click ×. Claude Code rewinds to just before that prompt, and the session keeps running. No restart. Files it already changed stay changed, so check your diff. If you click ✎ instead, it rewinds the same way and puts the prompt back in the input so you can edit it and send it again.
Staying light
I built lmux for myself because cmux was more app than I needed. lmux is a native Swift/AppKit app on libghostty, and it's 25 MB. With 20 workspaces open it idles near 0% CPU on my M4 Pro. cmux 0.65.2 sat around 8% in the same setup. The method is in scripts/BENCH.md if you want to check it on your machine.
It makes no network calls.
The rest
- A status ring and badge on each workspace show whether an agent is running, needs you, is done, or failed. This comes from Claude Code's hooks and from Codex. ⇧⌘J jumps to the one that's waiting.
- Any other program can report status too, by printing an OSC 7501 escape sequence. See
docs/agents.md. - Sessions come back after you quit, update, or reboot.
- It reads your Ghostty config.
- It never wraps
claudeorcodex. To get status it adds a few hooks tosettings.json, and it shows you the diff before it writes anything. - If you're coming from cmux, there's a one-click import.
- Korean input works properly while composing. There are some Chinese and Japanese IME fixes too.
What I left out on purpose
No built-in browser and no SSH workspaces. Both are useful, but they're the kind of thing that made cmux feel heavy to me. I'd rather keep lmux a terminal.
Limits
It's macOS 14+ on Apple silicon only. Taking back a prompt only works with Claude Code for now.
Try it
It's free and MIT licensed. Grab the dmg from GitHub Releases, or:
brew install --cask sooftware/tap/lmux - Code: https://github.com/sooftware/lmux
- Site: https://lmux.dev
I'm Soohwan, an ML engineer in Seoul. If you run a bunch of agent sessions at once, I'd really like to hear what breaks, what's missing, and whether rewinding a prompt is as useful for you as it's been for me. Issues and comments both welcome.
