A console for terminal-native devs

Your repos, remotes, and agents - in one native window.

Issues and pull requests, SSH remotes and local folders, a real built-in terminal, and your coding-agent runs - side by side. Stop bouncing between a browser, a terminal app, and a pile of SSH tabs.

View on GitHub ↗

Pre-1.0 - the Homebrew formula is on the way. Grab today's build from the latest CI run →

The Bosun console: connection rail, a pull request open in the centre, and the organisation and repository tree on the right.

Shipping a change shouldn't mean living in four apps at once. Bosun collapses the browser, the terminal, your SSH tabs, and your agent runs into one native window.

01
Connection rail
SSH remotes and local folders in one list. Star favorites, run a post-connect command, and collapse the rail to reclaim space.
02
Issues & pull requests
A full detail pane: Markdown body, task checklists, PR metadata, and live CI checks. Comment without leaving the app.
03
Org → repo tree
Browse organizations and repositories with their open issue and PR counts. Curate, reorder, and group by parent or blocked-by.
04
Built-in terminal
A real libghostty terminal, Metal-drawn, resizable, and persistent across launches. Its ANSI palette tracks the app theme.
05
Dispatch coding agents
Queue a prompted run against a repo. Per-org concurrency limits, pausable repos, and live queued → running → done tracking.
06
Themes
Operator, Carbon, Nord, and Daylight. Switch instantly; the terminal recolors with the rest of the app.

Four themes,
one keystroke apart.

The same screen in each. The 16-color terminal palette recolors with the rest of the app.

Operator theme
Operator
Carbon theme
Carbon
Nord theme
Nord
Daylight theme
Daylight
The built-in terminal running a coding-agent dispatch beside the connection rail.
Terminal & agents

A real terminal. Dispatch an agent. Watch the run.

Genuine libghostty, Metal-drawn - not a re-implementation. Queue a prompted run against a repo and track it through queued → running → succeeded, all without leaving the window.

Who it's for

The maintainer
Juggling many repos across one or more orgs - triaging issues, reviewing PRs, and watching checks all day.
The remote-heavy dev
Working across SSH boxes and local folders, wanting those shells one keystroke away, next to the code under review.
The agent operator
Dispatching coding agents across repos, wanting the run, the diff, and the resulting PR in the place they started.