One sidebar, every worktree
Each project lists its git worktrees, one row per branch, sorted by who needs you. Selecting a row switches the whole centre column; the terminals underneath stay alive.
Open source · MIT · Rust + gpui
Sirio runs Claude Code, Codex, OpenCode, Pi and Oh-My-Pi side by side — one sidebar per project, one terminal per git worktree, one glance at who needs you.
A desktop app that behaves like one: a real window, a real terminal, no browser pretending to be either.
Each project lists its git worktrees, one row per branch, sorted by who needs you. Selecting a row switches the whole centre column; the terminals underneath stay alive.
Built on libghostty-vt with a GPU-drawn grid: true colour, Kitty graphics, OSC 8 links, mouse and keyboard encoders. Heavy output stays off the UI thread.
Four layers of evidence — lifecycle hooks, terminal titles, screen content, the foreground process — resolve into running, idle or needs input. The strongest signal wins.
Every pane speaks over a control socket. sirioctl creates, splits, writes, reads and waits — so one agent can dispatch another and collect the result.
Layouts, tabs and agent sessions persist in SQLite and come back after a restart. A tray roster pulses for every active agent, even with the window closed.
Claude, Codex, OpenCode Go and Ollama Cloud quotas read as numbers in the status bar — how much is used and when it resets — never a nag.
Sirio is MIT-licensed and developed in public. The code, the specs and the decisions behind them are all in one repository.
Fork it, ship it, embed it. No contributor agreement, no open-core split, no telemetry.
gpui from Zed for the window, libghostty-vt for the terminal, bezel for the UI. No Electron, no webview for the shell.
Design specs and ADRs live next to the code. When a behaviour looks odd, the reasoning is one docs/ folder away.
Five adapters, each launched the way its CLI expects. Sirio writes only worktree-local hook config and never touches your global settings.
Native lifecycle hooks report running, idle and needs-input straight to the sidebar.
Native hooksLaunched with a notify override that talks back over the control socket.
Native hooksDetected from its terminal title and its foreground process — no config written.
Title and process detectionRecognised by its own title convention; nothing is installed into your shell.
Title and process detectionA worktree-local hook file, generated on launch, never touching global config.
Native hooksOne app, three operating systems, each with its own tray and installer. macOS is the reference platform; Linux and Windows ship behind it.
The reference platform. Apple Silicon, a signed and notarized .dmg, a native menu-bar roster.
One AppImage, x86_64. A StatusNotifierItem tray and desktop notifications.
A per-user installer, x86_64. Native tray roster, ConPTY-backed terminals.
Yes. Sirio is MIT-licensed and developed at https://github.com/ai-sirio/sirio. Issues and pull requests are welcome; the specs in docs/ explain how things are meant to work.
No. Sirio is a Rust application on gpui, the GPU-accelerated UI framework from Zed. The terminal is libghostty-vt. The only webview is the optional Browser tab, which is a native surface composited next to your terminal.
On your machine. Sessions, layouts and settings are stored in a local SQLite database. Sirio has no account, no cloud sync and no telemetry.
No. Sirio launches the agent CLIs you already have installed and logged into. Usage figures are read from each provider the same way their own CLIs read them.
With 0.6.0. The macOS build gates the release; Linux and Windows follow. Until then, build from source — the docs explain how.