Skip to content

Releases: herdrdev/herdr

v0.8.2

Choose a tag to compare

@github-actions github-actions released this 19 Aug 18:00
Immutable release. Only release title and notes can be modified.

Added

  • CLI help now points coding agents to Herdr's plain-text guide, documentation index, and built-in control skill.
  • Added Qwen Code detection for idle, working, and user-confirmation states, plus optional native session restore. (#2730, #2743)
  • Herdr now keeps the outer terminal window title in sync with the session through ui.window_title, so window managers and terminal tab bars show the active workspace and the host the panes actually run on. (#2627, thanks @dhh)
  • The desktop tab bar now has configurable right-aligned status entries for zoom state, hostname, date/time, literal text, and asynchronously refreshed command output.
  • Optional keys.move_tab_previous and keys.move_tab_next bindings now reorder the active tab in place, wrapping at either end. (#2561, thanks @dhh)
  • Optional keys.resize_pane_left, keys.resize_pane_down, keys.resize_pane_up, and keys.resize_pane_right bindings now resize the focused pane in one keystroke without entering resize mode. (#2558, thanks @dhh)
  • Windows clients can now use herdr --remote to attach to Herdr servers on Linux and macOS. (#2329)
  • Cursor Agent CLI, MastraCode, Hermes Agent, and Grok CLI integrations now install and run natively on Windows.
  • Panes can now route normal right-click gestures to mouse-reporting applications through the pane menu, herdr pane input, pane.input.set, or the pane split --right-click pane launch option.
  • ui.pane_outer_borders can now keep or hide the outside edges of split-pane borders independently from internal dividers. (#2535, thanks @dhh)
  • theme.custom.sidebar_bg can now give the desktop sidebar its own background without changing built-in theme defaults.
  • Settings and ui.status_indicators = "symbols" can now use distinct static shapes for blocked, working, done, idle, and unknown agent states. (#2260)
  • Navigate-mode selection rows now use a dedicated per-theme cursor color, customizable via theme.custom.selection_bg, so the cursor stays distinguishable from the active Space and Agent highlight.
  • Copy mode now supports B, E, and W motions over whitespace-delimited big words. (#2270, thanks @jplew)
  • The plugin marketplace now discovers valid manifests at repository roots and subdirectories, groups multiple plugins under each repository, and publishes their versions and exact default-branch commits.

Changed

  • Windows support is now generally available through stable releases and uses the stable update channel by default. Existing preview installs stay on preview until explicitly switched.
  • Headless servers now use a configurable 120×40 virtual terminal instead of 80×24 when no client is attached, giving newly created panes a practical default size. (#2828)
  • Desktop tab labels are now centered in their tabs, so the active-tab highlight has symmetric padding. (#2570, thanks @dhh)
  • Experimental pane graphics now support bounded named layers, acknowledged full-RGBA primary-layer direct file frames on audited local terminals, owned BGRA fallback, exact pixel mouse input, and placement-only resize replay.

Fixed

  • Unix CLI commands now exit quietly when a downstream pipe closes instead of panicking with exit 101. (#2994)
  • The terminal theme now keeps the active Space row fill visible when the Navigate cursor lands on it, in both expanded and collapsed sidebars. (#2987)
  • Busy multi-pane sessions now avoid redundant hidden-pane wakeups and full terminal-state formatting in pane-scaled paths, preventing CPU regressions from high-rate background output, scrollbars, and enhanced keyboard modes. (#2550, #2901, #2962)
  • Chinese IME commits now reach panes on macOS when the focused application requests printable key-release events. (#2924)
  • Windows now recognizes Ctrl+1 through Ctrl+9 keybindings instead of decoding those key records as control characters. (#2910)
  • PowerShell panes now keep their process-reported working directory synchronized with the shell's logical location. (#2879, thanks @Pimpmuckl)
  • Foreground typing no longer waits behind render cadence consumed by output from panes in hidden tabs. (#2890)
  • The Windows ARM64 installer now waits for x64 emulation to release the verified executable before activating the downloaded release. (#2916)
  • On Unix, Ctrl-click URL openers are now reaped after they exit, preventing defunct child processes from accumulating on long-running servers. (#2903)
  • Windows updates now reuse only verified local packages, avoiding security-tool download blocks while preserving checksum validation. (#2751, #2816, thanks @Pimpmuckl)
  • Herdr no longer sends the full OSC 4 palette query burst under WSL, preventing reply fragments from leaking into the shell through ConPTY. (#2440)
  • Qwen Code panes now use locale-independent terminal-title states and localized confirmation fallbacks, preventing active or blocked turns from appearing idle. (#2756)
  • Claude Code panes now recognize and strip every half-circle title spinner frame, preventing active turns from appearing idle and keeping titles clean. (#2707, #2709, #2760, #2762)
  • Copilot prompts now focus the target pane before sending input, so background panes do not silently drop prompts. (#1698, #2734, thanks @xkrogen)
  • Agent hooks now invoke the running Herdr binary instead of whichever binary appears first on PATH. (#2722, thanks @Pimpmuckl)
  • Closing a terminal running herdr --remote no longer produces a local client core dump while the remote session stays alive. (#2424)
  • Active Space and Agent rows now use dedicated theme colors that remain visible when the host terminal background matches the selected Herdr theme. (#2792)
  • agent prompt now rejects agents already waiting at approval or question dialogs with agent_blocked, without sending text or Enter. (#2788)
  • agent start now waits for new pane shells and first-run agent prompts to become ready instead of racing them or reporting premature readiness. (#2410, #2537, #2773, #2774, thanks @Pimpmuckl)
  • prefix+e now preserves logical lines when opening soft-wrapped scrollback in an editor. (#2733)
  • Alternate-screen pane reads avoid unnecessary ANSI formatting work, reducing read latency for TUI agents. (#2387, #2426)
  • Tab bar clicks are now properly registered when using Ghostty in native fullscreen. (#796, #2736, thanks @HackAttack)
  • Prefix keybindings now disambiguate layout-aware shifted punctuation, so a shifted \ no longer triggers prefix+| on keyboard layouts where the same key produces both characters. (#2674)
  • Remote clients now continue redrawing at very large terminal sizes instead of freezing when a full ANSI frame exceeds the transport limit. (#2670)
  • Windows Git status refreshes now reuse repository configuration instead of repeatedly triggering security scans for WSL repositories. (#2643, #2688, thanks @Pimpmuckl)
  • Windows idle agent detection now shares process snapshots across panes, reducing CPU use in sessions with many Git Bash panes. (#2459, #2494, #2642, #2651, thanks @Pimpmuckl)
  • Embedded bare repositories now derive the correct repository name and worktree location. (#2657, #2660)
  • Root-repository workspaces now retain their saved labels across update restarts. (#2594, #2727)
  • Elevated Windows panes no longer expose PowerShell's administrator decoration as the terminal title. (#2632, thanks @Pimpmuckl)
  • Modal name inputs now anchor the host IME cursor to the text field instead of the pane behind the dialog. (#1755, #2569, thanks @kataokatsuki)
  • Session Navigator movement ignores modified j, k, and arrow keys instead of consuming unrelated pane input. (#1981, #2377, thanks @atomsbaza)
  • OpenCode panes now track the root conversation selected in their own TUI for native restore without adopting activity from attached clients. (#2450)
  • Server stop requests now bypass pane and API traffic, preventing busy sessions from blocking shutdown or admitting a client while shutdown is pending. (#2612)
  • Fish Ctrl+Alt keybindings now work in panes after legacy Alt-prefixed control bytes are decoded with both modifiers. (#2514)
  • Windows recent-history reads no longer perform redundant snapshots, restoring recent output while reducing read cost. (#962, #2474, thanks @Pimpmuckl)
  • The Windows installer now activates releases with an atomic directory swap, preventing interrupted updates from leaving an empty release directory. (#2356, #2530, thanks @Pimpmuckl)
  • herdr config check now reports unknown built-in theme names instead of silently accepting them. (#2452)
  • macOS herdr --remote clients now keep the accepted bridge socket blocking, preventing an immediate disconnect after the protocol handshake. (#2478, thanks @mathijshenquet)
  • Prefix keybindings now preserve Shift in WezTerm Kitty keyboard mode, so commands such as config reload no longer trigger their unshifted action. (#2435)
  • Pane applications now receive modifyOtherKeys releases and shifted alternate reports without dropped releases or leaked Ctrl+Tab sequences. (#2296, #2302, #2303)
  • Detaching now restores host keyboard reporting, preventing enhanced keyboard sequences from leaking into the shell after Herdr exits. (#2393, #2395)
  • Default mouse reports are decoded instead of leaking escape bytes into the focused pane. (#2309, #2312)
  • BEL characters emitted by pane programs now reach the outer terminal so its audible and visual bell settings can react. (#2453)
  • Stable direct installs, self-updates, and remote helper downloads now require and verify the SHA-256 digest published for each GitHub release asset.
  • pane read and pane wait-output now accept --flag=value and options before or after the pane ID. (#2183, thanks @KyleCo76)
  • pane current, pane get, and pane layout --current now resolve the calling pane instead of another client's focused pane. (#2297, #2298)
  • Configs containing the retired Herdr-written ui.agent_panel_scope setting no longer report it as an unknown key after upgrades. (#2292)
  • ...
Read more

Preview build 2026-08-19-b5c4a0176e91

Pre-release

Choose a tag to compare

Preview build 2026-08-19-b5c4a0176e91

Built from b5c4a0176e91 on master.
Base stable: v0.8.2
Compare: v0.8.2...b5c4a01

Changed

  • Rebuilt preview from the current master branch.

Preview build 2026-08-18-9fac51722653

Pre-release

Choose a tag to compare

Preview build 2026-08-18-9fac51722653

Built from 9fac51722653 on master.
Base stable: v0.8.0
Compare: 1147e60...9fac517

Added

  • Make Windows generally available
  • Plugin marketplace discovery shelves — trending and new arrivals

Fixed

  • Preserve macOS IME commits in report-all mode (#2947)
  • Isolate hidden pane render cadence (#2892)
  • Retry Windows installer activation after transient locks (#2921)
  • Raise timeout on docs release integration test for slow builders
  • Link agents to config reference data
  • Reap ctrl-click url openers (#2906)
  • Sync powershell process working directory (#2879)
  • Match Windows Ctrl+digit keybindings (#2913)

Maintenance

  • Publish preview documentation

Preview build 2026-08-17-1147e60bc0a4

Pre-release

Choose a tag to compare

Preview build 2026-08-17-1147e60bc0a4

Built from 1147e60bc0a4 on master.
Base stable: v0.8.0
Compare: d78e3d3...1147e60

Added

  • Make headless terminal size configurable (#2829)
  • Guide agents to Herdr resources
  • Publish agent-readable documentation
  • Add qwen code detection and restore (#2743)
  • Keep the outer terminal window title in sync with the session (#2627)
  • Add move tab keybind actions (#2561)
  • Add configurable tab bar status (#2586)
  • Add direct pane resize keybindings (#2558)
  • Add direct pane frame streaming (#2523)
  • Make outer pane borders configurable (#2535)
  • Add per-pane right-click routing (#2504)
  • Support all agent integrations on windows (#2496)
  • Rebuild compare page in new design with runtime positioning
  • Track star history for trending and new plugin surfaces
  • Add big-word motions (#2270)
  • Support remote attach to unix hosts (#2329)
  • Add optional sidebar background
  • Add distinct status indicators (#2282)
  • Index marketplace manifests

Fixed

  • Keep agent skill aligned with stable releases
  • Skip host palette queries under wsl (#2852)
  • Keep default active rows subtle and add navigate cursor color (#2838)
  • Handle remote terminal hangup (#2827)
  • Detect qwen localized active states (#2818)
  • Use verified local packages for windows updates (#2816)
  • Speed up alternate-screen history reads (#2426)
  • Keep active sidebar rows visible (#2794)
  • Publish channel-aware documentation indexes
  • Apply llms patch during website builds
  • Reject prompts to blocked agents (#2790)
  • Detect all claude half-circle spinner frames (#2762)
  • Wait for new pane shell readiness (#2774)
  • Keep tab and sidebar clicks when the terminal reports a stray drag (#2736)
  • Support high-dpi direct file frames (#2680)
  • Preserve logical lines in scrollback editor (#2735)
  • Focus Copilot before prompting (#2734)
  • Strip claude title spinner frames (#2709)
  • Use the running binary in agent hooks (#2722)
  • Preserve workspace labels for root repositories (#2727)
  • Synchronously terminate cancelled status commands
  • Detect claude 2.1.228 half-circle busy spinner
  • Disambiguate shifted punctuation keybinds (#2676)
  • Compact large terminal redraws (#2675)
  • Reduce idle agent detection CPU (#2651)
  • Make just build cross-platform (#2647)
  • Derive repo name for embedded bare layouts (#2660)
  • Wait for agent prompt readiness (#2537)
  • Ignore modified j/k/up/down in session navigator (#2377)
  • Strip elevated terminal title decoration (#2632)
  • Prioritize shutdown requests (#2624)
  • Track opencode tui session selection (#2455)
  • Anchor the host cursor to modal name inputs (#2569)
  • Center tab labels for symmetric highlight padding (#2570)
  • Avoid abort on terminal hangup (#2427)
  • Preserve alt-prefixed control keys (#2543)
  • Improve plugins page readability on dark ground
  • Reclaim scrollbar gutter in alternate screen (#2538)
  • Make windows installer swaps atomic (#2530)
  • Forward pane terminal bells (#2498)
  • Share Git Bash agent candidate scans (#2494)
  • Report unknown theme names (#2488)
  • Avoid redundant Windows recent-history snapshots (#2474)
  • Preserve shift in kitty alternate reports (#2479)
  • Restore blocking bridge streams (#2485)
  • Verify stable release checksums
  • Publish stable release checksums
  • Refresh host appearance on focus (#2417)
  • Ignore Cursor Run Everything status (#2220)
  • Add positive idle detection for kiro-cli prompt (#2301)
  • Restore keyboard reporting on detach (#2395)
  • Recognize versioned Python agent wrappers (#2188)
  • Accept --flag=value and reordered options in pane read/wait-output (#2183)
  • Keep plugin marketplace counts current
  • Render OSC 4 palette overrides instead of forwarding the index (#2162)
  • Avoid ctrl-tab escape sequences in legacy panes
  • Repair contributor gate handling
  • Highlight active agent in collapsed sidebar (#2382)
  • Update author X profile
  • Accept retired agent panel scope (#2295)
  • Preserve modifyOtherKeys key releases (#2303)
  • Make issue gate structural
  • Render halfwidth katakana voiced marks (#2257)
  • Return focus to the pane a split was opened from (#2266)
  • Search single-tab names in navigator (#2320)
  • Parse default mouse reports (#2312)
  • Resolve pane query --current from caller (#2298)
  • Keep pending url clicks across host focus loss (#2291)
  • Detect claude confirmation prompts
  • Copy heading links to clipboard
  • Preserve sidebar scroll across clients (#2280)
  • Preserve shift-tab in pane automation (#2259)
  • Allow corrections to published versions

Performance

  • Avoid repeated Git config reads (#2688)
  • Avoid full pane mode reads for scrollbars (#2554)

Maintenance

  • Sync localized configuration updates
  • Update contributor list
  • Refresh english documentation
  • Clean up homepage
  • Remove automatic issue gate
  • Serialize media player environment access (#2619)
  • Guard pane-scaled render performance
  • Approve dhh as contributor
  • Update website
  • Document custom agent integrations
  • Update canonical repository references
  • Restore approved contributor gate
  • Remove project-local worktree extension
  • Refresh readme and sponsors
  • Publish preview documentation

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 19:00
Immutable release. Only release title and notes can be modified.

Added

  • Added herdr --skill to print the agent skill bundled with the running Herdr binary.
  • Added ui.pane_scrollbars = false to hide terminal pane scrollbars and reclaim their reserved column. (#2167)
  • Added ui.tab_bar_position = "bottom" to place the desktop tab row below terminal panes. (#2117)
  • Added live filtering to the keybind help with /, Backspace, and Ctrl+U. (#1825, #1832, thanks @corrius)
  • Added Windows support for experimental.switch_ascii_input_source_in_prefix with Korean IMEs. (#1802, #1823, thanks @joonhwan)
  • Added Grok CLI session reporting and native restore with grok --resume <id>. (#1800, #1807, thanks @carlesso)
  • Added Antigravity CLI session reporting and native restore with agy --conversation <id>. (#1011, #1571, #2087, thanks @ludoo)
  • Added automatic text history reads for idle alternate-screen agents, with the application viewport restored after collection.
  • Added workspace.move_block, the workspace.reordered event, and atomic worktree-group reordering. (#1694)
  • Added a Simplified Chinese README. (#1990, thanks @patrick-xin)

Changed

  • Experimental options are no longer exposed in the Settings TUI and remain available through the config file.
  • Agent status indicators now use the same static workspace marks across the sidebar, navigator, and mobile views, eliminating continuous spinner rendering while agents work.
  • Hidden pane output no longer triggers unnecessary TUI rendering.
  • Windows preview downloads now include Herdr and a modern app-local ConPTY runtime in one archive. (#1533, #1644, #1828)
  • Worktree parents and children now stay packed together in the sidebar, including while groups are reordered.
  • Public documentation now separates stable, preview, and immutable versioned release snapshots.
  • Repository and installation links now use herdrdev/herdr after the GitHub organization migration.
  • Relicensed Herdr from AGPL-3.0-or-later to Apache-2.0.

Fixed

  • Pane applications now receive semantic light/dark query responses and live Mode 2031 updates when the host appearance changes. (#714)
  • Remote attach now falls back to sh when the login shell cannot perform path discovery. (#1201)
  • PTY output continues to be read while pane input is temporarily blocked. (#1295)
  • Worktree CLI help and docs no longer advertise the redundant --json flag; worktree commands remain JSON-only and continue accepting the flag for compatibility. (#2171)
  • OpenCode 2 preview panes now appear as OpenCode agents and use the existing OpenCode status detection. (#2169)
  • Pane text copied through VS Code Remote Tunnels now reaches the viewing machine's clipboard instead of overwriting the remote host clipboard. (#2015)
  • Windows agent detection now follows Git Bash-launched agents across emulated exec process boundaries. (#2107)
  • Detached Windows servers and pane processes now survive logout from the OpenSSH session that started them. (#2008)
  • Windows agent start now launches agents without native arguments instead of timing out on an invalid empty PowerShell argument list. (#2072)
  • Headless servers now resume restored agent sessions without waiting for a TUI client to attach. (#2064)
  • Vibe and other Kitty-keyboard pane applications now receive shifted letters and punctuation when they request associated text. (#2020)
  • Kitty-keyboard pane applications now receive printable key releases without duplicate text input. (#1746)
  • Kitty graphics remain visible during host repaints. (#1628)
  • Pane applications now receive correct XTWINOPS terminal and cell-size query responses. (#835)
  • WSL clients query the host cell size when the terminal ioctl reports no pixels, keeping graphics sharp instead of using the 8x16 fallback. (#2146, #2160, thanks @WakaTaira)
  • Linux runtimes without terminal foreground process groups can opt into child-group agent detection with HERDR_PROCESS_DETECTION=child-groups. (#1982)
  • Installing the Herdr agent skill with the skills CLI no longer copies the entire repository. (#2022)
  • Nix builds now include the bundled agent skill required by herdr --skill. (#1889, #1890, thanks @olafkfreund)
  • Agent prompts now wait briefly after sending text before pressing Enter, preventing prompts from remaining in agent composers without starting a turn. (#1878)
  • Empty clipboard writes from pane applications no longer erase existing clipboard contents or show a copied confirmation. (#1893)
  • Plain mouse movement no longer triggers continuous full renders while preserving Herdr menu hover and pane application mouse tracking. (#1865)
  • Extended-button drags now preserve Herdr hover state while applications receive the drag.
  • ui.copy_on_select = false now retains drag and double-click word selections without copying; Ctrl+C, or Cmd+C when the host terminal forwards it, copies and clears the selection. (#1782)
  • Pane and agent read responses now report truncated: true when older terminal rows were omitted. (#1717)
  • Pane applications that query OSC 4 palette colors now inherit the host terminal palette. (#1752)
  • Ctrl-clicking a pane URL no longer forwards an unmatched mouse release to alternate-screen applications, preventing duplicate browser tabs. (#1761)
  • Known-agent integrations now leave pane ownership to confirmed process exit, so restarting Pi with the same saved session restores lifecycle state even with custom working UI. (#1648, #1792)
  • Nested or ephemeral Codex sessions no longer replace the owning pane's resumable session. (#1789, #1927, thanks @Pimpmuckl)
  • Pi RPC, JSON, and print processes no longer claim pane lifecycle state intended for Pi TUI sessions. (#2159, thanks @rhjoh)
  • Hermes state now comes from screen detection while its plugin reports resumable session identity, avoiding stale lifecycle authority from incomplete hooks.
  • OMP integration install, status, and uninstall now respect PI_CONFIG_DIR when PI_CODING_AGENT_DIR is not set, and installation refuses extension-directory collisions with Pi. (#1696)
  • OMP integrations now preserve Windows absolute session paths for native restore. (#2092, thanks @art-wiedzmin)
  • Claude integration updates preserve existing settings key order and formatting. (#2066)
  • Physical Escape key records on native Windows now bypass raw VT report framing, so pane applications receive Escape immediately and reliably. (#1736)
  • Native Windows key presses, grouped repeats, and releases now preserve their physical lifecycle and stay with the pane that received the initial press. (#2077)
  • Windows pane send-keys and agent send-keys now deliver semantic Escape as a complete key tap, preventing a following key from being interpreted as an Alt chord.
  • Shift+Enter now reaches native Windows pane applications with its modifier intact. (#1743, #1909, thanks @Pimpmuckl)
  • Ctrl+_ input bytes now decode as Ctrl+_ instead of Ctrl+-. (#2164, #2165, thanks @Sertug17)
  • Prefix and navigate modes now recognize non-US shifted keybindings while retaining legacy US punctuation support. (#1870)
  • Closing a non-focused workspace no longer changes the focused workspace. (#1328, #1877, thanks @yianL)
  • A background workspace that closes after its last pane exits no longer moves focus or hides the current workspace. (#1621, #1912, thanks @season179)
  • Directional pane focus now keeps Navigate mode active. (#1850, #1993, thanks @we11adam)
  • Closing a workspace's last tab through the CLI or API now closes the workspace like the TUI does. (#1760, #1899, thanks @season179)
  • Linked worktree workspaces retain their labels during Git metadata refreshes.
  • Clients repaint after transient terminal resizes instead of leaving stale or missing rows.
  • Repeated workspace Git discovery and foreground-cwd checks no longer block rendering or API handling. (#1838, #2206)
  • Relative plugin commands now resolve from the plugin root. (#1949)
  • Windows installation preserves inherited PATH and related environment variables. (#1947)
  • Windows agent process discovery preserves the owning parent agent across wrapper processes. (#1514)
  • The Rose Pine surface_dim color remains visible when the outer terminal uses a matching theme. (#1946, #2002, thanks @brabli)
  • CLI socket commands now report a clear server_not_running error instead of a raw I/O error. (#1941, #1963, thanks @season179)
  • Non-UTF-8 CLI arguments now produce a usage error instead of panicking. (#2207, thanks @VialFlorian)
  • Copy-mode e now crosses long soft-wrapped CJK lines when a read window ends on a wide glyph. (#2145, thanks @kiakiraki)
  • Clients restore terminal state when they receive SIGHUP or SIGTERM. (#2041, thanks @MattJColes)
  • Windows now shows system notifications and completes MP3 notification sounds without leaving PowerShell players waiting for a timeout. (#1330)

Preview build 2026-08-04-d78e3d3b5126

Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Aug 22:14
d78e3d3

Preview build 2026-08-04-d78e3d3b5126

Built from d78e3d3b5126 on master.
Base stable: v0.8.0
Compare: v0.8.0...d78e3d3

Fixed

  • Keep collapsed workspace status visible (#2239)

Maintenance

  • Refine cpu optimization blog post

Preview build 2026-07-29-44b3adb12552

Pre-release

Choose a tag to compare

Preview build 2026-07-29-44b3adb12552

Built from 44b3adb12552 on master.
Base stable: v0.7.5
Compare: 0f10e14...44b3adb

Added

  • Print bundled agent skill and hint next cli steps
  • Switch IME to ASCII in prefix mode on Windows (Korean IME) (#1823)
  • Filter keybind help (#1832)
  • Add grok cli integration for native session restore (#1807)
  • Publish versioned release documentation

Fixed

  • Preserve parent agent ownership
  • Preserve windows path variables during install
  • Restore system notifications and sound playback (#2019)
  • Preserve navigate mode after pane focus (#1993)
  • Restore python3 commit hook
  • Select windows python command in commit hook (#1994)
  • Count ptmx master fds under devpts layouts (#1984)
  • Preserve linked worktree workspace labels
  • Ignore nested codex session reports (#1927)
  • Resolve relative plugin commands from plugin root
  • Keep focus on the current workspace when another self-closes (#1912)
  • Make native windows checks reliable (#1925)
  • Close workspace when api closes its last tab (#1899)
  • Preserve shift-enter in windows panes (#1909)
  • Delay agent prompt submission
  • Ignore empty clipboard writes
  • Restrict unapproved pull requests to bug fixes
  • Include SKILL.md in the package fileset (#1890)
  • Repaint after transient terminal resizes
  • Preserve prefix mode for modifier events
  • Preserve focus when closing a non-focused workspace (#1877)
  • Support non-us shifted keybindings (#1876)
  • Improve sidebar worktree hierarchy and reordering (#1873)
  • Avoid renders for passive mouse motion (#1872)
  • Add rust-analyzer to development shell
  • Copy retained mouse selections with keyboard shortcuts
  • Run pi worktree ext on background
  • Bundle modern ConPTY on Windows (#1828)
  • Harden hermes lifecycle detection
  • Report truncated pane reads
  • Make known-agent exit process-owned
  • Answer XTWINOPS size queries in panes
  • Prefer branded homepage search image
  • Consume handled url click gestures
  • Preserve kitty graphics during host repaints
  • Inherit host palette in pane queries (#1759)
  • Preserve kitty printable key releases
  • Preserve physical escape on windows
  • Respect OMP config directory override
  • Keep reading while pty input is blocked
  • Fall back to sh for remote path discovery

Performance

  • Skip rendering hidden pty updates
  • Replace agent spinners with static status marks
  • Avoid full pane renders for spinner animation (#1868)
  • Eliminate repeated workspace git discovery (#1842)

Maintenance

  • Remove flaky sound timing assertion
  • Remove approved contributor bypass
  • Add simplified chinese readme (#1990)
  • Update sponsor acknowledgements
  • Harden pull request workflow execution
  • Gate pull request review by scope
  • Consolidate project skills
  • Define maintainer and agent contribution workflows
  • Relicense herdr under apache-2.0
  • Centralize new terminal cwd selection
  • Name darwin nix toolchain inputs
  • Simplify macos input source ownership
  • Clarify opencode event state mapping
  • Simplify cursor session reporting
  • Simplify kimi lifecycle reporting
  • Simplify qoder session reporting
  • Replace pane mouse and clipboard internals
  • Add alternate-screen output fallback

v0.7.5

Choose a tag to compare

@github-actions github-actions released this 21 Jul 18:11
Immutable release. Only release title and notes can be modified.

Breaking Changes

  • Installed and linked plugins, including their enabled state, are now global to the current user instead of isolated by Herdr session. Plugins installed only in a named session on Herdr 0.7.3 must be installed or linked again. (#1174)

Added

  • Added a live-agent CLI facade with named start, atomic prompt, logical send-keys, and server-owned wait workflows. Agent startup targets an existing pane without changing topology, validates the requested interactive agent kind and strict agent name, and accepts native arguments after --.
  • Added transient declarative Agent view queries through agent.view.set/clear; filtered and sorted views now define sidebar, mobile, mouse, and agent-keybind navigation order.
  • Added one-shot plugin [[startup]] hooks for restoring plugin-owned state after server startup and live handoff.
  • Added per-token foreground, bold, and dim styling to expanded Space and Agent sidebar row layouts.
  • Added ui.sidebar_start_collapsed to launch Herdr with the sidebar collapsed. (#1463)
  • Added ui.prompt_new_workspace_name to ask for a workspace name before interactive TUI creation.
  • Added macOS support for the HERDR_AGENT=<agent> foreground-process hint, allowing agents hidden behind host-visible wrappers such as nono to use the named agent's screen manifest. (#679)

Changed

  • Agent commands now accept only a unique live agent name or the pane ID currently hosting that agent. Names are cleared when the occupant exits, is released, or is replaced. The old top-level wait commands were replaced by agent wait and pane wait-output, and agent send was replaced by agent send-keys.
  • The session navigator now uses connected tree glyphs, groups matches by workspace, and automatically selects the first result when a search begins. (#1611)

Fixed

  • CLI requests now return a machine-readable protocol_mismatch error when the client and server protocols differ, while recovery commands remain available. (#1435)
  • Linux sound notifications now terminate and reap audio players that do not exit, preventing unavailable audio from leaving CPU-bound mpg123 processes behind. (#1622)
  • Oversized bracketed text pastes are now rejected with a client-local notification instead of disconnecting the client. (#1665)
  • Agent prompt waits now report agent_prompt_stalled after five seconds without an observed state change instead of waiting indefinitely after an ineffective submission.
  • herdr config check now reports unknown config keys with their full paths instead of treating ignored typos as valid configuration. (#1573)
  • Codex panes with customized static terminal titles now fall back to the live working footer instead of remaining idle, while OSC activity remains preferred. (#1563)
  • Grok panes now preserve working and blocked state from terminal signals and pinned background-work status instead of falling back to idle mid-turn.
  • OpenCode lifecycle reports are now serialized so out-of-order plugin events cannot leave an idle pane marked working. (#1519)
  • Kimi question prompts now report blocked until the user answers or dismisses them.
  • Pi lifecycle reporting now uses settled events, preventing transient message boundaries from publishing an idle state mid-turn.
  • The Pi, OMP, OpenCode, and Kilo Code integrations can now be installed on Windows and report lifecycle state and native session identity through Herdr's named-pipe API. (#1531)
  • Named agent prompts now honor live bracketed-paste mode before sending Enter, preserving OpenCode text such as A != B instead of triggering shell mode. (#1525)
  • New panes, tabs, layouts, and workspaces using new_cwd = "follow" now inherit the foreground process-group leader's working directory instead of an unrelated helper process directory. (#1472)
  • Cached pane working directories no longer trigger repeated filesystem checks, avoiding slow sidebar rendering on network filesystems such as Ceph. (#1603)
  • Windows foreground-process snapshots are now shared across panes, reducing idle CPU use in sessions with many panes. (#1158)
  • Terminal diff streams now batch contiguous writes, reducing the visible wave effect while scrolling pane history. (#283)
  • A standalone Escape arriving beside another key is now preserved as its own input instead of being combined into a fabricated Alt chord. (#541)
  • Pane viewports that were following live output now continue following after a resize.
  • Mouse selections now remain visible when ui.copy_on_select = false while clipboard writes stay disabled. (#1471)
  • Workspace close confirmation now shows the current workspace name instead of a stale or unrelated label. (#1364)
  • Plugin command arrays now preserve whitespace-only arguments. (#1594, #1613)
  • Plugins can now be installed or linked while no Herdr server is running. (#1670)
  • Remote attach now discovers Herdr installed in mise's canonical tool path before offering to install a sidecar binary. (#1201)
  • Noninteractive update, plugin, integration, sound, custom-command, and Git subprocesses no longer flash console windows on Windows. (#1468)
  • Live handoff now preserves installed plugins and no longer lets the next plugin installation overwrite the existing registry. (#893)
  • herdr agent wait now returns agent_not_running promptly when its target pane closes instead of waiting for the full timeout. (#1439)
  • Pane graphics streams now shut down cleanly when a client disconnect races stream teardown.

Preview build 2026-07-21-0f10e1453a7f

Pre-release

Choose a tag to compare

Preview build 2026-07-21-0f10e1453a7f

Built from 0f10e1453a7f on master.
Base stable: v0.7.5
Compare: v0.7.5...0f10e14

Fixed

  • Add agent automation to docs sidebar

Preview build 2026-07-17-813fec141faa

Pre-release

Choose a tag to compare

Preview build 2026-07-17-813fec141faa

Built from 813fec141faa on master.
Base stable: v0.7.4
Compare: e907e6a...813fec1

Fixed

  • Prevent remaining subprocess console flashes
  • Detect grok background work from pinned status
  • Detect grok state from terminal signals
  • Follow foreground process group leader cwd
  • Preserve selection when auto-copy is disabled (#1496)
  • Suppress noninteractive process windows

Performance

  • Adopt libghostty integration improvements

Maintenance

  • Support headless console runners
  • Gate Greptile reviews by contributor approval
  • Update vendored libghostty-vt
  • Extract active tab surface rendering