DEV Community

Crystal Studio
Crystal Studio

Posted on

umux 1.6: Any Shell in Any Tab

umux is a free, open-source terminal workspace manager for Linux, Windows and macOS. One workspace per project, tabs inside it, and every tab splits into as many panels as you need. The feature the app is built around: umux reads the OSC 9;9, 99 and 777 escape sequences that AI CLIs like Claude Code emit when a long task finishes, and turns them into a desktop notification.

Landing: https://umux.pages.dev
GitHub: https://github.com/CrystalPlatforms/umux

The last four releases were repairs. v1.5.2 smoothed Windows, v1.5.3 fixed five things on macOS, v1.5.4 killed a bug every packaged build had carried since the first one. v1.6.0 is the release in this streak that only adds.

The shell picker

New tabs open in your default shell, and until now that default was whatever your operating system decided. Settings asks you properly in 1.6.0: pick from the shells detected on your machine, or type a custom command for anything the detector misses.

Detection needs no setup. A PATH scan backs the list on all three systems. On Unix it reads /etc/shells and your login-shell record, so bash, zsh and fish show up as themselves. On Windows it checks the registry, and WSL distros land in the list next to PowerShell, cmd and Git Bash.

One arrow, and only when it means something

The "+ New tab" button grows a small arrow. It opens a dropdown that spawns one tab in a different shell, leaving your default alone. Spawn a fish tab to test a config, keep working in zsh.

The arrow obeys one rule: it exists only when there is a real choice. A machine with a single installed shell shows no arrow at all, because a dropdown with one item is noise. The picker affects local tabs only; SSH sessions keep the remote machine's login shell, exactly as before.

The sidebar, on your terms

Two switches ship in Settings, both off by default.

The first hides the git branch on tab rows, for the days you want the sidebar quiet. The second lists working directories on workspace rows: one line per tab, that tab's agent-status chip next to the folder its shell sits in. Every tab gets a line and duplicates stay unmerged. The data comes from the directories umux already tracks.

Small things

Tabs go full screen, and ESC brings them back. The accent rails on workspace and tab rows now run the full row length in a straight line. The Settings dialog title is larger. All three came out of using the app daily.

The numbers

Twelve commits since v1.5.4. The diff adds about 3,800 lines and removes 200 across 41 files. Six new modules ride along: the shell detector with its test suite, the per-tab folder model with its own tests, and the Rust-side shell probe. The frontend suite sits at 698 passing tests, up from 616 at v1.5.4.

The honest list

Import from cmux still does not work on Windows. X11 sessions are untested; Wayland is the reference platform. Agent status is still the roughest feature in the app. The sidebar's drag-to-resize gesture works on macOS only so far; the cross-platform fix with a persisted width is queued for a small v1.6.1 patch. After that comes the big rock: the umux Terminal TUI with the herdr importer, planned for v1.7.

The installers: .deb, .AppImage and .rpm on Linux, a universal .dmg on macOS 11+, an NSIS installer on Windows 10+. MIT licensed, no accounts, and one anonymous app-open event is the entire telemetry. The in-app updater picks 1.6.0 up on its own.

Landing: https://umux.pages.dev
GitHub: https://github.com/CrystalPlatforms/umux

Top comments (0)