Interface
The window has three fixed parts: the sidebar down the left, the tab strip across the top, and the session itself in the middle. The sidebar is app chrome — it stays put on every screen, including inside a session.
The sidebar
From the top:
Code / Work — the two sides of the app, described in the intro. Clicking a side returns you to the session you were last in there, not to a blank new one; with no history it falls back to a new session, and to the home screen when that side has nothing to open yet. Turning Show Work off in Settings → General → Advanced removes the switch along with the Work side, until you make a sandbox — a lone Code tab would be furniture.
Projects — the folders you work in, for the side you are on. Clicking one goes to the session you were last in there, and failing that its open draft, an open tab, the project's most recent session, and finally a new one. The button beside the heading adds a project on Code, and mounts a folder into the sandbox on Work — see Mount folders.
Pinned — the sessions you keep coming back to. Pinning one moves it out of the chronological list and it stays put. The section is exactly as tall as its rows, so it never crowds Recents out; past five pins it scrolls. Pins are remembered per server, and deleting a session drops its pin.
Recents — your latest sessions in the selected project, above a New session row. It grows and shrinks with the window and always keeps room for View all at the bottom, so you never have to scroll to reach it — in a window too short for one whole row, View all is left out rather than drawn clipped. View all opens the full recent-sessions screen, which has a matching Pinned group above Today.
Settings and Help are anchored to the bottom.
Both Pinned and Recents fold: click the header and the section collapses to its title, the chevron shows which way it is, and the choice is remembered for next launch — independently for each of the two. New session stays one click away in the titlebar while Recents is folded.
Below a narrow window width the sidebar hides itself and the home screen falls back to its stacked layout.
The tab strip
Tabs are per project, on both sides. The strip shows the tabs of the project you are in, keyed by server and folder, instead of every tab from every server in one long row.
+, Ctrl/Cmd + 1…9, next tab, previous tab and close tab all act within the project on screen, so closing the last tab in one project does not drop you into an unrelated one. Two projects with the same folder name stay separate, and so does the same folder mounted into two different sandboxes.
A deep link, or a jump from the command palette, pulls the strip to its own project so the tab you land on is always visible.
New session tabs open at the front of the strip rather than the far right where they could sit scrolled out of view, and keep their place once the session starts — so sessions accumulate newest-first.
The Work strip shows one sandbox at a time. While you are in one sandbox's folder, another sandbox's tabs are not in the strip; selecting that sandbox brings them back.
The titlebar
Two buttons sit at the left:
- Toggle sidebar hides and restores the sidebar so a session can have the full window width, and remembers the choice. Note that Projects live only in the sidebar, so switching project means opening it again. View → Toggle Sidebar in the app menu does the same thing.
- Search opens the recent-sessions list exactly as View all does, and drops the cursor straight into its search field.
Neither has a keyboard shortcut, so nothing you already press has changed meaning. New session is also in the titlebar, which is what keeps it reachable while Recents is folded.
What the app remembers
Launching returns you to what you were doing. A window with anything open comes back to the session it was last in, on whichever side you were using — Code and Work each remember their own — and a new session opens only when there is nothing to come back to. The sidebar comes back on the project you used last.
If the session you were last in has since been deleted, or its server is gone, the window settles on a tab that is already open instead of a dead one. The same check runs when you switch sides or select a folder: a stale record falls back to the folder's most recent session, and only to a fresh one when the folder genuinely has none. A session that is merely unreachable for a moment keeps its place — only one the server says is gone is passed over.
Theme
Settings → Appearance has one setting: Color scheme, light or dark, with its own commands in the palette. There is no theme picker and no layout switch — the app ships one layout and one palette pair, so a profile that had selected something else comes up on the shipped pair, with the theme swapped before the first frame so there is no flash of the old one on the way.
Language
Settings → General → Language changes the display language. Pick English, Español or Tiếng Việt — the interface switches straight away and the choice is remembered.
The app picks the first one up from your system language, so you only need this to override it.
The composer
Typing @ opens the mention menu on your files — recent open tabs first, then search matches — with agents, references and MCP resources below them. The top match Enter accepts is the file you are typing, which is how the TUI and the codev run footer already behave.
The prompt input supports the usual Readline/Emacs editing shortcuts; they are listed under Desktop prompt shortcuts.
Dialogs
Clicking beside a dialog does nothing. A stray click in the dimmed area used to dismiss it instantly and discard whatever it held — a half-filled sandbox form, a provider mid-connect, a folder being picked — so that is gone.
In exchange every dialog carries an × in its top-right corner, and Escape still works everywhere it did. The one exception is the first-run provider setup, which has never been dismissable.