Added
- Added native agent session restore behind
[session] resume_agents_on_restore, allowing supported Pi, Claude Code, Codex, OpenCode, and Hermes panes with current official integrations to restart into their previous agent conversation after a Herdr server restart. (#233) - Added opt-in pane screen history across full server restarts with
[experimental] pane_history = trueand Settings > Experiments > pane screen history. (#217, #248, thanks @icedac) - Added a session navigator at
prefix+gwith a searchable workspace/tab/pane tree, agent state filters, mouse switching, and keyboard navigation. (#157) - Added configurable navigate-mode movement bindings for workspace and pane navigation keys. (#193)
- Added a configurable
last_panekeybinding action for tmux-style back-and-forth navigation to the last focused pane across workspaces and tabs. It is unset by default. (#287) - Added scrollback support to direct agent terminal attaches. Mouse wheel and plain PageUp/PageDown now scroll the attached terminal viewport, while terminal apps that request mouse or alternate-scroll input still receive those events. The client/server protocol is now version 11.
- Added
ui.redraw_on_focus_gainedto keep the existing full redraw on outer-terminal focus gain by default while allowing users to opt out of the visible refresh. (#282) - Added
ui.mobile_width_thresholdto configure the terminal width at which Herdr switches to the mobile single-column layout. (#317) - Added
--handoffforherdr updateandherdr --remoteto opt into live server handoff for supported running servers. Plain update and remote attach use the normal restart/stop flow by default. - Added
pane.report_metadataandherdr pane report-metadataso user hooks can customize pane titles, displayed agent names, compact status labels, and visible state labels without taking over integration-owned lifecycle or session state. (#36) - Added tmux-style double-click token copy in panes, with temporary copy feedback and mouse passthrough preserved for terminal apps that request mouse input. (#142, #296, thanks @babymastodon)
- Added Ctrl-click URL opening inside panes for OSC 8 hyperlinks and visible
http://orhttps://URLs when the host terminal sends the modified click to Herdr. (#307) - Added Qoder CLI detection, terminal state heuristics, and
herdr integration install qoderclihook support. (#308, #309, thanks @wayneleelwc)
Fixed
- Remote bootstrap now downloads exact-version release assets for Homebrew and Nix clients instead of copying package-manager-managed local binaries into
~/.local/bin/herdr. website/latest.jsonnow stores asset URLs for archived releases underreleases[version].assets, so remote bootstrap can fetch the current client version even when Homebrew and the top-level latest release are temporarily out of sync.- App and server event queues no longer stall under load, improving delivery of pane and agent state updates. (#265)
- Agent status subscriptions now deliver already-matching states and event-hub notifications reliably for waits and automation. (#288, #295)
- Codex background terminal waits are detected more reliably, and idle agent checking uses less CPU. (#300)
- Split OSC 10/11 host color replies are buffered correctly, so terminal apps still receive host foreground/background color responses when replies arrive in chunks. (#306, #310)
herdr session stopis more reliable when the server closes the socket early or stops without sending a full response.- The OpenCode integration now releases pane ownership on plugin dispose, preventing stale integration state after OpenCode exits. (#314)
- Linux sound alerts no longer fall back to
aplayfor mp3 files, preventing static noise on systems withoutpaplay. Herdr now tries mp3-capable players such aspw-play,ffplay,mpg123, andmpvinstead. (#290)