* test: add input transparency conformance harness * test: cover split host replies in input conformance harness * fix: let libghostty encode every key sent to panes * refactor: read live keyboard modes only from libghostty * fix: wait for split input sequences instead of typing their fragments * refactor: drop unused keyboard protocol argument from pane key encoding * test: fix windows-only keyboard mode tests after libghostty mode refactor * test: measure windows key record transparency against the keyboard layout * fix: forward windows punctuation and altgr chords that produce no character * test: expect libghostty kitty encoding in the windows conpty probe and cover release, alternate, text and modifyOtherKeys passthrough * ci: lint windows-only test code in the cross-platform windows check * refactor: delete herdr's own key encoder * test: expect xterm modifyOtherKeys 2 encoding for shifted letters in the windows gauntlet * refactor: read windows input through one native console reader * refactor: parse sgr mouse reports once and map pixel reports without rewriting them * refactor: decode framed input once instead of re-framing it in the client * fix: keep macos alt, non-us kitty keys, text releases and reply-tail recovery correct after the libghostty switch * fix: stop waiting for host replies the terminal never sends * fix: deliver shifted punctuation releases after shift is let go * fix: never type super, hyper or meta chords into panes that cannot read them refs #4356 * test: replay reporter captures for fixed split-read and key-release issues refs #4856 refs #4025 refs #4184 * fix: forward f1, f2 and f4 from kitty keyboard hosts refs #4403 * fix: send pixel mouse reports to unfocused panes and only when the host supports them refs #4750 * fix: treat 0x08 as backspace when the terminal's erase key is ctrl+h refs #3244 * test: fix macos lint and keep the pixel mouse server test unix-only * fix: deliver legacy alt+escape on macos instead of dropping it * fix: address review findings on super+enter, held key releases and the pixel mouse probe * test: expect super+enter to stay out of plain windows panes * test: wait for the host pixel mouse mode instead of reading the channel once * fix: send ctrl+shift+letter to plain shells as its control byte * fix: encode each key under one keyboard mode snapshot * fix: keep ime text intact and stop inventing key releases for committed text * fix: release held key reports on focus loss and never drop held-key leases * fix: send ctrl chords on non-latin layouts as their physical key * fix: match non-latin ctrl chord releases after ctrl is let go * fix: drop super chords before the windows conpty fallback in plain panes
herdr
herdr.dev · install · quick start · docs
English · 简体中文
https://github.com/user-attachments/assets/043ec09f-4bdd-41d5-aee0-8fda6b83e267
the runtime your coding agents live on.
- detach without stopping work — herdr keeps terminals running in a background server when you close the client or lose your SSH connection. after a server or machine restart, herdr restores the saved layout and can resume supported agent sessions; the original processes do not survive. session state →
- several machines, one window — keep local work and saved ssh machines together, with a combined agent list and independent reconnects. remote machines →
- never hunt for the stuck one — every pane is marked working, blocked, or idle. when an agent stops and needs an answer, herdr says so.
- agent-native — agents drive herdr through the cli and socket api: they can spawn panes, prompt each other, and wait until another agent is genuinely blocked. agent skill →
- runs what you already run — claude code, codex, cursor, opencode, grok and the rest. herdr doesn't wrap or replace them; it owns their terminals. building an agent? add herdr support →
- keyboard and mouse, both first-class — tmux-style prefix keys and click, drag, split. pick per moment, not per tool.
- plugins — extend panes and workflows. browse the marketplace →
- one rust binary, no electron — runs in whatever terminal you already use.
install
curl -fsSL https://herdr.dev/install.sh | sh
or brew install herdr · mise use -g herdr · windows: powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex" · endpoint-protected Windows · binaries
then start it where the work lives:
herdr
run your agents, split panes, walk away. ctrl+b q detaches, herdr reattaches. quick start →
docs
everything lives at herdr.dev/docs: quick start · concepts · supported agents · keyboard · configuration · session state · connecting machines · remote · integrations · add herdr support to your agent · plugins · socket api
thanks
every past sponsor and backer is listed in SPONSORS.md — thank you 🐑
enterprise / partnership: hey@herdr.dev
agent instructions
if you are an ai agent helping with this repository, read AGENTS.md before making changes and read CONTRIBUTING.md before opening issues or PRs.
development
git clone https://github.com/herdrdev/herdr
cd herdr
cargo build --release
just test # unit tests
just check # formatting, tests, and maintenance checks
license
Herdr is licensed under the Apache License 2.0.
