Launcher

A desktop launcher for Claude Code, with several live sessions side by side.

A native desktop window that runs several Claude Code sessions side by side. Each pane hosts a real claude process and renders its live stream as messages, diffs and tool widgets, with a clear signal when a session is waiting for me.

01 · Tests
3,400+
tests passing, frontend and Rust
02 · Frame time
765 ms to 31 ms
p95 at four panes after a measured fix
03 · History
1,350+
commits since April 2026
01 · Problem

Four agents in four terminal tabs. One of them is waiting for me.

I run several Claude Code sessions at once. In terminal tabs there is no signal for the one that stopped to ask me something, tool output arrives as raw text, and picking a session back up means hunting through history.

02 · What it does

One window, several live sessions, and I always see who needs me

  1. F1: Sessions side by side

    A grid of live sessions with a colour per project. Any pane can be zoomed or detached into its own window.

  2. F2: A waiting-for-you signal

    When a session stops for my answer or a permission, its pane is flagged, with a sound, so it never sits unnoticed.

  3. F3: Readable agent output

    Tool calls, diffs and thinking render as widgets. The agent’s questions and permission prompts become clickable cards instead of terminal menus.

  4. F4: A live status line and a trace

    Context use and plan usage per session, with where each value came from, and a per-turn trace of the files, tools and skills the agent touched.

  5. F5: Resume and survive

    Sessions resume from Claude Code’s own logs, and an optional background host keeps them running when the app closes.

03 · How it's built

A real claude process per pane, parsed rather than reimplemented

The Rust side spawns each session on a pseudo-terminal (ConPTY on Windows), so every pane runs the real Claude Code CLI, not a reimplementation. A hidden terminal per pane answers the CLI’s terminal queries, and screen parsers turn its status line, question menus and permission prompts into UI. The terminal itself stays one click away for anything the UI does not model.

The code is written by AI agents under my specification, test contracts and review of the result. The contracts are strict: a render gate draws 47 UX states in both themes on every change, and a performance HUD watches frame time. When four busy panes stuttered, a measured fix took frame-time p95 from 765 ms to 31 ms, about 25× faster.

04 · Key numbers

Measured, with dates

Tests
3,400+

Frontend and Rust tests passing on the current build.

Frame time, four panes
765 ms → 31 ms

p95 before and after the fix.

Render gate
47

UX states drawn in both themes, all passing.

History
1,350+

Commits since April 2026.

05 · Screens

Four live sessions, two of them waiting for me

fig.1 · launcher · 4 live sessions real capture · demo folders
FIG. 1 · Real capture of the audit build, throwaway demo folders. Click to zoom to the app’s real size.
06 · Status and next

In daily use. Public once it has earned it.

It is my daily driver. The code lives in a private repository for now: the plan is to publish it after a week of daily use without a new high-severity issue, as a clean export. It doesn’t have a product name yet; “for Claude Code” describes what it works with, not what it’s called.