Astrolabe

Everyone helps you launch the ships. Astrolabe brings them home.

The Git client for the parallel-agent era. Run AI tasks side by side. Land every one of them.

Download Beta for macOS

Beta 6 · Also for Windows · Release notesPre-release software · An AstroHub app

01 · The problem

The new bottleneck

  1. 01Five agents, five branches, one main.

    Running tasks in parallel is the easy part now. Bringing them back is not.

  2. 02Every task needs isolation, review, and a safe way home.

    Shared working trees collide. Unreviewed branches pile up behind main.

  3. 03Launch tools stop at the launch. Landing is still yours.

    Orchestrators start the work. None of them is a real Git client.

02 · Fleet

A berth for every task.

Every AI task gets its own branch and an isolated worktree: a berth. One board shows what each one is doing: running, done, needs attention, or conflicts ahead, predicted by a merge-tree dry run before you land anything.

The landing queue takes finished tasks one at a time. Fetch, rebase onto the latest base, and open the resolver only if something conflicts. Astrolabe never renders agent chat; the agent's terminal stays its home.

<repo>.fleet/<task-slug>

03 · Author Lens

Every conflict has two authors. Now you can see them.

Resolve conflicts · storefront
landingfleet/add-vat → mainsrc/pricing/vat.ts
YOURS
MT
Minh TrầnUse regional VAT tablea1b2c3d · 2 h ago
11import { Order } from "../orders";
12import { VatRate, VN } from "./rates";
13
14export function vatFor(order: Order) {
15 const rate = VatRate.forRegion(VN);
16 const vat = order.net * rate.value;
17 return round(vat, 2);
18}
RESULT editable
11import { Order } from "../orders";
12import { VatRate, VN } from "./rates";
13
14export function vatFor(order: Order) {
Conflict 2 of 5Minh Trần ↔ Task: add VAT calc
Hunk 2 · took theirs
18}
THEIRS
CC
Task: add VAT calc AGENTClaude Code · started by you9f3e21c · 20 min ago
11import { Order } from "../orders";
12import { VatRate, VN } from "./rates";
13
14export function vatFor(order: Order) {
15 const rate = VatRate.of(0.08);
16 const vat = order.net * rate.value;
17 return Math.round(vat * 100) / 100;
18}
5 conflicts, 2 authors1 yours · 2 both · 3 theirs · E edit · U undo

Inside the three-pane resolver, every conflict hunk shows who wrote each side: avatar, author, commit subject, short hash, and when. Astrolabe reads Co-Authored-By trailers, so a side an agent wrote names the task, the agent, and who started it. No other Git GUI shows attribution inside conflict hunks.

Try it: focus the resolver and press 1 2 or 3. U undoes. Hover a chip to see the lines that commit wrote. Circles are people; rounded squares are agent tasks.

04 · Under the hood

Quiet engineering.

Native, not Electron

A small native app that starts fast and stays out of the way.

Tauri + Rust · ~15 MB

Honest to Git

libgit2 for reads; your system git for writes and network, with your config respected.

repo · pull.rebase

Your keys stay yours

Uses the credential helper and SSH keys your git CLI already uses. Never stores passwords or tokens.

credential.helper · ~/.ssh

Two native platforms

macOS chrome on macOS, Windows chrome on Windows. Everything below the toolbar is shared.

macOS · Windows

One-time purchase.

No subscription, no account, no telemetry.

Price announced at launch.

05 · Follow the build

One developer, building in the open.

The changelog and issue tracker are public on GitHub. The source stays closed, because this is a paid app.

Beta 6 is available for macOS and Windows.