You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 = true and Settings > Experiments > pane screen history. (#217, #248, thanks @icedac)
Added a session navigator at prefix+g with 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_pane keybinding 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_gained to 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_threshold to configure the terminal width at which Herdr switches to the mobile single-column layout. (#317)
Added --handoff for herdr update and herdr --remote to 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_metadata and herdr pane report-metadata so 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:// or https:// URLs when the host terminal sends the modified click to Herdr. (#307)
Added Qoder CLI detection, terminal state heuristics, and herdr integration install qodercli hook 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.json now stores asset URLs for archived releases under releases[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 stop is 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 aplay for mp3 files, preventing static noise on systems without paplay. Herdr now tries mp3-capable players such as pw-play, ffplay, mpg123, and mpv instead. (#290)