u/darst94

▲ 12 r/herdr

herdr-blink - yes, yet another fuzzy session picker

I know. Every terminal multiplexer gets about 14 of these, and herdr is no exception. I really did look around first. I tried a few options (herdr-navigator, herdr-bar, etc.) and none of them were quite what I wanted:

  • The built-in goto picker has quick status filters (blocked / done / working / idle) that I liked a lot. One key and you see only the agents waiting on you. Its search wasn't good enough for me, though.
  • The others had better search but not those filters.

I wanted both: the goto filters, plus real fuzzy search over agent name, pane/tab title, and workspace. So I did the reasonable thing and spent more time building a picker than I'll ever save by using it.

herdr-blink: a fuzzy agent switcher that replaces goto.

  • Agents that need me come first: blocked, then done, then working, then idle. Within each group, the most recently used is at the top.
  • The quick filters are kept: b / d / w / i.
  • fzf-style search across everything: harness, status, title, tab, workspace, repo, branch, and cwd. Space-separated terms can each match a different field, so claude api blocked does what you'd expect. 'exact, ^prefix, and !exclude work too.
  • Vim Motions: hjkl + duplication for ↓↑ and ][
  • Three views: a flat agent list, a workspaces → tabs → panes tree, and a git repos → worktrees → panes tree. The default view is configurable.
  • Harness logos in Kitty-graphics terminals. Yes, this is important.
  • It opens fast. It's one socket call, with no git subprocesses.

Install:

herdr plugin install dartyuhov/herdr-blink

Then bind dartyuhov.blink.open to a key; the README has the snippet. Feedback and bug reports are welcome.

PS: The video was made with explainroo.

PPS: Unfortunately, it doesn't work with remote (SSH) sessions yet (see this).

u/darst94 — 13 days ago