zmx: Session attach/detach for the terminal (2.2k stars)
What it does
All text below is quoted directly from the project README.
>Session attach/detach for the terminal
features:
- Persist terminal shell sessions
- Ability to attach and detach from a shell session without it being killed
- Native terminal scrollback
- Multiple clients can connect to the same session
- Re-attaching to a session restores previous terminal state and output
- Send commands to a session without attaching to it
- Works on mac and linux
- This project does NOT provide windows, tabs, or splits
>brew install neurosnap/tap/zmx
Repository
neurosnap/zmx
Repository stats
|Metric|Value|
|:-|:-|
|Stars|2,233|
|Forks|174|
|Last release|v0.8.1 (2026-09-05)|
|Languages|Zig 91%, Shell 7.8%, Other 1.2%|
|Contributors|73|
|AI contributor accounts (Claude / Codex / Cursor / Copilot)|None|
|AI co-authored commits|None|
Main contributor
|Field|Value|
|:-|:-|
|Name|Eric Bower|
|GitHub|@neurosnap|
|Commits to this repo|378 (top contributor)|
|Bio|We're all in the gutter, but some of us are looking at the stars.|
|Company / Location|Ann Arbor, Michigan|
|Followers|474|
──────────────────────────────
📌 How many great GitHub repos have you discovered and completely forgotten about?
Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week.
📬 Never lose track of great repos again. Subscribe free.
3 points
Use tmux or something like it (I now use zmx[1]).
[1] neurosnap/zmx
ClaudeTTY: The Undying cmux
When cmux or other terminals crashed, it used to just be another day. but when Claude's in the middle of a command that could ruin my computer if it goes wrong, it's a bit worrying and jarring. In ClaudeTTY tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them.
It also has better tools for keeping an eye on your Claude sessions. each tab's dots show if its Claude is thinking, writing, reading or running code, and they turn amber when it's waiting on you. Clicking "3 agents" opens a subagent's transcript live beside its Claude.
I built it with Claude Code on libghostty, about 4,800 lines of Swift in three files. If you want it different, have Claude change it and run ./install.sh, and the open window switches to the new build without killing anything.
Free, macOS 26 on Apple Silicon.
aqilc/ClaudeTTY
3 points · 3 comments
I made an undying cmux
I used cmux for a while and loved the layout, but it crashed a lot for me and updates killed everything I had running, which slightly hurts when Claude's running something about to brick my computer if it stops. In ClaudeTTY, tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them.
It keeps cmux's layout and shortcuts, and it tracks each Claude instead of each workspace, so with 4 Claudes in a group you can see which one's thinking and which one's waiting on you. You get one notification per tab and it clears when you look at that tab. I left out the browser and file viewer since I never opened them.
It's a lot lighter too, 68 MB vs 1,029 MB for cmux on my M4 Pro with one idle tab. Also, just for fun, terminal-browser runs better in ClaudeTTY than in cmux.
cmux is what got me working this way, so credit to the devs. Free, macOS 26 on Apple Silicon.
aqilc/ClaudeTTY
21 points · 6 comments
ClaudeTTY: The Undying cmux
Terminals crash, things happen, but it hurts a lot more when Claude is in the middle of an edit. In ClaudeTTY tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them.
It also has better tools for keeping an eye on your Claude sessions. each tab's dots show if its Claude is thinking, writing, reading or running code, and they turn amber when it's waiting on you. Clicking "3 agents" opens a subagent's transcript live beside its Claude.
I built it with Claude Code on libghostty, about 4,800 lines of Swift in three files. If you want it different, have Claude change it and run ./install.sh, and the open window switches to the new build without killing anything.
Free, macOS 26 on Apple Silicon.
aqilc/ClaudeTTY
3 points · 1 comment
I know this is hard for security and dozens of reasons, but the thing that drives me nuts about mosh is not having SSH's ControlMaster protocol so I can multiplex. It's a protocol thing, so not directly fixable via a compatible implementation. But it just sucks, I have so many tabs, and I have each one having to do the deed again, maintain it's own connection.
I chatted with Astra about this ask here: chatgpt.com
I flip on and off using my own term-preserver toolkit, which let's me autoreconnect to servers (via ssh) and or tmux sessions automatically. tangled.org . There's a variety of others like this, zmx, zmosh, neurosnap/zmx mmonad/zmosh
Mentions
zmx: Session attach/detach for the terminal (2.2k stars) What it does All text below is quoted directly from the project README. >Session attach/detach for the terminal features: - Persist terminal shell sessions - Ability to attach and detach from a shell session without it being killed - Native terminal scrollback - Multiple clients can connect to the same session - Re-attaching to a session restores previous terminal state and output - Send commands to a session without attaching to it - Works on mac and linux - This project does NOT provide windows, tabs, or splits >brew install neurosnap/tap/zmx Repository neurosnap/zmx Repository stats |Metric|Value| |:-|:-| |Stars|2,233| |Forks|174| |Last release|v0.8.1 (2026-09-05)| |Languages|Zig 91%, Shell 7.8%, Other 1.2%| |Contributors|73| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|None| |AI co-authored commits|None| Main contributor |Field|Value| |:-|:-| |Name|Eric Bower| |GitHub|@neurosnap| |Commits to this repo|378 (top contributor)| |Bio|We're all in the gutter, but some of us are looking at the stars.| |Company / Location|Ann Arbor, Michigan| |Followers|474| ────────────────────────────── 📌 How many great GitHub repos have you discovered and completely forgotten about? Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week. 📬 Never lose track of great repos again. Subscribe free.
Use tmux or something like it (I now use zmx[1]). [1] neurosnap/zmx
ClaudeTTY: The Undying cmux When cmux or other terminals crashed, it used to just be another day. but when Claude's in the middle of a command that could ruin my computer if it goes wrong, it's a bit worrying and jarring. In ClaudeTTY tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them. It also has better tools for keeping an eye on your Claude sessions. each tab's dots show if its Claude is thinking, writing, reading or running code, and they turn amber when it's waiting on you. Clicking "3 agents" opens a subagent's transcript live beside its Claude. I built it with Claude Code on libghostty, about 4,800 lines of Swift in three files. If you want it different, have Claude change it and run ./install.sh, and the open window switches to the new build without killing anything. Free, macOS 26 on Apple Silicon. aqilc/ClaudeTTY
I made an undying cmux I used cmux for a while and loved the layout, but it crashed a lot for me and updates killed everything I had running, which slightly hurts when Claude's running something about to brick my computer if it stops. In ClaudeTTY, tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them. It keeps cmux's layout and shortcuts, and it tracks each Claude instead of each workspace, so with 4 Claudes in a group you can see which one's thinking and which one's waiting on you. You get one notification per tab and it clears when you look at that tab. I left out the browser and file viewer since I never opened them. It's a lot lighter too, 68 MB vs 1,029 MB for cmux on my M4 Pro with one idle tab. Also, just for fun, terminal-browser runs better in ClaudeTTY than in cmux. cmux is what got me working this way, so credit to the devs. Free, macOS 26 on Apple Silicon. aqilc/ClaudeTTY
ClaudeTTY: The Undying cmux Terminals crash, things happen, but it hurts a lot more when Claude is in the middle of an edit. In ClaudeTTY tabs live in zmx sessions outside the app, so quitting, crashing or updating it doesn't kill anything. Tabs and groups don't die unless you explicitly quit them. It also has better tools for keeping an eye on your Claude sessions. each tab's dots show if its Claude is thinking, writing, reading or running code, and they turn amber when it's waiting on you. Clicking "3 agents" opens a subagent's transcript live beside its Claude. I built it with Claude Code on libghostty, about 4,800 lines of Swift in three files. If you want it different, have Claude change it and run ./install.sh, and the open window switches to the new build without killing anything. Free, macOS 26 on Apple Silicon. aqilc/ClaudeTTY
I know this is hard for security and dozens of reasons, but the thing that drives me nuts about mosh is not having SSH's ControlMaster protocol so I can multiplex. It's a protocol thing, so not directly fixable via a compatible implementation. But it just sucks, I have so many tabs, and I have each one having to do the deed again, maintain it's own connection. I chatted with Astra about this ask here: chatgpt.com I flip on and off using my own term-preserver toolkit, which let's me autoreconnect to servers (via ssh) and or tmux sessions automatically. tangled.org . There's a variety of others like this, zmx, zmosh, neurosnap/zmx mmonad/zmosh