Skip to content

Releases: ogulcancelik/herdr

Preview build 2026-07-16-e907e6a36646

Pre-release

Choose a tag to compare

Preview build 2026-07-16-e907e6a36646

Built from e907e6a36646 on master.
Base stable: v0.7.4
Compare: v0.7.4...e907e6a

Added

  • Configure collapsed sidebar startup state
  • Add configurable sidebar token styles
  • Support agent environment hints

Fixed

  • Hide agent manifest curl windows
  • Stop agent wait when pane closes (#1488)
  • Preserve plugins during live handoff
  • Handle pane graphics stream disconnect race
  • Guard cli requests against protocol mismatches (#1453)

Maintenance

  • Enable zed lsp
  • Wait for multi-client resize propagation

v0.7.4

Choose a tag to compare

@github-actions github-actions released this 15 Jul 16:36

Added

  • Added session-modal popup floating terminal panes for type = "popup" custom command keybindings and plugin panes, with optional cell or percentage sizing and no changes to the tiled tab layout. (#1125)
  • Added ui.copy_on_select to disable automatic clipboard copying after mouse selection while keeping the selection visible.
  • Added configurable row layouts for expanded Space and Agent sidebar entries, including built-in display tokens, per-agent overrides, custom metadata tokens, and pane/workspace metadata reporting through the CLI and socket API.
  • Added independent row_gap settings for expanded Space and Agent sidebar entries.
  • Copy mode now supports literal smart-case search with / and ?, repeating with n and N, match highlighting, and tmux-style cross-line w/b/e word motions. (#1230)
  • Added Maki agent support. (#1301, #1302, thanks @tontinton)
  • Added a searchable, version-matched configuration reference and a troubleshooting guide covering duplicate terminal key events, modified-arrow shell bindings, updates, remote access, and logs. (#1116, #1370)

Changed

  • Expanded Space and Agent sidebar entries now use a packed layout by default; set the corresponding row_gap to 1 to restore the previous spacing.
  • Refreshed the bundled Herdr agent skill for current public workspace, tab, and pane ids and the current CLI/API workflow. (#1297)
  • Expanded Japanese and Simplified Chinese CLI documentation with shell completion setup and API schema usage. (#1151)

Fixed

  • Collapsed Agent sidebar rows now follow the same ordering and click targets as the expanded panel, and their shortcut numbers are assigned by visible list position instead of repeating across workspaces. (#1168, #1344)
  • Shifted indexed bindings such as prefix+shift+1..9 now match terminals that report the corresponding punctuation characters. (#1184)
  • Plugin-driven tab renames now immediately refresh tab-bar geometry and labels. (#1111, #1179, thanks @kovalov)
  • New tabs, splits, layouts, and workspaces configured to follow the foreground directory now start from the focused pane's current working directory. (#1245)
  • Amp, Codex, and Claude Code detection now recognizes current active-turn UI variants, including reordered Codex title spinners and Claude /btw turns. (#1208, #1281, #1366)
  • Pi lifecycle state now reanchors after native session replacement, avoiding working panes that remain idle or tied to an abandoned session. (#943, #1189, thanks @dmmulroy)
  • OMP lifecycle reports are now retried when startup races drop the first report. (#1310)
  • WSL now uses Herdr's drawn cursor by default, matching the native Windows workaround for host cursor flicker. (#930)
  • Live handoff now preserves explicit named-session socket paths, waits for slower server shutdowns, and flushes API responses before the old server exits. (#1180, thanks @dvic)
  • The Windows installer no longer rewrites an existing config file or creates a duplicate onboarding line during first-run setup. (#1162)
  • Config diagnostics now reach CLI-only and attached-client startup paths reliably and clearly identify fallback configuration behavior.
  • Detached custom command children are now reaped after exit instead of accumulating zombie processes. (#1360)
  • Renamed single tabs now remain visible in the Agents sidebar instead of losing their tab label. (#1369)
  • Documentation search results are now scoped to the active locale and stable or preview channel.
  • Horizontal wheel and trackpad events now reach pane applications that enable mouse reporting. (#1349)
  • Copy mode $ and End now stop at the final visible character on the row instead of jumping to the pane edge. (#1405)
  • Split SGR mouse reports are now reassembled across input reads, and a preceding standalone Escape is preserved instead of being swallowed or leaked as mouse bytes. (#1334, #1382)
  • Linux foreground-process discovery now stays within Herdr pane process trees instead of scanning unrelated host processes, reducing CPU use on busy multi-user systems. (#1399)
  • Single-codepoint emoji chosen from the Windows emoji picker now reach panes when WezTerm's kitty keyboard support sends them as CSI-u events with associated text. (#1404)
  • Outer-terminal focus gained and lost reports now reach the focused pane when its application enables focus reporting, restoring Neovim file autoreload and other focus-aware terminal behavior. (#1337)
  • Native Windows servers now detach from the terminal console that launched them, so closing WezTerm, Windows Terminal, or another host terminal no longer stops persistent pane processes. (#1329)
  • Windows API clients now remain connected while waiting for initial named-pipe request bytes, so status server, api snapshot, and other socket commands no longer intermittently fail with BrokenPipe. (#1279)
  • herdr --remote now installs remote helper binaries without routing the binary stream through a multiline /bin/sh -c command, fixing installs for non-POSIX login shells such as xonsh. (#1203, thanks @nhumrich)

Preview build 2026-07-15-50aaa2ec046e

Pre-release

Choose a tag to compare

Preview build 2026-07-15-50aaa2ec046e

Built from 50aaa2ec046e on master.
Base stable: v0.7.4
Compare: v0.7.4...50aaa2e

Changed

  • Rebuilt preview from the current master branch.

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 07 Jul 23:00

Fixed

  • The session navigator now keeps the active search query when leaving and re-entering search focus, and its footer now shows shortcuts for the current input mode. (#1115, #1140, thanks @liby)
  • Re-focusing an already-focused done agent or pane through the socket API now marks it seen instead of leaving stale done status in API responses.
  • Windows foreground-process detection now ignores cyclic process-parent snapshots instead of growing memory until the server aborts. (#1083)
  • Terminal redraws now hide the cursor inside synchronized output, reducing focused-pane cursor flicker during active redraws. (#967)
  • Headless render streams no longer scan visible plain-text URLs during rendering, reducing redraw work while preserving OSC 8 hyperlink metadata.
  • The workspace picker once again honors navigate-mode workspace up/down keys, including custom bindings, after prefix+w. (#1149)

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:26

Added

  • 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)
  • ANSI undercurl styles now render in panes. (#895)
  • 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)

Preview build 2026-07-07-f5354780e4ef

Pre-release

Choose a tag to compare

Preview build 2026-07-07-f5354780e4ef

Built from f5354780e4ef on master.
Base stable: v0.7.2
Compare: v0.7.2...f535478

Fixed

  • Keep cursor hide inside sync output
  • Guard windows process tree cycles
  • Clear done status on repeated pane focus
  • Preserve navigator search commands (#1140)

Maintenance

  • Ignore microsoft apt repos in artifact builds
  • Clear zig cache before windows checks

Preview build 2026-07-06-4dae557eefd9

Pre-release

Choose a tag to compare

Preview build 2026-07-06-4dae557eefd9

Built from 4dae557eefd9 on master.
Base stable: v0.7.1
Compare: 3459798...4dae557

Added

  • Add japanese and simplified chinese docs with i18n, translation issue flow
  • Add public stats page at herdr.dev/stats
  • Expose session snapshot through cli
  • Emit layout update events for runtime layout changes
  • Add mastracode integration (#788)
  • Paginate plugins page with show more button
  • Follow focused pane cwd for new workspaces
  • Inject powershell prompt shell integration for cwd reporting on windows

Fixed

  • Detect grok build working and blocked states from current ui chrome (#1055)
  • Retry pi state socket reports
  • Support custom command keybindings on windows
  • Switch prefix ASCII input source on the foreground client (#1016)
  • Wait for server stop socket cleanup
  • Allow foreground agent session takeover
  • Kitty graphics streams freeze on partial updates and leak host images (#948)
  • Restore windows recent pane reads
  • Preserve pi and omp working status across reloads (#984)
  • Scope empty image paste bridge to remote
  • Forward page keys to primary-screen pagers
  • Keep windows wait connections open
  • Stop sgr mouse sequences leaking into panes
  • Leave context menu after closing tab
  • Draw host cursor on windows
  • Keep copy feedback above retained pane updates
  • Allow windows arm64 installer fallback
  • Replace stale agent session from foreground reports
  • Preserve windows backspace input
  • Follow cached cwd for new tabs
  • Open scrollback editor on windows without sh

Performance

  • Cache foreground process group scans

Maintenance

  • Use homebrew zig for preview macos builds
  • Accept common environment aliases in issue gate
  • Replace apple-sdk wrappers with xcbuild (#995)
  • Wait for client frame before crash assertion
  • Keep windows smoke cleanup non-fatal
  • Wait for windows smoke pane output
  • Route headless deferred creates through runtime helpers
  • Route cli pane placement through runtime adapters
  • Route cli workspace tab worktree through runtime adapters
  • Route tui runtime mutations through typed adapters
  • Route worktree tui actions through runtime wrappers
  • Route pane layout tui actions through runtime wrappers
  • Add mastracode integration docs and website agent grid card
  • Add trendshift badge
  • Clarify agent instruction scope

Preview build 2026-06-30-3459798b606d

Pre-release

Choose a tag to compare

Preview build 2026-06-30-3459798b606d

Built from 3459798b606d on master.
Base stable: v0.7.1
Compare: 7811d84...3459798

Added

  • Add shell completions
  • Hide single-tab tab row
  • Add hidden collapsed sidebar mode
  • Add terminal session control stream
  • Add terminal session observe stream
  • Expose api schema from cli
  • Generate socket protocol schema
  • Add session snapshot api
  • Emit placement mutation events
  • Render worktrees as a tree in the mobile switcher
  • Agents-first mobile switcher with global header summary

Fixed

  • Extend local server startup wait
  • Keep remote sessions alive across disconnects
  • Resolve split current from caller pane
  • Opencode β€” report subagent permission prompts as blocked + handle session.status object form (#838)
  • Render ansi undercurl styles
  • Reuse remote ssh connection
  • Add copy mode ctrl page navigation
  • Preserve windows win32 bracketed paste
  • Discover package-managed remote herdr installs
  • Recover omp resume and blocked states
  • Keep powershell panes alive after agent ctrl-c
  • Include api schema in nix source
  • Remove focused pane title border marker
  • Route tui modal mutations through api authority
  • Encode ctrl slash as ctrl underscore
  • Keep active auto-named tab readable
  • Compact indexed keybind help ranges
  • Measure ui labels by display width
  • Answer osc 12 cursor color queries
  • Avoid pi release on internal session reloads (#800)

Maintenance

  • Route headless workspace tab mutations through runtime dispatch
  • Route tui mutations through runtime dispatch
  • Accept non-empty issue update channels
  • Add skills cli install guidance
  • Refactor readme and sharpen site positioning
  • Route tui mutations through runtime authority
  • Tighten issue reporting guardrails
  • Split integration module

Preview build 2026-06-25-7811d84f15f1

Pre-release

Choose a tag to compare

Preview build 2026-06-25-7811d84f15f1

Built from 7811d84f15f1 on master.
Base stable: v0.7.1
Compare: v0.7.1...7811d84

Fixed

  • Ignore modifier-only windows input
  • Render cjk pane border labels
  • Preserve alacritty input on windows
  • Detect antigravity background-task wait without /tasks hint

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 13:47

Added

  • Added [update].version_check and [update].manifest_check so background Herdr version checks and remote agent-detection manifest checks can be disabled independently. Manual herdr update and 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, or fence, allowing Herdr to use the named agent's screen manifest when /proc cannot expose the real command. (#679)
  • Added ui.pane_borders and ui.pane_gaps to 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+V as a clipboard-image paste trigger, so pane apps such as Vim and Neovim receive block-visual Ctrl+V even when the desktop clipboard contains an image. herdr --remote keeps keys.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_switch can also switch Herdr's own UI between configured dark_name and light_name themes. (#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 omp in the same pane, and Herdr can resume it with omp --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_user accept 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-pty patch, 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 --remote startup over high-latency links. (#753)