v0.8.0
Leave It Running.
0.7 put issues and pull requests on one screen. 0.8 is about the runs themselves — the ones you start and then walk away from. A run in another workspace is no longer out of sight, the git panel covers the half of the workflow it was missing, and the context window is something you can read instead of guess at.
📖 Full write-up: Mains 0.8: Leave It Running
Runs you left behind, still on screen
- A deck above the sidebar footer — the newest run face-up, the rest as edges peeking above it. Hover and the deck fans open.
- Each card carries what you need to triage it — the workspace it belongs to, how long it has been running, and its last line of activity, so a run that is thinking reads differently from one that is stuck.
- Click to jump straight back in, or stop the run from the card if it has gone the wrong way. The dock renders nothing at all when everything live is already in front of you.
The git panel pulls now
- Pull is a single row — fast-forward only, with the behind count next to it. No form, because a pull takes no input; if it cannot fast-forward, git's own wording tells you why and nothing changed.
- New branch forks off the checked-out one without stashing first — uncommitted changes come with you, and the workspace's pull request base moves to the branch you left.
- Pick the pull request base in the form — the generated description is written against that base, not against a diff you are not opening.
Where the context window actually went
- The meter is a ring broken into categories — system prompt, system tools, memory files, skills, messages — each holding its color for the life of the run, so a category you are watching does not change hue every time something else grows past it.
- Hover for the full breakdown, including the parts that are not yours: free space, the buffer auto-compaction keeps in reserve, and schemas the provider deferred.
- Amber, then red, as the fill gets serious — the number and the arc always agree on the state.
Set it to the size you actually read
- Two sliders in Settings → General. Interface rescales the whole app — text, spacing, every dimension — from 12 to 18.
- Code is separate and stays in pixels, 10 to 18, driving the diff viewer and every code surface, because the size you review a diff at is not the size you read a sidebar at.
- Inter ships inside the app rather than being fetched, so it renders the same on every machine, first launch included.
Space colors, everywhere they belong
- The theme color reaches the composer glow and your own message bubbles, so a space reads as itself while you are typing in it, not only at the edges.
- Override the theme per space when you want a different one. Surfaces with no usable color fall back to exactly what they looked like before.
Smaller things
- A real About window — version, Electron, Chromium, Node, macOS, and architecture — replacing the stock system dialog.
- Search in the connection wizards. Typing
dev mainsfindsmainsdotdev/mains; every token has to match, in any order, so you do not have to guess how a provider separates owner from name. - Codex plugins now say why they cannot be installed — disabled by an administrator, not available on your plan (with the eligible plans listed), or a required app is unavailable — instead of an install that quietly does nothing.
- Claude's permission mode agrees with itself. The default lived in four places that had drifted apart, and the settings screen claimed a different mode than runs actually used. New installs start on auto; a mode you already chose is left alone.
- Codex messages no longer show streamed citation markers in the text or in reasoning output.
- Keyboard navigation continues correctly after a dropdown or modal closes, and buttons, tabs, dropdowns, modals, and form controls carry proper labels and roles throughout.
- Diff rows keep their red/green tinting under the new surface styling, test files get their own icons in the explorer, and the error boundary got a rewrite.
- Previews are now cut from
devand published as prereleases — visible on GitHub, invisible to the auto-updater, so stable stays stable.
Platform: macOS only (Apple Silicon and Intel).
Full changelog: v0.7.0...v0.8.0