Added
- Added
[update].version_checkand[update].manifest_checkso background Herdr version checks and remote agent-detection manifest checks can be disabled independently. Manualherdr updateand bundled/local detection manifests still work when the background checks are disabled. (#677) - Added
HERDR_AGENT=<agent>as a Linux foreground-process hint for agents hidden behind wrappers such as VMs, Bubblewrap, orfence, allowing Herdr to use the named agent's screen manifest when/proccannot expose the real command. (#679) - Added
ui.pane_bordersandui.pane_gapsto make split pane dividers and spacing configurable. (#271)
Changed
- Removed the Agents panel workspace/all filter. The panel now always shows all agents, defaults to grouped-by-space ordering, and can switch to priority ordering with
ui.agent_panel_sort = "priority". (#318) - User keybindings now displace conflicting built-in defaults during config load, so overriding a default binding no longer leaves both actions attached to the same key. (#747)
- Worktree creation now checks out an existing local branch when the requested branch already exists instead of failing by trying to create it again. (#729)
- Worktree operations started through the socket API and plugin/UI flows now defer long-running Git work until the app runtime can drive it, keeping clients responsive and preserving plugin lifecycle events for worktree-created panes. (#657, #662, #686)
- OMP, OpenCode, Pi, Devin, and other official hook integrations now scope lifecycle and session reports to the intended root agent process more reliably, reducing stale or cross-process session adoption after restarts, nested commands, and new sessions. (#614, #712, #719, #765)
Fixed
- Windows Terminal multiline text paste now reaches pane apps as one bracketed paste, so OMP, Pi, and similar prompts no longer submit each pasted line separately. Plain Esc, Shift+Enter, mouse, focus, resize, and Unicode paste handling are preserved on the Windows client path. (#670)
- Local Herdr clients no longer treat raw
Ctrl+Vas a clipboard-image paste trigger, so pane apps such as Vim and Neovim receive block-visualCtrl+Veven when the desktop clipboard contains an image.herdr --remotekeepskeys.remote_image_paste = "ctrl+v"by default. (#647) - Herdr now refreshes cached host terminal colors when terminals report a light/dark color-scheme change, so pane apps that query OSC 10/11 no longer need detach/attach to see updated default colors. Opt-in
[theme].auto_switchcan also switch Herdr's own UI between configureddark_nameandlight_namethemes. (#675) - Full-lifecycle hook agents can now recover when an old release/report sequence belongs to a previous agent generation. Herdr keeps process-exit validation active under lifecycle authority and re-anchors hook sequence guards after fresh session references or proven process exits. (#684)
- OMP now reports a native session reference, so an OMP pane reappears in the Agents panel after exiting and rerunning
ompin the same pane, and Herdr can resume it withomp --resume=<session>. Previously the released lifecycle hook stayed suppressed until a server restart. (#614) - Host terminal color query (OSC 10/11) replies that arrive split at their escape introducer no longer leak as text like
11;rgb:...into the focused pane, most visible when launching agents that probe terminal colors on startup. (#549) - Long CJK Git branch names in the sidebar now truncate by display width instead of overflowing or cutting at the wrong cell boundary. (#644)
- Temporary pane commands launched from API flows no longer steal focus from the previously focused pane after they finish. (#658)
- Root agent session restore now ignores child process reports that would otherwise overwrite the saved session for the owning pane. (#712)
- Kitty file-transfer media queries are now answered, allowing pane apps that rely on kitty graphics file support to detect image/file media capability correctly. (#732)
- Idle or slow clients no longer block server writes to other clients while the blocked client is waiting for output. (#726)
- GitHub Copilot CLI
ask_useraccept prompts are now detected as blocked so the Agents panel shows that the pane is waiting for input. (#725) - Pane reads now skip wide-character spacer cells, avoiding duplicated or malformed output around double-width characters. (#698)
- Split pane border intersections now use the active pane color consistently. (#742, thanks @cullendotdev)
- The Windows installer checksum fallback no longer depends on
Get-FileHash, improving compatibility with constrained PowerShell environments. (#751) - Pi launched through npm wrappers on Windows is now detected as Pi instead of a generic wrapped process. (#754)
- Windows builds now force the system ConPTY path through a vendored
portable-ptypatch, avoiding the bundled-path startup failure seen in affected Windows environments. (#761) - Key release events that fall back to encoded input no longer double-send text into pane apps. (#769)
- Remote clients now allow a longer initial handshake, improving
herdr --remotestartup over high-latency links. (#753)