You have three repos open in three editors, two of them are the same repo on different branches, and you have lost track of which terminal is which. We know, because we do it too. So this release makes Empryo hold all of it at once: a window per project, worktrees as first-class citizens, and splits everywhere — desktop and terminal both. Then we went back and killed the two bugs everyone kept hitting: sessions that quietly ran out of memory after a long day, and a terminal UI that let long text spill onto the row below it.
Bring the whole shelf, not one book at a time- A window per project. Open a second project without shutting the first. Every window keeps its own tabs, models, agents and layout, and has them back exactly as you left them next launch. Closing one plays the full swap instead of leaving half the old project smeared on screen.
- Worktrees, properly. Create, list and switch git worktrees from inside Empryo, and give any of them its own window. The branch you are gambling on sits beside the branch you are shipping. Per-project state anchors to the main checkout, so five worktrees share one memory and one map — not five amnesiac copies of the same project.
- Split any tab, in either app. Two conversations side by side, in the terminal as well as on the desktop. Stack tabs into groups, nest splits inside splits, and build the layout your actual task has, not the one a tab bar allows.
The long-session failures. These are the ones that made you restart and lose your thread.
- The terminal stopped leaking. RSS used to climb all day until the app silently disappeared. Growth is bounded now, and an idle session sitting at the high-water mark quietly recycles itself in place: same session, same history, fresh process. You will not notice, which is the point.
- Auto-compaction actually fires. On providers that do not report token usage it never triggered at all, and one failed attempt disarmed it permanently. Long conversations hit the wall instead of compacting. It now estimates its own occupancy, counts the system prompt it kept forgetting about, and keeps the recent tail by size rather than by a message count that treated a one-word reply and a 400-line diff as equals.
- A stalled turn wakes itself up. The stall watchdog is on by default. No more staring at a spinner wondering whether to hit Ctrl-C.
- A refused option no longer kills the turn. When a model or a proxy rejects a setting, Empryo drops that one setting and carries on — mid-stream too, and in the desktop app and headless mode, not just the terminal.
If you have ever watched a model id, a file path or an error string smear across the row underneath it, this is the release you wanted.
- Every fixed-height row clips now. A row that promised to be one line tall keeps that promise. Long labels stop wrapping into their neighbours. It was the most visible glitch in the whole terminal UI and it is gone.
- Lists follow your selection again. Arrowing down a picker used to walk the cursor off the bottom while the list sat still. Scrolling now waits for the row to exist before deciding it is already visible.
- Popups fit their window. The prompt deck caps its height and scrolls inside itself, the command picker sizes to its content, the intro modal takes arrow keys, and cards stop hanging off the edge of narrow terminals.
- A crash stays where it happened instead of taking the screen with it.
- The transcript is clickable. Copy chips on the rows worth copying, click-to-open, one consistent caret vocabulary for what folds and unfolds — and a folded row that tells you what it is hiding rather than just vanishing.
- Stop one tool, keep the turn. Kill a runaway command on its own. Shell timeouts are clamped, so nothing hangs forever waiting for a prompt that is never coming.
- Syntax highlighting got quick. Highlighting lands in waves against pre-warmed grammars, and the desktop editor keeps its native tokenizer for languages it already knows. Big files open instead of stalling the pane.
- Onboarding shows you the app, not a form. Coach marks on the real interface replace the setup wizard. First thing you see is Empryo.
- The map runs on your terms. Pick its GPU, flip Fast/Eco on the map itself, and it drops to an idle tier the moment you look away.
- Dropped `cd` prefixes are explained once per session, so a command that reads differently from what you typed is never a mystery.
- Ask and Goal prompts land in the pane you asked from. Language servers and file locks survive sibling windows on the same machine. Background agents appear once in the inspector, not once per report. A tool row never unfolds into an empty box.
This is a beta. macOS, Linux and Windows builds are on the downloads page.
