Yardmaster – manage multiple Claude Code sessions from one terminal

blothecap1 pts0 comments

GitHub - blothecap/yardmaster · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

blothecap

yardmaster

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star<br>14

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>119 Commits<br>119 Commits

assets

assets

build

build

docs

docs

src

src

website

website

.gitignore

.gitignore

.nvmrc

.nvmrc

LICENSE

LICENSE

NOTICE

NOTICE

README.md

README.md

electron.vite.config.ts

electron.vite.config.ts

install.sh

install.sh

package-lock.json

package-lock.json

package.json

package.json

tsconfig.json

tsconfig.json

vercel.json

vercel.json

vitest.config.ts

vitest.config.ts

View all files

Repository files navigation

Yardmaster

The Claude-native terminal for macOS.

One terminal to manage all your Claude terminals.

▶ 25-second demo with sound ·<br>yardmaster.me ·<br>releases

Most devs now run several Claude Code sessions at once — and their terminal has no<br>idea. A Claude that's been working for 20 minutes, a Claude waiting for permission,<br>and a dead pane all look like the same rectangle of text. Yardmaster is a macOS<br>terminal where Claude sessions are first-class: named, grouped by project, with<br>live status you can trust — because it speaks Claude Code's own hook protocol<br>instead of guessing from output.

Features

Sessions sidebar — named sessions grouped under their project, each row<br>showing the live git branch , an activity line (the exact tool running right<br>now — ▸ Bash: npm test — or the waiting question), a working timer, and a<br>token meter (803k tok, 1.2M tok) that survives app restarts. Status dots<br>are driven by Claude Code hooks , never output-scraping: working / needs-you /<br>idle / exited.

Waiting-on-you inbox (⌘E) — every blocked session with the exact question<br>it's asking; jump to it, or approve/deny right from the list (a / d).

Worktree sessions — one click gives a session its own isolated git worktree<br>(repo/.worktrees/); run several Claudes on one repo in parallel. The<br>Changes pane shows each session's diff and commits with one-click merge<br>(guarded, conflict-safe) or push + PR (via gh).

Fork Session — right-click a session to duplicate its entire conversation<br>into a fresh worktree branched from the session's HEAD. Try a risky approach —<br>or two competing ones — without gambling your accumulated context.

Real terminals, plural — ⌘T opens a login-shell tab beside any Claude<br>session (as many as you want, ⌘⌥←/→ to switch, ⌘W to close), and a<br>standalone Terminals workspace makes it a plain multi-tab terminal — no<br>Claude required. Scrollback survives tab flips and reloads via replay buffers.

Drag & drop — drop files from Finder onto any pane and their quoted paths<br>are typed at the cursor.

Notifications — macOS notification + dock badge when a background session<br>finishes or needs input; idle reminders are filtered out so red always means red.

Session persistence — sessions survive app restarts and resume their<br>conversations via claude --resume; per-session CLI flags (e.g. --model opus)<br>persist with them.

Project panel — the active project's dirty-file count, commits ahead of<br>base, and last commit, always visible at the bottom of the sidebar.

In-app updates — the app checks GitHub releases (one anonymous API call —<br>there is no telemetry) and updates itself with one click; or check manually via<br>the menu.

Keyboard shortcuts

Shortcut<br>Action

⌘N<br>New session (project pre-fillable from a group header's + / ⎇ buttons)

⌘1…9<br>Jump to session by position

⌘J / ⌘K, ⌘↓ / ⌘↑, ⌘⇧] / ⌘⇧[<br>Next / previous (includes the Terminals workspace)

⌘E<br>Waiting-on-you inbox (a approve / d deny)

⌘T<br>New terminal tab in the active session / workspace

⌘⌥← / ⌘⌥→<br>Switch between the Claude tab and terminal tabs

⌘W<br>Close the active terminal tab (never the Claude session)

⌘R<br>Rename session

⌘B<br>Toggle sidebar

Install

Requirements: macOS on Apple silicon, Xcode Command Line Tools. Node and even<br>Claude Code itself are installed automatically if missing.

curl -fsSL https://yardmaster.me/install.sh | bash

or via Homebrew (prebuilt, instant — --no-quarantine skips Gatekeeper on this<br>unsigned build):

brew install --cask --no-quarantine blothecap/tap/yardmaster

The curl script clones this repo to ~/yardmaster, checks prerequisites, builds, and<br>installs to /Applications (first build takes a few minutes). After that the app<br>updates itself — or re-run the one-liner any time. A prebuilt (unsigned) DMG is<br>on the releases page; after<br>installing it, clear Gatekeeper's...

session claude yardmaster terminal json sessions

Related Articles