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 MastraCode integration support with lifecycle state reports and native thread restore. (#337, #788, thanks @wardpeet)
Added ui.sidebar_collapsed_mode = "hidden" to make a collapsed sidebar use zero width while keeping the existing compact rail as the default. (#842)
Added herdr completion <shell> / herdr completions <shell> to generate shell completion scripts for bash, elvish, fish, PowerShell, and zsh. (#435)
Added session.snapshot to bootstrap client runtime state in one socket API response before subscribing to events.
Added herdr api schema to inspect the bundled socket API schema, with --json for the full JSON Schema document and --output PATH for file output.
Added layout.updated socket events so protocol clients can keep tab layout snapshots current after pane split, resize, swap, move, zoom, and layout mutations.
Added pane scroll metrics to pane socket API responses and pane.scroll_changed subscriptions for clients that need to show when a pane is scrolled back.
Added herdr terminal session observe for read-only live ANSI terminal streams that bridge processes can consume as newline-delimited JSON.
Added herdr terminal session control for bridge processes that need live ANSI frames plus input, resize, scroll, release, and takeover authority.
Added ui.hide_tab_bar_when_single_tab to hide the tab row when a workspace has one tab. (#448)
Added Japanese and Simplified Chinese website docs.
Changed
The mobile switcher now starts from an agents-first summary and renders worktrees as a tree, making narrow terminals easier to scan.
macOS prefix input-source switching now runs on the foreground client, so non-Latin input sources are restored reliably after prefix mode. (#774, #1016, thanks @ppggff)
Nix packaging now uses xcbuild instead of custom Apple SDK wrappers for Darwin builds. (#995, thanks @arunoruto)
Fixed
Windows clients now send shifted punctuation such as !, ?, and : as literal text to Kitty-keyboard-mode pane apps, fixing Kiro CLI TUI prompts while preserving modified key chords. (#1066, #1105)
Alt-Shift letter chords are now preserved instead of being collapsed into plain uppercase input. (#1088)
Antigravity background-task waits are now detected even when the UI does not show a /tasks hint. (#755)
herdr --remote now prints clean remote attach failures and SSH authentication guidance instead of Rust Debug-formatted I/O errors when SSH authentication is denied. (#1034)
herdr server stop now stops Windows named-pipe servers instead of failing with named pipes do not support I/O timeouts. (#1113)
herdr server stop now waits until both server sockets are unreachable before returning, avoiding an immediate first-start failure when restarting right after replacing the binary.
macOS herdr --remote clients now bridge Finder-dropped image files to the remote pane instead of forwarding the local file path as typed text. (#828)
Grok Build agent detection now tracks the current Grok Build UI: panes report working while responses, tools, and subagents run, and blocked on permission prompts and question dialogs, instead of falling back to idle mid-turn. (#1017, #1055, thanks @TonyxSun)
GitHub Copilot CLI detection now recognizes the newer Esc interrupt prompt as working. (#1119, #1120, thanks @LaneBirmingham)
Unix local Herdr clients no longer treat empty bracketed paste as a clipboard-image bridge; herdr --remote keeps using it for local-desktop image paste over SSH. (#986)
Custom command keybindings now run through cmd.exe /d /c on Windows instead of /bin/sh, so type = "pane" and type = "shell" bindings can launch native Windows commands. (#1041)
Plain PageUp/PageDown now reach primary-screen pager apps such as less -X and Git diff when they enter application cursor mode, while shell transcripts still use Herdr pane scrollback. (#953)
Copy mode now supports Ctrl-page navigation, keeps the Herdr prefix key available while copying, and restores the copy context correctly after prefix commands. (#681, #885, #1092, thanks @reobin)
prefix+e scrollback editor panes now open on Windows without trying to run /bin/sh; Windows uses VISUAL, then EDITOR, then notepad.exe as the fallback editor. (#914)
herdr pane split --current now resolves to the calling Herdr pane instead of the UI-focused pane when run inside a pane. (#902)
Native Windows clients running inside Alacritty now preserve mouse reports and ctrl+j input instead of leaking mouse escape sequences into panes. shift+enter remains dependent on whether the outer terminal reports it as a distinct modified Enter key. (#792)
Windows clients now preserve bracketed paste, Backspace, modifier-only keys, host cursor drawing, native clipboard copies, recent pane reads, and wait connections across the native input path. (#670, #795, #907, #920, #930, #962, #963, #1067)
New tabs and workspaces now follow the focused pane's current directory more reliably, including PowerShell panes that report cwd through prompt shell integration on Windows. (#912, #919)
Pi and OMP integration state now survives internal session reloads, recovers after resumed sessions such as omp -c, and reports Ask/tool approval waits as blocked instead of leaving the pane working or stuck on the previous session. (#800, #879, #984, thanks @dmmulroy)
Pi state socket reports are now retried, reducing stale sidebar state when the report races server startup. (#1049)
OpenCode now reports subagent permission prompts as blocked and handles object-form session.status events. (#838, thanks @soar)
Remote attach now discovers compatible Homebrew, mise, and Nix profile installs before offering to install a sidecar binary to ~/.local/bin/herdr. (#840)
herdr --remote sessions now keep the remote server in its own login-independent session and preserve compatible running servers after helper binary updates, so network drops should disconnect only the client instead of killing remote panes.
herdr --remote now reuses one OpenSSH connection across setup probes, installs, server checks, and the final bridge when [remote].manage_ssh_config is enabled, so password-based hosts prompt once instead of once per setup command. (#888)
Foreground agent session reports can now replace stale saved session references, so resumed panes do not stay tied to an older agent session. (#943)
Kitty graphics panes now repaint streaming image updates reliably and delete replaced host images instead of leaking them. (#947, #948, thanks @DevSrSouza)
Pane apps that query OSC 12 cursor color now receive a response. (#806)
CJK pane border labels, compact keybinding help ranges, and active auto-named tabs now measure by display width, avoiding broken alignment and unreadable labels. (#799, #810, #817, #829)
Ctrl+/ is now encoded as Ctrl+_, matching terminal expectations for pane apps. (#847)
PowerShell panes now stay alive after agent Ctrl+C. (#860)
SGR mouse reports no longer leak into pane input after host-side handling. (#939)
Wrapped pane links now preserve their target instead of being truncated across soft-wrapped lines. (#1098)
Linux foreground process-group scans are cached, reducing idle CPU in large sessions. (#936)
Session autosaves now run off the main loop, reducing UI stalls in busy sessions.
Worktree removal now focuses the parent workspace after closing the worktree workspace. (#1004)
Closing a tab from the context menu now exits the menu cleanly. (#945)
Copy feedback now stays visible above retained pane updates. (#555)
Windows ARM64 installer fallback now works when the normal checksum path is unavailable. (#897)