parallelist

A context switcher that keeps your attention in one place.

Figure 1. One project's branches. The ones that need your attention come first.

Working across a few large repositories tends to mean dozens of branches at a time and several shells open, each busy with a different task. Every switch means finding the right terminal window, editor or browser tab, then remembering where things were. The directories pile up side by side (app, app-1234-fix-header, app-b) until nobody quite knows which branch is where, which are merged, or which are safe to delete. None of it is hard. All of it costs attention.

parallelist is an attempt to keep that attention in one place. It puts the projects, their branches, the workspaces holding them and the shells running there in a single window, tries to show only what actually needs you, and gets you there in a keystroke. It also tries not to pull you away from whatever you're in the middle of. That's the idea, anyway.

It's also a small bet against everything moving into the terminal. The terminals here run anything, an agent, a dev server, a plain shell, but everything around them is an ordinary Mac window, with lists to scan and things to click. GUIs were invented for a reason, and it seems a shame to give them up.

What needs you

A mark means something needs your attention. Nothing else gets one.

Orange. Something in that terminal is waiting for an answer.
Blue. Claude Code finished while you were looking elsewhere. Look at it and the mark goes.
Blinking. Still working. Not your problem yet.

Anything you're already looking at isn't marked, and output alone never counts, or a chatty dev server would never let you go. Work you start in the background finishes in the background: it waits for you to come to it rather than jumping in front of whatever you're doing.

What it does

Gives every workspace a terminal
A workspace is any directory holding a branch, a git worktree or a full clone. Its terminal lives in the window, runs whatever you start in it, and keeps running while you look at something else.
Jumps anywhere with ⌘P
Any branch of any project, with whatever is waiting for you listed first. The terminal you land in takes the keyboard straight away.
Lists origin's branches, not yours
A background fetch keeps the list current. Pull requests, reviews and CI status come from gh.
Makes workspaces in the background
A worktree, or a clone if the branch already has a worktree. Setup steps can copy .env files, link dependencies or run an install while you carry on.
Cleans up carefully
Before removing anything it tells you what would be lost: uncommitted changes, commits that aren't on origin in any form, stashes, and the space on disk. It's careful about those numbers so you don't have to go and check them yourself.

It runs the git and gh you already have, so your hooks, credential helpers and SSH config work as they do in a terminal.

Getting it

There's no download yet. You'll need macOS, git, Rust and pnpm, and optionally gh for pull request data. Then:

git clone https://github.com/sgtlambda/parallelist.git
cd parallelist
./run.sh --build

That builds the app, copies it to /Applications and starts it. If anything's missing, run.sh says what and how to install it.