v0.3.1 · Linux · macOS · Windows · GPL-3.0
Run AI coding agents in parallel — each on its own track.
A desktop app for Linux, macOS and Windows that gives every task its own git worktree and its own terminal, running the coding agent of your choice.
$ brew install --cask joaoh82/yardsort/yardsortAll downloads · needs git and one agent CLI that already works in your terminal

Install
Download the latest build from the Releases page. You also need git and at least one agent CLI that already works in your terminal. Yardsort does not bundle agents and never sees their credentials.
Linux
AppImage: chmod +x Yardsort_*.AppImage and run it. The AppImage updates itself; .deb and .rpm are told when a new version exists. Add it to your app menu.
yardsort-bin on the AUR — on its way. Until then the AppImage works on Arch.
macOS
$ brew install --cask joaoh82/yardsort/yardsortOpen the .dmg and drag Yardsort to Applications. The app updates itself.
Windows
Not code-signed yet, so SmartScreen warns: choose More info → Run anyway. Needs Git for Windows.
winget install joaoh82.Yardsort — awaiting Microsoft's review.
Prefer to build it yourself? git clone https://github.com/joaoh82/yardsort && cd yardsort && just setup && just build — see CONTRIBUTING.md.
A sorting yard is where rail cars are sorted onto parallel tracks and later joined back into one train.
That is the job: fan work out onto parallel branches, then merge it back.
01 · Workspaces
Every task gets its own worktree
You describe a task, pick an agent, and press Enter. Yardsort creates a branch and a git worktree for it — a separate folder — and starts the agent there. Start another, and another. They cannot disturb each other, or your own checkout.
Workspaces are ordinary worktrees and branches. Inspect or undo anything with git. Worktrees made elsewhere are picked up automatically.

02 · Terminal
The terminal is the truth
Agents run in a real PTY with their own interface. Whatever they can do in your terminal, they can do here — and Yardsort never parses their output.
Status dots show which agents are working and which are waiting; a desktop notification tells you when one finishes while you are elsewhere. A shell tab next to the agent is one Ctrl+Shift+T away.

03 · Changes
See what happened before anything merges
A live list of changed files, character-level diffs, a file tree, and one click into your editor. Reviewing is read-only: Yardsort shows you changes; it does not stage, commit or discard them.
When the work is done, it is an ordinary git branch — review it, push it, open a pull request.

04 · Sessions
Pick up where you left off
Quit mid-task, come back, press Resume — the conversation is intact. Fork one to try a different approach without losing the first.
Sessions that were running when Yardsort closed are labelled interrupted; they resume like any other.

05 · Harnesses
Any terminal agent
Claude Code, Codex, Grok and OpenCode out of the box; add any other with a few lines of configuration — no plugin, no release to wait for. To Yardsort a harness is a command and some argument templates, kept in a plain TOML file you can read, back up and edit.
- Private by construction
- No account, no telemetry, no keys. Agents use their own logins; Yardsort just starts them. Its one network request is a check for new versions, which you can switch off.
- Careful with your work
- Deleting or archiving a workspace always keeps the branch, and never discards uncommitted changes without a second, explicit confirmation.
- Keeps itself current
- Signed in-app updates on macOS, Windows and the Linux AppImage — one click, and your agents' conversations resume afterwards.
- Light
- Built with Tauri and Rust: a few megabytes, not a bundled browser.

Free software
GPL-3.0. You may use, study, share and change it, and versions you distribute must stay free under the same terms.
Early, and moving fast. The core loop works on all three platforms and is covered by CI on each. Expect rough edges, and please report them.
joaoh82/yardsortDocs
- Quick start — download to first agent in five minutes
- Projects · Workspaces
- Terminals & sessions
- Changes & files
- Settings & harnesses
- Updates · Keyboard shortcuts
- Troubleshooting · Roadmap · Design docs
Changelog
- Unreleased
- Install with Homebrew on macOS. Linux.
- 0.3.1
- A changelog (this file). First release delivered through the in-app updater.
- 0.3.0
- In-app updates. First-run check.
- 0.2.0
- Renamed from Switchyard to Yardsort. An AUR package, yardsort-bin, is prepared and will be published by the release workflow.