macOS · for Claude Code

The Claude-native
terminal.

Ordinary terminals treat Claude Code like any other process — a rectangle of text that doesn't know an agent lives inside it. Yardmaster is a terminal built around Claude: sessions are first-class, status is native, and parallel agents get isolated worktrees with one keystroke.

Build from source today — npm run dist produces Yardmaster.app

Features

What "Claude-native" means.

A generic terminal shows you characters. A Claude-native one knows what a session is, what it's doing, when it needs you, and what it changed — because it speaks Claude Code's own hook protocol instead of guessing from output.

Native status

See the tool each session is running right now — ▸ Bash: npm test — plus a working timer. A stuck agent is visible from across the room.

Native attention

One panel lists every blocked session with the exact question it's asking. Approve or deny right from the list — a / d — without switching.

Native parallelism

One click gives a session its own isolated git worktree. Run three Claudes on one repo without collisions, then review the diff and merge — or push a PR — from the app.

Still a real terminal

Full xterm underneath: Claude Code's TUI renders perfectly, and ⌘T opens as many real login-shell tabs as you want beside every session. A standalone Terminals workspace means it works as a plain multi-tab terminal too — no Claude required.

Native sessions

Sessions are the terminal's unit, not windows: named, grouped by project with the live git branch on every row, persisted, resumed across restarts with their CLI flags intact. "Resume all" brings yesterday back in one click.

Native cost

Per-session token usage on every row — 803k tok, 1.2M tok — with totals in the footer, surviving app restarts. Know which of your Claudes is eating the budget at a glance.

How it works

Hooks, not guesswork.

Three moving parts, all local. No cloud, no telemetry — your sessions never leave your machine.

01 Sessions are real processes Each session is Claude Code in a pty, owned by the app — spawned in your project or in an isolated worktree it creates for you.
02 Hooks report the truth Yardmaster injects Claude Code hooks that call a loopback server on every prompt, tool call, permission request, and completion. Status is knowledge, not inference.
03 You act from the tower Jump to whoever needs you, approve from the inbox, diff a worktree's changes, merge or PR — all without leaving the keyboard.

Shortcuts

Built to stay on the keyboard.

New session⌘N
Jump to session⌘1–9
Next / previous⌘J · ⌘K · ⌘↓ · ⌘↑
Waiting-on-you inbox⌘E
New terminal tab⌘T
Switch tabs⌘⌥← · ⌘⌥→
Close terminal tab⌘W
Rename session⌘R
Toggle sidebar⌘B

Install

From source, in a minute.

macOS with Claude Code installed. Node 23+, then:

# one line — clones, checks, builds, installs to /Applications
curl -fsSL https://yardmaster.me/install.sh | bash

Requires macOS (Apple silicon) and Xcode Command Line Tools. Prefer to read before you pipe? View the script — it clones the open-source repo to ~/yardmaster and runs the repo's installer.