A session-based terminal workspace where the frontend is disposable and your shells are not.
Crash the terminal frontend, restart it, reattach, and your terminals keep running exactly where you left them.
Hexa splits into four layers:
hexe terminal— the terminal UI frontend (aliases:hexe mux,hexe multiplexer).- shared frontend runtime — attach lifecycle, transport, and the frontend-side session projection.
hexe session/hexe ses— the session authority that owns canonical session state.hexe pod— one per pane. Owns the PTY, holds the shell, buffers output even while detached.
See architecture for the full picture.
| Topic | Description |
|---|---|
| Architecture | How terminal, runtime, ses, and pod fit together |
| Sessions | Detach, reattach, layouts, pane adoption |
| Floats | Overlay panes — per-directory, persistent, isolated |
| Float attributes | Detailed flag reference for float behavior |
| Keybindings | Binding system, actions, conditions, gestures |
| Status bar & prompt | Segments, animations, conditions |
| Isolation | Linux namespace + cgroup sandboxing for panes |
| Instances | Running multiple independent stacks side by side |
| Config | Full config reference |
| CLI | All commands and flags |
| Sprites | Pokemon sprite overlays |
Build (requires Zig):
zig build -Doptimize=ReleaseFastRun:
hexe terminal newDetach (default: Alt+Shift+D release), then reattach:
hexe terminal attach <session-name-or-prefix>
hexe session list # to find sessionsConfig lives at ~/.config/hexe/init.lua. See config.
Started as bash and Python hacks wrapped around tmux. Absolutely cursed code. Shell scripts spawning tmux sessions, Python daemons talking to tmux through send-keys, config files that were basically more shell scripts. It was wild. But it worked, and it was the workflow I wanted.
Rewrote it properly in Rust on top of tmux-rs, got far, learned a lot about terminal internals. But that crate is mostly unsafe and you're still building on top of tmux's architecture rather than escaping it.
Then Ghostty came out. Saw what Mitchell was doing with Zig and decided to start from scratch. Zero regrets. Zig is a joy, Ghostty's VT implementation is solid, and the architecture finally matches what I actually wanted to build.