Shepherd / docs GitHub ↗
a HUD for Claude Code

Watch your flock, not your terminals.

ターミナルではなく、群れを見る。

Shepherd is a floating, always-on-top macOS HUD that watches every Claude Code session on your machine — zellij panes, VS Code terminals, bare terminals, background workers. The moment an agent needs you, you know. Zero config, no hooks.

Shepherd は、このマシンで動くすべての Claude Code セッション — zellij ペイン・VS Code のターミナル・ 素のターミナル・バックグラウンドワーカー — を横断監視する、常時最前面のフローティング macOS HUD です。 エージェントがあなたを必要とした瞬間に気づけます。設定ゼロ・フック不要。

Install in 30 seconds30秒でインストールSource on GitHubGitHub でソースを見る

The Shepherd HUD: plan-usage bars in the header, then three repository columns — a blocked card showing its pending question in orange, working cards with model chips, PR and Artifact badges, and a nested subagent card Shepherd の HUD: ヘッダーにプラン使用量バー、その下に3つのリポジトリ列 — 質問をオレンジで掲げる応答待ちカード、モデルチップや PR・Artifact バッジ付きの作業中カード、ネストしたサブエージェントカード

The HUD, one card per session: a blocked agent surfaces its question in orange; working cards carry permission-mode / model / runtime chips (zellij, VS Code, Ghostty, claude -p …), elapsed time, changed files, PR/CI and Artifact badges, and a context-window gauge; a subagent nests under its parent. The UI follows your system language (Japanese and English).

HUD は1セッション=1カード。応答待ちのエージェントは質問をオレンジで掲げ、作業中カードには 権限モード・モデル・実行環境(zellij / VS Code / Ghostty / claude -p など)のチップ・ 経過時間・変更ファイル数・PR/CI と Artifact のバッジ・コンテキスト ゲージが載ります。サブエージェントは親の下にネストします。UI はシステム言語に追従(日英対応)。

What it does

できること

How it works

仕組み

Shepherd installs nothing into Claude Code and never touches ~/.claude/settings.json — no hooks, no daemon of its own, no config. It reads what Claude Code already writes about itself, and repaints the board the moment anything changes.

Shepherd は Claude Code に何もインストールせず、~/.claude/settings.json にも一切触れません — フックなし・独自デーモンなし・設定なし。Claude Code が自分自身について既に書き出しているものを読み、 変化した瞬間に盤面を描き直します。

sourcewhat it provides
~/.claude/sessions/<pid>.json Every session's own live status — busy / idle / waiting, and what it's waiting for. Watched with FSEvents, so state changes appear instantly.
transcript .jsonl The AI-generated session title, model & context usage, current activity, deliverable links (PRs, Artifacts), subagents, API errors.
claude agents --json --all The session roster, including finished background records — what the archive lane is built from.
cc-daemon control socket Background workers: live state, what this turn is doing, and the exact decision a blocked worker needs — plus the channel your reply travels back on.
ps -wwEp <pid> The session's environment: which zellij pane or VS Code window it lives in, and the SHEPHERD_PARENT_SESSION_ID its parent exported — how child sessions nest.
git / gh Branch, changed-file count, repo grouping, PR number and CI status for the unified PR badge.
データ源得られるもの
~/.claude/sessions/<pid>.json 各セッションが自分で書くライブ状態 — busy / idle / waiting と、何を待っているか。FSEvents で監視するので状態変化は即座に反映。
transcript .jsonl AI 生成のセッションタイトル、モデルとコンテキスト使用量、現在の作業内容、成果物リンク(PR・Artifact)、サブエージェント、API エラー。
claude agents --json --all セッションの名簿。終了済みのバックグラウンド記録を含む — アーカイブレーンの材料。
cc-daemon control socket バックグラウンドワーカーのライブ状態・このターンでやっていること・応答待ちのワーカーが求めている決定 — そして回答を届け返すチャネル。
ps -wwEp <pid> セッションの環境変数: どの zellij ペイン/VS Code ウィンドウに居るか、親が export した SHEPHERD_PARENT_SESSION_ID — 子セッションがネストする仕組み。
git / gh ブランチ・変更ファイル数・リポジトリのグルーピング・統合 PR バッジ用の PR 番号と CI 状態。

Why

なぜ作ったか

Claude Code makes it cheap to run many agents at once — and expensive to know what they're all doing. Terminals scattered across tabs and Spaces, background workers with no terminal at all, a blocked agent silently waiting twenty minutes for a yes/no. Shepherd turns that into one glanceable board: if nothing is orange, keep doing your own work.

Claude Code のおかげでエージェントを同時にたくさん走らせるのは安くなりました — その全員が 何をしているか把握するのは高くつきます。タブと Space に散らばるターミナル、ターミナルを持たない バックグラウンドワーカー、yes/no を20分間黙って待ち続ける応答待ちエージェント。Shepherd は それをひと目で読める1枚の盤面にします: オレンジが無ければ、自分の仕事を続ければいい。

Running many agents well is its own skill — which work goes to a separate session vs. a teammate vs. a background worker, and which model each one deserves. That's covered in the herding playbook.

多数のエージェントをうまく走らせるのはそれ自体が技術です — どの仕事を別セッション/ teammate/バックグラウンドワーカーに割り振るか、それぞれにどのモデルを与えるか。 群れの導き方で扱います。