Agent-aware swimlanes
Each lane lists the AGENT-role sessions running inside it, matched to the worktree by longest-prefix working directory, with the agent kind inferred from its launch command (claude, codex, cursor, gemini, or custom).
Turn git worktree list into a monochrome trunk-and-branch diagram, with each lane showing live git facts and the exact coding agents working inside it. Fully local, read-only, no telemetry.
The Worktrees view renders your repo's git worktrees as a vertical swimlane diagram: a trunk rail with each worktree branching off as a lane card. Every lane shows live git facts — ahead, behind, changed files, +/- diff, lock status — alongside the coding-agent and shell sessions whose working directory lives inside that worktree. It exists to solve one problem: losing track of which agent is on which branch when you run several worktrees and several agents at once.
Each lane lists the AGENT-role sessions running inside it, matched to the worktree by longest-prefix working directory, with the agent kind inferred from its launch command (claude, codex, cursor, gemini, or custom).
Every fact comes from local git spawned in the project directory — worktree list, status, diff, rev-list, rev-parse, symbolic-ref. No remote calls, no telemetry, and the command never mutates the repo.
Layout is memoized on a structural key that excludes activity, so live agent pulse state (active, working, done) is overlaid onto a stable diagram each tick instead of forcing the whole view to re-render.
A single 5-second git poll is guarded three ways: it skips if the previous tick is still in flight, pauses entirely while the window is hidden, and clears on unmount — so git work tracks what you're actually looking at.
The Rust command probes each worktree on its own scoped thread, so a tick's wall-clock is the slowest single worktree, not the sum. Any git failure degrades to 0 rather than erroring the whole view.
From the inspector's agent list, click OPEN next to any agent to focus that session in the grid — the diagram is a map back into your live shells, not a dead-end report.
Open the view
Click 'worktrees' in the left sidebar. The main panel switches to the swimlane diagram: a trunk rail with one lane card per worktree, sorted trunk-first, then primary, then alphabetically.
Read live git per lane
Each lane header shows ahead, behind, changed file count, and +ins/-del diff (the diff metric appears only when there are changes), plus a 'locked' flag for locked worktrees. Values refresh on the 5-second poll.
See which agents run where
Lane sub-rows list each AGENT slot with its inferred kind, live pulse glyph, and task label. Non-agent slots collapse into a '+N non-agent slots' counter; empty lanes read 'no agent attached'.
Inspect a lane
Click a lane card to open the docked inspector: full path, branch (or 'detached <sha>'), trunk/primary flags, ahead/behind, changed files, diff, agent count, and a per-agent list. Click the empty canvas to deselect.
Open an agent
In the inspector, click OPEN next to an agent to focus that session and switch back to the grid view.
No. The view is strictly read-only — inspection only, no git-mutating actions. You cannot create, remove, lock, prune, or switch worktrees from the diagram.
Not yet. Cross-worktree collision detection is an unimplemented stub: the overlay always renders nothing and the blast-radius port returns an empty list. The intended algorithm (seeding changed-file symbols and expanding via Code Map blast radius) is documented in the code but depends on the Code Map providing real reverse edges, which isn't shipped.
By longest-prefix working-directory match. A session whose cwd falls inside a worktree is attributed to that lane; a session outside every worktree falls back to the primary worktree, which can mis-attribute it.
No — it's a fixed 5-second poll with no refresh button, so the diagram can briefly lag a fresh commit or file change. Git counts are best-effort: a probe failure silently yields 0 rather than an error.
13x is local-first and free of telemetry — your code, commands and shells never leave the machine. Join the waitlist for the next build.