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
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.