Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Requirements

A shell — and, to launch Claude sessions, the Claude Code CLI 1.0.61 or newer on your PATH.

That floor is the CLI’s --settings flag, which TermHerd puts on every Claude launch. It re-enables the CLI’s terminal title for that session only, and the title is where a Claude session’s activity status comes from: without it, a CLAUDE_CODE_DISABLE_TERMINAL_TITLE anywhere in your own settings would leave every session reading starting forever. An older CLI rejects the flag and the launch fails. TermHerd’s other flag, --mcp-config (the live bridge), has been available since 0.2.75.

A plain shell needs nothing installed — see Status and attention for what it takes to give one an accurate status.

Desktop installers

Each tagged release publishes installers on the Releases page.

PlatformFileNotes
macOSTermHerd_<version>_<arch>.dmgOpen it, drag TermHerd into Applications.
Windows*-setup.exe (NSIS)
Linux.deb or .AppImagesudo apt install ./termherd_<version>_amd64.deb, or chmod +x the AppImage.

Builds are not signed yet. On macOS, first launch needs a right-click → Open, or clearing the quarantine flag:

xattr -dr com.apple.quarantine /Applications/TermHerd.app

On Windows, SmartScreen may warn — choose More info → Run anyway.

Bare command-line binary

The same releases carry one-line installers that drop termherd into your Cargo bin directory. Every release so far is a pre-release, which GitHub’s /releases/latest/ shortcut skips, so name the tag — the newest one is at the top of the Releases page:

# macOS / Linux
TAG=v0.1.0-prerelease.4
curl --proto '=https' --tlsv1.2 -LsSf \
  "https://github.com/Termherd/termherd/releases/download/$TAG/termherd-app-installer.sh" | sh
# Windows
$Tag = "v0.1.0-prerelease.4"
irm "https://github.com/Termherd/termherd/releases/download/$Tag/termherd-app-installer.ps1" | iex

Verifying a Linux download

Linux release binaries carry a sigstore keyless build-provenance attestation — no signing key; the signer is the release workflow itself, via GitHub OIDC, logged in the public Rekor transparency log.

gh attestation verify termherd-app-x86_64-unknown-linux-gnu.tar.xz \
  --repo Termherd/termherd

A passing check proves both integrity and that the artifact was built by this repository’s CI. The attestation and its SHA256SUMS file come from a signing step added after v0.1.0-prerelease.4, so that pre-release has neither — only per-file .sha256 checksums and a combined sha256.sum, which every release carries.

From source

The toolchain is pinned in rust-toolchain.toml (Rust 1.95.0, edition 2024); rustup picks it up automatically.

git clone https://github.com/Termherd/termherd
cd termherd
cargo run -p termherd-app

Where TermHerd writes

Never under ~/.claude. Everything it owns lives in ~/.termherd (%USERPROFILE%\.termherd on Windows):

PathHolds
~/.termherd/settings.jsonyour settings — reference
~/.termherd/window.jsonwindow size and position
~/.termherd/metadata.jsonstars, archives, custom session titles, hand-added repositories
~/.termherd/captures/capture-<ts>.json / .png / .gif — see Capture and record

TermHerd is single-instance: an advisory lock file under the system temp directory. To run a second build alongside one that already holds the lock, point it at a throwaway temp dir so its lock path differs:

TMPDIR=$(mktemp -d) cargo run -p termherd-app