What is Herdr?
Herdr is a desktop app for terminals and coding agents. Work is organised into spaces, usually one per repository, and each space has tabs split into panes, so a shell, an editor and two coding agents can sit side by side in one window. An agents sidebar lists every agent across all your spaces with its status (Working, Blocked when it is waiting for you, Done or Idle), so you see at a glance which one needs an answer. Closing the window does not stop anything: the terminals run in herdr-core (hc), a small background process, and are still there when you open Herdr again. It is written in Rust, Apache-2.0 licensed, and lives at herdr.dev.
apt upgrade keeps every machine you work on current.
⚡ Key Features of Herdr
🗂️ Spaces, Tabs and Panes
Give each repository its own space, open tabs inside it and split them into panes. Switching projects is switching spaces, and every terminal stays where you left it.
🤖 Agents Sidebar
Every coding agent running in any space shows up in one list with its status: Working, Blocked (waiting for you), Done or Idle. The blocked ones are the ones to look at first.
♾️ Terminals That Outlive the Window
The terminals run in herdr-core (hc), not in the window. Close Herdr and your shells, builds and agents keep running; open it again and they are all back.
🌐 Remote Machines over SSH
Add a machine you reach over SSH and a space's terminals run there instead, so a long agent session keeps going when your laptop sleeps or changes network.
🎨 Palette, Themes and Layouts
Ctrl+Shift+P opens a command palette for everything; themes and built-in layouts (Herdr, Terminals and the retro Herdr 98) change how the window looks and what it shows.
🧩 JavaScript Mods
Mods written in JavaScript draw their own panels and menus, so a workflow the app does not cover yet can be added without waiting for a release.
apt upgrade keeps you on the latest version.
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud and Zed; Herdr Desktop is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.
🧩 About the extrepo option. extrepo is Debian's own tool for external repositories: it writes the sources file and installs the signing key for you, checking the key against signed metadata first. This repository is registered with it as griffo, and the always-free mirror as griffo-free, so on Debian (bookworm, trixie, forky and sid) the commands above are the whole setup.
extrepo sets up the sources file and the key only, so a subscription's credentials still go in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu is not covered, because extrepo publishes metadata for Debian suites only: there, use the sudo or root commands.
Step 2: Install Herdr
# Install latest Herdr (package and command are both herdr-app)
sudo apt install herdr-app
# Verify installation
dpkg -s herdr-app | grep Version# Install latest Herdr (package and command are both herdr-app)
apt install herdr-app
# Verify installation
dpkg -s herdr-app | grep VersionStep 3: First run
# Start Herdr from your application menu, or from a terminal
herdr-app
# The first time it opens, Herdr offers to install herdr-core (hc)
# into ~/.local/bin. Accept: the package does not ship hc, and it is
# what keeps your terminals running after the window closes
ls -l ~/.local/bin/hc
# Herdr draws with Vulkan and needs an X11 or Wayland desktop session;
# check that the driver the package recommends is installed
apt policy mesa-vulkan-drivers🎯 Basic Usage Examples
Working with spaces and agents:
# 1. Create a space for a repository and open a tab in it
# 2. Split the tab into panes: a shell, an editor, a coding agent or two
# 3. Watch the agents sidebar: Working, Blocked, Done or Idle
# Ctrl+Shift+P opens the command palette for everything else
# Closed the window? The terminals kept running; open it again
herdr-appChecking the graphics stack:
# Which session you are in: x11 or wayland (a desktop session is required)
echo $XDG_SESSION_TYPE
# Install the Vulkan tools and confirm a driver sees your GPU
sudo apt install vulkan-tools
vulkaninfo --summary
# No GPU listed? Install mesa-vulkan-drivers, then log in again# Which session you are in: x11 or wayland (a desktop session is required)
echo $XDG_SESSION_TYPE
# Install the Vulkan tools and confirm a driver sees your GPU
apt install vulkan-tools
vulkaninfo --summary
# No GPU listed? Install mesa-vulkan-drivers, then log in againKeeping it current:
# Herdr updates with the rest of the system (its self-updater is off here)
sudo apt update && sudo apt upgrade
# Which version is installed, and which is the newest available
apt policy herdr-app
# Remove it again
sudo apt remove herdr-app# Herdr updates with the rest of the system (its self-updater is off here)
apt update && apt upgrade
# Which version is installed, and which is the newest available
apt policy herdr-app
# Remove it again
apt remove herdr-app🔧 Tool Integrations
Herdr is a home for the command-line tools you already use, so most of what matters is the machine around it:
- Desktop session: Herdr is a GUI app and needs an X11 or Wayland session; on a headless server, run the terminals there through a remote machine instead
- Vulkan: the window is drawn with Vulkan, so a working Vulkan driver is required. The package recommends
mesa-vulkan-drivers, which covers Intel and AMD graphics; NVIDIA's proprietary driver brings its own - herdr-core:
hclives in~/.local/binin your home directory, installed by the app on first run, not by apt; it is the process that keeps terminals alive while the window is closed - Remote machines: add a machine you reach over SSH and a space's terminals run on it, so long agent sessions survive your laptop sleeping or losing its connection
- Coding agents: run your agent CLIs in panes like any other command; the agents sidebar collects them across spaces and shows which one is blocked waiting for you
- herdr in the terminal: the herdr package on this site is a different program, a terminal agent multiplexer; Herdr is the desktop app, and the two install side by side
- Your tools: Neovim or Helix in one pane, lazygit in another and an agent in a third, all in the same space
🚀 Why Choose deb.griffo.io?
- Official Debian: does not package Herdr,
apt install herdr-appfails on a stock system - Upstream downloads: release builds from releases.herdr.dev that update themselves outside apt, on every machine separately
- Building from source: a Rust toolchain, the graphics and windowing development packages, and a long compile
- deb.griffo.io: latest version with automatic updates
- ✅ The Only apt Source: Herdr is in neither the Debian nor the Ubuntu archives; this repository packages the official upstream release
- ✅ One Name Everywhere: the package is
herdr-appand so is the command:sudo apt install herdr-app, thenherdr-appor the launcher entry - ✅ Updates Through apt: the in-app self-updater is switched off in this build, so the version on disk is always the one apt installed and nothing rewrites it behind the package manager's back
- ✅ Complete Package: the Herdr desktop app with its dependencies declared so it installs on every supported suite and the Vulkan driver recommended; herdr-core is set up by the app itself on first run
- ✅ Automatic Updates: packages updated within hours of upstream releases
- ✅ Two Architectures: amd64 and arm64 on Bookworm, Trixie, Forky and Sid alike; there is no i386, armhf or riscv64 build
- ✅ Multi-Distribution: works on Bookworm, Trixie, Forky and Sid
- ✅ Easy Maintenance: standard apt commands for updates
📦 Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- 🐏 herdr-app-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- herdr - The terminal agent multiplexer, for when you live in a terminal instead of a window
- Neovim - An editor to keep in the pane next to your agents
- lazygit - A terminal UI for reviewing and committing what the agents changed
- kitty - A GPU terminal for the work that stays outside Herdr
- Ghostty - A native GTK terminal, same story
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!