This Tmux "Rewrite" Is Actually Brilliant
developer-toolsterminaltmuxmultiplexerai-agentsrustcliherder
Verdict: adopted-for-homelab-kept-tmux-locally
TL;DR
- DevOps Toolbox (Omer, a self-professed tmux power user with published tmux plugins) reviews Herder (herdr.dev) β the Rust "tmux rewrite" agent-native terminal multiplexer β and, despite arriving maximally skeptical of "multiplexers for agents," mostly converts.
- What won him over isn't the agent features but the package: beautiful defaults (vs "terrible tmux default setups"), a self-explanatory hint bar and keybind popup, mouse-first everywhere, marking-copies-to-clipboard, an 11MB binary that installs via curl in under a second, and a full CLI wrapping a JSON API for scripting.
- The genuinely novel ideas: workspaces as an organizational layer between tmux sessions and windows ("sessions in tmux never felt like first-class citizens"); an agents panel that auto-detects running agents (Pi, OpenCode) with status colors and notification sounds;
--remoteattach that reads your SSH config; and live handoff β migrate a running session to an updated or remote server keeping layout and history ("tmux-resurrect on steroids"). - Rough edges: agent renaming is CLI-only with opaque IDs and JSON output, no floating panes, no last-tab jump; and he's unmoved by mobile use ("I'm not one to believe anyone actually codes through their phone") and by 50-agent-swarm LinkedIn slop.
- Verdict: keeps tmux locally, adopts Herder as the daily driver on his home-lab box where the agents actually run β the second independent Herder endorsement in the archive after DHH made it the center of his 16-thread setup.
Key moments
- [00:01] The skeptic's opening β "too many projects claiming to be the tmux killers or the multiplexer for agents"; AI-slop-on-GitHub jab lands in the first 20 seconds (frame_0001.jpg).
- [01:21] What Herder is β agent runtime in your terminal; comparison table vs tmux, Zellij, and "worktree orchestrators"; persistent sessions, remote SSH attach, agent state, direct attach.
- [03:16] The creator β Can Γelik, Turkish developer, full-time on Herder, also contributes Pi extensions (LinkedIn profile shown, frame_0015.jpg: "founder, herdr.dev β terminal native runtime for AI coding agents").
- [03:45] Install β one curl, 11MB binary, sub-second install; first-run settings pane, sidebar + empty workspace (frame_0033.jpg shows the herdr status bar).
- [05:03] The sleeper feature β the self-explanatory bottom bar: "I always wanted to build this for tmux and never got around to it... my god, it's good."
- [05:58] Sponsor β Arcade, an actions runtime for agent authorization (frame_0031.jpg).
- [07:03] Workspaces explained β an in-between layer "letting you containerize a bunch of windows and splits without detaching"; "I used tmux for probably 4 years before hearing about sessions."
- [08:20] Agents panel β running Pi auto-registers as an idle entry; task progress reflects live; done = color coding + notification + configurable sounds ([09:11]).
- [11:49] Remote & mobile β
herder --remote boxreads SSH config and attaches ("that's brilliant"); works via Termius on iOS (frame_0045.jpg) but "this is tiny... I don't see the huge appeal." - [14:52] Live handoff β transfer a running session to a new/updated/remote server keeping layout and terminal history; only works with Herder's own updater, not Homebrew/mise.
- [15:51] The billion-dollar question β verdict: tmux stays local, Herder becomes the home-lab daily driver where the agents live ([16:17]).
Hook microscope (0-10s)
- Frames: 20 at 2 fps
- Word-level transcript (33 words):
[ 0.00s] I'm
[ 0.22s] a
[ 0.26s] big
[ 0.46s] believer
[ 0.78s] in
[ 1.04s] simplicity
[ 1.80s] especially
[ 2.14s] when
[ 2.70s] it
[ 2.86s] comes
[ 3.18s] to
[ 3.52s] software
[ 4.08s] and
[ 4.10s] even
[ 4.38s] more
[ 4.66s] so
[ 4.98s] when
[ 5.08s] it
[ 5.18s] comes
[ 5.48s] to
[ 5.64s] my
[ 5.76s] workflow
[ 6.76s] Simplicity
[ 7.02s] doesn't
[ 7.40s] mean
[ 7.58s] raw
[ 7.94s] dogging
[ 8.48s] It
[ 8.52s] means
[ 8.82s] sleek
[ 9.58s] fast
[ 9.80s] and
[ 9.92s] easy
Hook pattern: skeptic's-conversion setup. No cold-open montage β he opens with values ("I'm a big believer in simplicity... sleek, fast, and yes, fun") and immediately establishes hostile priors: AI slop on GitHub, "too many projects claiming to be the tmux killers," and his on-record dismissal of a previous agent multiplexer ("just not worth the hassle"). The hook is the implicit promise that something overcame this skepticism β "slowly... I started thinking, hey, these splits are actually nicer than what I currently have" [00:39]. Credibility-through-reluctance: the review's persuasive power is pre-loaded in the first 60 seconds by how hard he was to win.
Editorial profile
- Shots: 51
- Cuts/min: 3.06
- Mean shot length: 19.6s
- Median shot length: 9.59s
- Talking-head ratio: n/a (opencv not installed)
Terminal-creator review (~3 cuts/min): talking-head anchor (mechanical-keyboard pegboard set) alternating with privacy-blurred terminal screencasts framed in stylized bezels, split-keyboard top-down B-roll, one integrated sponsor read; dry skeptic-first narration that earns its eventual praise.
Quotable moments
- [00:12] "The ease of producing AI slop and posting it on GitHub β it's not even pushing anymore, it's pretty much like posting on LinkedIn at this point."
- [04:29] "One must give it to Herder, it has beautiful defaults β unlike the terrible tmux default setups."
- [07:53] "Sessions in tmux always felt like they're not first-class citizens... I used tmux for probably 4 years before hearing about sessions."
- [10:46] "I cannot really think of a proper use case at this point β other, of course, from posting slop on LinkedIn talking about my swarm of 50 agents rebuilding the web."
- [15:26] "Say what you want, this is an amazing feature that's well thought out β like tmux-resurrect but on steroids."
Entities mentioned
- People: omer-hamerman (DevOps Toolbox host, "omerxx"),
can-celik(Herder creator) - Companies:
arcade(sponsor β agent actions runtime),termius(iOS SSH client, no affiliation) - Tools / products: herder,
tmux,zellij,pi-agent,open-code,codex,lazygit,tmux-resurrect,tmux-floax,catppuccin - Places: none stated
Concepts surfaced
- agent-native-multiplexer: the emerging tool category β a terminal multiplexer whose first-class objects are running AI agents (status panel, done-notifications, direct attach), not just panes.
beautiful-defaults: the actual moat β self-explanatory UI, discoverable keybinds, mouse-everywhere; wins converts where feature checklists don't ("it has the user experience in mind").workspace-layer: an organizational tier between sessions and windows that "containerizes" tabs/splits without attach/detach ceremony β fixing tmux sessions' second-class ergonomics.live-handoff: migrating a running terminal session (layout + history) to an updated binary or remote server β persistence as a first-class operation.cli-wrapping-api: every UI action available as a scriptable CLI call returning JSON β the tmux heritage worth keeping.- slop-content: (recurring theme) his framing device β GitHub AI-slop projects and "swarm of 50 agents" LinkedIn posts as the noise Herder had to overcome.
Transcript
Source: captions.
[00:02] I'm a big believer in simplicity, especially when it comes to software,
[00:04] especially when it comes to software, and even more so when it comes to my
[00:06] and even more so when it comes to my workflow. Simplicity doesn't mean raw
[00:08] workflow. Simplicity doesn't mean raw dogging. It means sleek, fast, and yes,
[00:10] dogging. It means sleek, fast, and yes, fun. In world where the ease of
[00:12] fun. In world where the ease of producing AI slop and posting it on
[00:14] producing AI slop and posting it on GitHub, yes, it's not even pushing
[00:16] GitHub, yes, it's not even pushing anymore, it's pretty much like posting
[00:18] anymore, it's pretty much like posting on LinkedIn at this point, there's just
[00:20] on LinkedIn at this point, there's just too many projects claiming to be the
[00:22] too many projects claiming to be the team mux killers or the multiplexer for
[00:24] team mux killers or the multiplexer for agents. I've tried tmux, which seems to
[00:26] agents. I've tried tmux, which seems to be extremely popular these days. I
[00:28] be extremely popular these days. I covered it in a video, but the gist of
[00:30] covered it in a video, but the gist of it is just not worth the hassle, at
[00:31] it is just not worth the hassle, at least in my opinion. And this was
[00:33] least in my opinion. And this was exactly my thought trying Herd out. I
[00:35] exactly my thought trying Herd out. I mean, sure, another two way with
[00:37] mean, sure, another two way with notifications, oh wow. But slowly, while
[00:39] notifications, oh wow. But slowly, while playing around and then working with it,
[00:41] playing around and then working with it, I started thinking, "Hey, these splits
[00:43] I started thinking, "Hey, these splits are actually nicer than what I currently
[00:45] are actually nicer than what I currently have in tmux." And then the mouse
[00:47] have in tmux." And then the mouse control and the side panel and
[00:48] control and the side panel and notification, it just kept telling me,
[00:50] notification, it just kept telling me, "Hey, I'm a tmux rewriting rust that's a
[00:52] "Hey, I'm a tmux rewriting rust that's a little bit more user-friendly, and you
[00:54] little bit more user-friendly, and you what? I come with another layer of
[00:56] what? I come with another layer of organization that unlike my
[00:58] organization that unlike my alternatives, actually make life better.
[01:00] alternatives, actually make life better. Herd has its head features that are
[01:02] Herd has its head features that are really cool. But what did it for me was
[01:04] really cool. But what did it for me was the overall package. There's something
[01:06] the overall package. There's something about it that just clicks. It works on
[01:08] about it that just clicks. It works on my desktop just as easily on my home lab
[01:10] my desktop just as easily on my home lab server, and yes, my mobile phone. We'll
[01:13] server, and yes, my mobile phone. We'll get into all of that, but first, let's
[01:14] get into all of that, but first, let's get our hands dirty.
[01:21] >> [music] >> So, one terminal, the whole Herd. And
[01:24] >> So, one terminal, the whole Herd. And we'll get to my skepticism of people
[01:26] we'll get to my skepticism of people running more than three agents
[01:27] running more than three agents simultaneously and actually doing real
[01:29] simultaneously and actually doing real work later. That's not the point. Herd
[01:32] work later. That's not the point. Herd is an agent runtime that runs in your
[01:34] is an agent runtime that runs in your terminal. Well, that's a bit of a
[01:36] terminal. Well, that's a bit of a stretch, but okay. I never actually
[01:39] stretch, but okay. I never actually understand where do people come up with
[01:41] understand where do people come up with logos of where it's used in the wild,
[01:43] logos of where it's used in the wild, but fine. Here's the actual source. The
[01:45] but fine. Here's the actual source. The comparison table is listing tmux,
[01:47] comparison table is listing tmux, Zellij, and Work Tree Orchestrators,
[01:49] Zellij, and Work Tree Orchestrators, which I've no idea what it even means,
[01:51] which I've no idea what it even means, but I think you get the point. A
[01:53] but I think you get the point. A multiplexer that wants to deal with AI
[01:56] multiplexer that wants to deal with AI agents. Runs inside your terminal, duh,
[01:58] agents. Runs inside your terminal, duh, persistent sessions, oh, a multiplexer,
[02:00] persistent sessions, oh, a multiplexer, yeah, remote SSH attach, interesting,
[02:03] yeah, remote SSH attach, interesting, but on paper sounds like something I
[02:05] but on paper sounds like something I already have. Agent state, makes sense.
[02:08] already have. Agent state, makes sense. Direct attach, okay. But, agent can
[02:11] Direct attach, okay. But, agent can orchestrate it, like, why? Okay, okay,
[02:13] orchestrate it, like, why? Okay, okay, overflow of skepticism. Let's roll with
[02:16] overflow of skepticism. Let's roll with it. I know that most users today are
[02:18] it. I know that most users today are forced into their terminal rather than
[02:19] forced into their terminal rather than enjoying it in the first place. I
[02:21] enjoying it in the first place. I understand the need for a mouse control,
[02:23] understand the need for a mouse control, and yes, I even find myself reaching to
[02:25] and yes, I even find myself reaching to it sometimes when I'm not in a familiar
[02:27] it sometimes when I'm not in a familiar environment. That's why I tried so many
[02:29] environment. That's why I tried so many of these, but nothing ever made sense.
[02:32] of these, but nothing ever made sense. They were either clunky, buggy, and I
[02:34] They were either clunky, buggy, and I honestly couldn't see the benefit. On
[02:36] honestly couldn't see the benefit. On the contrary, it made life even worse.
[02:39] the contrary, it made life even worse. This one is different. Herder doesn't
[02:42] This one is different. Herder doesn't only provide tmux and steroid setup,
[02:44] only provide tmux and steroid setup, it's responsive enough to recognize a
[02:46] it's responsive enough to recognize a mobile session. We'll talk about that,
[02:48] mobile session. We'll talk about that, and it also comes with something I
[02:50] and it also comes with something I absolutely loved in tmux, possibly the
[02:53] absolutely loved in tmux, possibly the only thing, a fully fledged CLI that
[02:56] only thing, a fully fledged CLI that speaks to the server's API and can
[02:58] speaks to the server's API and can script and automate everything around it
[03:00] script and automate everything around it with ease. Most known agents are already
[03:03] with ease. Most known agents are already there, including my beloved Pi and my
[03:05] there, including my beloved Pi and my now ex open code. Fully open source,
[03:08] now ex open code. Fully open source, growing in popularity, written in Rust,
[03:10] growing in popularity, written in Rust, which ever since I saw this tweet, I
[03:12] which ever since I saw this tweet, I can't stop laughing about how everything
[03:14] can't stop laughing about how everything gets rewritten in the crab language.
[03:16] gets rewritten in the crab language. Herder was created by a Turkish
[03:18] Herder was created by a Turkish developer who also seems to contribute
[03:20] developer who also seems to contribute to Pi through extensions, so I think
[03:23] to Pi through extensions, so I think we'll easily find mutual grounds. Can
[03:25] we'll easily find mutual grounds. Can Selcik, I hope I'm pronouncing it
[03:27] Selcik, I hope I'm pronouncing it correctly, seemed to be focused on
[03:29] correctly, seemed to be focused on Herder 100%, which is always a great
[03:32] Herder 100%, which is always a great signal. Since LinkedIn is my absolute
[03:34] signal. Since LinkedIn is my absolute one source of truth for life, I don't
[03:36] one source of truth for life, I don't doubt it. Jokes aside, this does feel
[03:38] doubt it. Jokes aside, this does feel like someone shoots for a real project
[03:40] like someone shoots for a real project and not a sloppy AI thingy for a start,
[03:43] and not a sloppy AI thingy for a start, and honestly, it shows. As I got used to
[03:45] and honestly, it shows. As I got used to say, everything starts with a curl. I
[03:48] say, everything starts with a curl. I should put it on a sticker, but also
[03:50] should put it on a sticker, but also remind you that curl is a popular video
[03:52] remind you that curl is a popular video on the channel if you want to check it
[03:53] on the channel if you want to check it out. What's even more impressive though,
[03:55] out. What's even more impressive though, is the fact that this thing took less
[03:57] is the fact that this thing took less than a second to download and install.
[03:59] than a second to download and install. An 11 megabyte binary installed to match
[04:02] An 11 megabyte binary installed to match my local setup and it's ready to launch.
[04:04] my local setup and it's ready to launch. So quick, I didn't think it would
[04:06] So quick, I didn't think it would actually start, but lo and behold,
[04:08] actually start, but lo and behold, Herder is up. A mouse first terminal.
[04:11] Herder is up. A mouse first terminal. I'll ignore this offensive description
[04:13] I'll ignore this offensive description and dive in. You get a nice pane with
[04:15] and dive in. You get a nice pane with settings as this is the first run.
[04:18] settings as this is the first run. Configuring everything from alerts
[04:20] Configuring everything from alerts through with themes, and more. And there
[04:22] through with themes, and more. And there we have it, a pane on the side that
[04:24] we have it, a pane on the side that doesn't have much yet and an empty
[04:27] doesn't have much yet and an empty workspace. One must give it to Herder,
[04:29] workspace. One must give it to Herder, it has beautiful defaults unlike the
[04:31] it has beautiful defaults unlike the terrible tmux default setups and it is
[04:33] terrible tmux default setups and it is very focused on being self-explanatory
[04:36] very focused on being self-explanatory with guiding through keystrokes and
[04:38] with guiding through keystrokes and options from the bottom. The default
[04:40] options from the bottom. The default control B works both for tmux and Herder
[04:43] control B works both for tmux and Herder and another nice surprise is the
[04:44] and another nice surprise is the question mark pane with keybinds listed
[04:47] question mark pane with keybinds listed and available when you need it. Ever
[04:49] and available when you need it. Ever since finding out about Zellij a couple
[04:50] since finding out about Zellij a couple of years back, I found myself wanting to
[04:52] of years back, I found myself wanting to make tmux a bit more like Zellij. I
[04:55] make tmux a bit more like Zellij. I mean, I wanted to keep my setup but
[04:56] mean, I wanted to keep my setup but adding missing features. Some of these
[04:58] adding missing features. Some of these I've added as plugins that I have on my
[05:00] I've added as plugins that I have on my GitHub and maintain like session
[05:02] GitHub and maintain like session management and floating panes. But one
[05:04] management and floating panes. But one that I always wanted to build and never
[05:06] that I always wanted to build and never got around to is a self-explanatory bar.
[05:08] got around to is a self-explanatory bar. And while I don't think Herder dev even
[05:11] And while I don't think Herder dev even lists this as one of its selling points,
[05:13] lists this as one of its selling points, my god, it's good. You almost always get
[05:16] my god, it's good. You almost always get a hint on where to go next, what
[05:18] a hint on where to go next, what keystrokes or combos to use to create a
[05:19] keystrokes or combos to use to create a new workspace, tabs, splits. There's
[05:21] new workspace, tabs, splits. There's even a pop-up with all the binds should
[05:23] even a pop-up with all the binds should you feel lost. And on top of all these,
[05:26] you feel lost. And on top of all these, the mouse [music] just works everywhere.
[05:28] the mouse [music] just works everywhere. Whether you're renaming a tab, switching
[05:30] Whether you're renaming a tab, switching a split, or attaching to another
[05:32] a split, or attaching to another workspace. And this is exactly how it
[05:34] workspace. And this is exactly how it starts. Herder suggests we create a
[05:36] starts. Herder suggests we create a workspace using our prefix which is
[05:38] workspace using our prefix which is still control B and shift N. And there
[05:41] still control B and shift N. And there we have it, my familiar shell in a very
[05:43] we have it, my familiar shell in a very familiar setting on top that resembles
[05:45] familiar setting on top that resembles the famous catpuccin plugin for tmux as
[05:48] the famous catpuccin plugin for tmux as you can see from my Tmux line on top,
[05:50] you can see from my Tmux line on top, which by the way is my setting and seems
[05:52] which by the way is my setting and seems like Herder has shifted my way with the
[05:55] like Herder has shifted my way with the bar on top rather than the usual Tmux
[05:57] bar on top rather than the usual Tmux default on the bottom. Lovely. Quick
[05:59] default on the bottom. Lovely. Quick note before we carry on. If you're
[06:00] note before we carry on. If you're building AI agents that need to do real
[06:02] building AI agents that need to do real work, the hard part is not wiring up a
[06:04] work, the hard part is not wiring up a few tools. The hard part is giving up
[06:06] few tools. The hard part is giving up those agents useful access without
[06:09] those agents useful access without losing control of what they can do.
[06:10] losing control of what they can do. That's where Arcade fits in. Arcade is
[06:13] That's where Arcade fits in. Arcade is an actions runtime built for production
[06:14] an actions runtime built for production use. It gives you secure agent
[06:16] use. It gives you secure agent authorization, reliable tools, and a
[06:18] authorization, reliable tools, and a central place to manage how those agents
[06:21] central place to manage how those agents behave across real users and real
[06:23] behave across real users and real systems. A nice example is something
[06:25] systems. A nice example is something like a clinical trial tracker. You can
[06:27] like a clinical trial tracker. You can build an agent that follows a specific
[06:29] build an agent that follows a specific trial, checks for new results, keep the
[06:31] trial, checks for new results, keep the important context around, and then sends
[06:33] important context around, and then sends a clean digest somewhere useful like
[06:35] a clean digest somewhere useful like Gmail, Notion, Slack, or Google Docs.
[06:37] Gmail, Notion, Slack, or Google Docs. So, instead of gluing together random
[06:39] So, instead of gluing together random pieces and hoping it behaves, you get a
[06:41] pieces and hoping it behaves, you get a proper runtime for building that
[06:43] proper runtime for building that workflow safely. What I also like there
[06:46] workflow safely. What I also like there is that you're not just watching a demo.
[06:48] is that you're not just watching a demo. You can build the app yourself with
[06:50] You can build the app yourself with Arcade's runtime and Arcade MCP, wire up
[06:52] Arcade's runtime and Arcade MCP, wire up the integrations you actually need, and
[06:54] the integrations you actually need, and ship something real. If you're working
[06:56] ship something real. If you're working on AI agents and you want them to
[06:58] on AI agents and you want them to connect to real systems without turning
[07:00] connect to real systems without turning into a security mess, check out Arcade
[07:02] into a security mess, check out Arcade in the link below. Now, back to the
[07:03] in the link below. Now, back to the video. On the side, we have a spaces
[07:06] video. On the side, we have a spaces plus agents panel. The second I hit my
[07:08] plus agents panel. The second I hit my prefix, we get a suggestion bar on the
[07:10] prefix, we get a suggestion bar on the bottom and see creates a new space. I
[07:12] bottom and see creates a new space. I can run top in the first and switch to
[07:14] can run top in the first and switch to the other one, prefix and W for
[07:16] the other one, prefix and W for workspaces, shift the focus on the TUI
[07:19] workspaces, shift the focus on the TUI to the sidebar, where you can use the
[07:20] to the sidebar, where you can use the arrows to switch and enter to attach.
[07:23] arrows to switch and enter to attach. Okay, workspace. While it feels like a
[07:25] Okay, workspace. While it feels like a session in Tmux, it's not exactly that.
[07:28] session in Tmux, it's not exactly that. It's just another layer you never knew
[07:30] It's just another layer you never knew before. There's tabs and splits as any
[07:32] before. There's tabs and splits as any other Tmux or Zellij user knows, and
[07:34] other Tmux or Zellij user knows, and there are sessions, none of which are
[07:36] there are sessions, none of which are workspaces, which you can think of as an
[07:38] workspaces, which you can think of as an in-between layer, letting you
[07:40] in-between layer, letting you containerize a bunch of windows and
[07:41] containerize a bunch of windows and splits without having to detach and
[07:43] splits without having to detach and attach from running to and from running
[07:46] attach from running to and from running sessions. You very much can, but this is
[07:48] sessions. You very much can, but this is unnecessary. And while some would claim
[07:50] unnecessary. And while some would claim it's redundant, I don't know what it is
[07:52] it's redundant, I don't know what it is about it. It just feels more right.
[07:54] about it. It just feels more right. Sessions in tmux always felt like
[07:56] Sessions in tmux always felt like they're not first-class citizens. Some
[07:58] they're not first-class citizens. Some users either don't use them regularly
[08:00] users either don't use them regularly because the tooling is just bad. Some
[08:02] because the tooling is just bad. Some are just unaware. I used tmux for
[08:05] are just unaware. I used tmux for probably 4 years before hearing about
[08:06] probably 4 years before hearing about sessions in the first place. Okay, back
[08:09] sessions in the first place. Okay, back to Herder. When you hit prefix c, Herder
[08:11] to Herder. When you hit prefix c, Herder will create a new tab. But, what do you
[08:13] will create a new tab. But, what do you know? Such a small yet genius option, a
[08:16] know? Such a small yet genius option, a name pop up. Set the name and let it
[08:18] name pop up. Set the name and let it run. And now, it's time to put the lower
[08:20] run. And now, it's time to put the lower part of the sidebar to use because
[08:22] part of the sidebar to use because that's what most of us are here for
[08:24] that's what most of us are here for after all, running an agent.
[08:26] after all, running an agent. Immediately, it creates an entry under
[08:27] Immediately, it creates an entry under the agent section telling me there's an
[08:29] the agent section telling me there's an idle pie used on some tab. I tried Codex
[08:32] idle pie used on some tab. I tried Codex as well for fun, but I guess Mr. Altman
[08:35] as well for fun, but I guess Mr. Altman and Tim Cook have some stuff to figure
[08:36] and Tim Cook have some stuff to figure out. In the meantime, I wanted to rename
[08:39] out. In the meantime, I wanted to rename my workspace. [music]
[08:40] my workspace. [music] I couldn't find it and thought what the
[08:42] I couldn't find it and thought what the hell? It's a mouse-first terminal, isn't
[08:44] hell? It's a mouse-first terminal, isn't it? Well, right click on it and what do
[08:46] it? Well, right click on it and what do you know? Workspace is now renamed. Your
[08:48] you know? Workspace is now renamed. Your mouse works for everything else.
[08:50] mouse works for everything else. Switching tabs, adding them, and
[08:51] Switching tabs, adding them, and changing stuff around. In tmux, while
[08:54] changing stuff around. In tmux, while motions are already muscle memory for
[08:56] motions are already muscle memory for me, none of this is available. And I get
[08:58] me, none of this is available. And I get why newbies want an easier starting
[09:00] why newbies want an easier starting point. Herder may very well be it.
[09:03] point. Herder may very well be it. Prefix n and p for next and previous
[09:05] Prefix n and p for next and previous will switch tabs back and forth. Let's
[09:07] will switch tabs back and forth. Let's make my local tmux go away to get the
[09:09] make my local tmux go away to get the complete immersive feel of Herder as our
[09:12] complete immersive feel of Herder as our main UI. When you give the AI a task,
[09:14] main UI. When you give the AI a task, the agents [music] pane knows on its own
[09:16] the agents [music] pane knows on its own how to reflect the working progress. And
[09:18] how to reflect the working progress. And a new pie will add itself to the same
[09:20] a new pie will add itself to the same list, allowing for easy control of,
[09:22] list, allowing for easy control of, well, the herd. When a task is done, you
[09:24] well, the herd. When a task is done, you get both a color coding on the agents
[09:26] get both a color coding on the agents panel as well as a UI notification on
[09:29] panel as well as a UI notification on the bottom. Both are configurable,
[09:31] the bottom. Both are configurable, including sounds that I can hear in my
[09:32] including sounds that I can hear in my headphones now that beep when an agent
[09:35] headphones now that beep when an agent is ready or waiting. Marking text
[09:37] is ready or waiting. Marking text immediately gets copied to the
[09:38] immediately gets copied to the clipboard. That's a default behavior
[09:40] clipboard. That's a default behavior that also makes a lot of sense. Even
[09:42] that also makes a lot of sense. Even splits look better on the default Herder
[09:44] splits look better on the default Herder than they are compared to Tmux, which is
[09:46] than they are compared to Tmux, which is another plus for Zellij, I guess. Prefix
[09:49] another plus for Zellij, I guess. Prefix and arrows or V motions will easily get
[09:51] and arrows or V motions will easily get you around them, changing the focus
[09:53] you around them, changing the focus while highlighting the border. Just like
[09:55] while highlighting the border. Just like Tmux, Zellij will zoom in or back out of
[09:58] Tmux, Zellij will zoom in or back out of it again. Prefix Q is comparable to Tmux
[10:00] it again. Prefix Q is comparable to Tmux detach, setting you back in your
[10:02] detach, setting you back in your terminal session, where Herder again
[10:04] terminal session, where Herder again attaches you back in side with
[10:06] attaches you back in side with persistency as expected. Here's Neofetch
[10:08] persistency as expected. Here's Neofetch [music] and Htop because we're fancy and
[10:10] [music] and Htop because we're fancy and a little pie on the side. Both look
[10:12] a little pie on the side. Both look great for experienced users, but also
[10:14] great for experienced users, but also very accessible to newbies with the
[10:16] very accessible to newbies with the mouse everywhere. You'll also notice a
[10:18] mouse everywhere. You'll also notice a small configurable label for agent panes
[10:21] small configurable label for agent panes that help with orientation. I mentioned
[10:23] that help with orientation. I mentioned earlier that Herder is also a CLI
[10:25] earlier that Herder is also a CLI wrapping an API you can use in many
[10:27] wrapping an API you can use in many ways. One of which is listing the
[10:30] ways. One of which is listing the sessions, the current one running,
[10:31] sessions, the current one running, listing the working directory, and the
[10:33] listing the working directory, and the socket path. There's [music] no session
[10:34] socket path. There's [music] no session new command, and if you do search the
[10:36] new command, and if you do search the docs, you'll find a reasonable
[10:37] docs, you'll find a reasonable explanation saying workspaces are pretty
[10:40] explanation saying workspaces are pretty much all you need. When you need better
[10:42] much all you need. When you need better isolation, go right ahead, but I cannot
[10:45] isolation, go right ahead, but I cannot really think of a proper use case at
[10:46] really think of a proper use case at this point. Other, of course, from
[10:48] this point. Other, of course, from posting slop on LinkedIn talking about
[10:50] posting slop on LinkedIn talking about my swarm of 50 agents rebuilding the
[10:52] my swarm of 50 agents rebuilding the web. Anyway, another Herder's big
[10:54] web. Anyway, another Herder's big selling point is its cross-platform.
[10:56] selling point is its cross-platform. Lots of projects claim the same, but
[10:58] Lots of projects claim the same, but again, same curl command and the same
[11:00] again, same curl command and the same 1-second run does the trick for my Linux
[11:03] 1-second run does the trick for my Linux box on my home lab. Herder runs and now
[11:05] box on my home lab. Herder runs and now I have Herder inside Herder inside Tmux,
[11:08] I have Herder inside Herder inside Tmux, which is a vortex of issues you'd
[11:10] which is a vortex of issues you'd probably want to avoid. Here's a clean
[11:12] probably want to avoid. Here's a clean setup on my remote machine, still in my
[11:14] setup on my remote machine, still in my Tmux, just for context of understanding
[11:17] Tmux, just for context of understanding where we're at. Now, the major thing
[11:19] where we're at. Now, the major thing about this is not the cross-platform
[11:20] about this is not the cross-platform support, the quick installation, and all
[11:22] support, the quick installation, and all that. These are all great, but they're
[11:24] that. These are all great, but they're not special. It's the unified experience
[11:26] not special. It's the unified experience with awesome features and awesome
[11:27] with awesome features and awesome defaults, from theme through layout and
[11:30] defaults, from theme through layout and binds to color coding and agent support
[11:32] binds to color coding and agent support out of the box everywhere. Beyond
[11:34] out of the box everywhere. Beyond everything else, Herder is easy and
[11:37] everything else, Herder is easy and that's something that I absolutely love.
[11:40] that's something that I absolutely love. Being allergic to software friction, it
[11:42] Being allergic to software friction, it slowly turns out as a real gem. It's a
[11:45] slowly turns out as a real gem. It's a beautiful opinionated multiplexer, if
[11:47] beautiful opinionated multiplexer, if nothing else. Now, here's another trick
[11:49] nothing else. Now, here's another trick it has up its sleeve. Up until now, I
[11:51] it has up its sleeve. Up until now, I was used to SSHing into my box, like so.
[11:54] was used to SSHing into my box, like so. Then, tmux [music] attach or Herder in
[11:56] Then, tmux [music] attach or Herder in our case and I get myself in for work.
[11:59] our case and I get myself in for work. Herder knows your SSH config and can
[12:01] Herder knows your SSH config and can connect remotely. Double hyphen remote
[12:03] connect remotely. Double hyphen remote box or your [music] IP and bam, we're
[12:06] box or your [music] IP and bam, we're in. Detach and you're back to your local
[12:09] in. Detach and you're back to your local shell. That's brilliant. And if you were
[12:11] shell. That's brilliant. And if you were wondering about these seemingly
[12:13] wondering about these seemingly clickable fold icons on the bottom of
[12:15] clickable fold icons on the bottom of our agents pane, yes, it collapses and
[12:17] our agents pane, yes, it collapses and you can have an even cleaner canvas to
[12:18] you can have an even cleaner canvas to work on. So, works perfectly on
[12:20] work on. So, works perfectly on localhost, just as perfect on my Linux
[12:22] localhost, just as perfect on my Linux box, but it's advertised as
[12:24] box, but it's advertised as mobile-friendly. Now, I'm not one to
[12:26] mobile-friendly. Now, I'm not one to believe anyone actually codes through
[12:27] believe anyone actually codes through their phone, but speaking to agents,
[12:30] their phone, but speaking to agents, absolutely. And while the next is
[12:32] absolutely. And while the next is doable, I still think the best way to
[12:34] doable, I still think the best way to achieve that is through Pi's Telegram
[12:36] achieve that is through Pi's Telegram gateway, which I've been using for
[12:37] gateway, which I've been using for months and you can find on the Pi agent
[12:39] months and you can find on the Pi agent video on the channel. All that said,
[12:41] video on the channel. All that said, check out the responsiveness of Herder.
[12:43] check out the responsiveness of Herder. No affiliation to Termius, but it just
[12:46] No affiliation to Termius, but it just works on iOS devices. SSH into the same
[12:48] works on iOS devices. SSH into the same box I have for my home lab and there I
[12:51] box I have for my home lab and there I am. Run Herder from my phone, auto
[12:53] am. Run Herder from my phone, auto completion, which is nice and boom, I'm
[12:55] completion, which is nice and boom, I'm in again. Now, responsive, sure, but I
[12:58] in again. Now, responsive, sure, but I mean, this is tiny. If anyone can do any
[13:01] mean, this is tiny. If anyone can do any kind of work like that, be my guest.
[13:03] kind of work like that, be my guest. Maybe on a landscape iPad with 13 in of
[13:06] Maybe on a landscape iPad with 13 in of a screen. Nevertheless, it works. I must
[13:09] a screen. Nevertheless, it works. I must say, I don't see the huge appeal here,
[13:11] say, I don't see the huge appeal here, but if you want, go right ahead. So,
[13:13] but if you want, go right ahead. So, back to our localhost. Maybe Codex is
[13:16] back to our localhost. Maybe Codex is malicious. I'm joking, please don't sue
[13:18] malicious. I'm joking, please don't sue me. Open code runs beautifully as well
[13:20] me. Open code runs beautifully as well and lists itself in the agents pane. If
[13:22] and lists itself in the agents pane. If you're unsure about your agent or run an
[13:24] you're unsure about your agent or run an even more obscure option than mine, then
[13:26] even more obscure option than mine, then the integration status on the CLI will
[13:29] the integration status on the CLI will tell you where you're at. You can rename
[13:31] tell you where you're at. You can rename agents like so. Now, this is kind of
[13:34] agents like so. Now, this is kind of hard to understand both because of the
[13:35] hard to understand both because of the complicated IDs and also the JSON
[13:38] complicated IDs and also the JSON results, and on top of all that, the
[13:39] results, and on top of all that, the mouse don't really save you here. You
[13:41] mouse don't really save you here. You can click around switching agents, which
[13:43] can click around switching agents, which is great. You can't rename them. So,
[13:44] is great. You can't rename them. So, Herder has a little bit of way to still
[13:46] Herder has a little bit of way to still go and rough edges to work on. What you
[13:48] go and rough edges to work on. What you can do, however, is attach directly to
[13:50] can do, however, is attach directly to an agent, kind of like skipping the
[13:52] an agent, kind of like skipping the entire UI {slash} layout and speaking
[13:54] entire UI {slash} layout and speaking directly to it. Herder agent attach to
[13:57] directly to it. Herder agent attach to the name, assuming you got it right, and
[13:59] the name, assuming you got it right, and you have it directly attached to a full
[14:01] you have it directly attached to a full window, no Herder UI inside. Okay, time
[14:04] window, no Herder UI inside. Okay, time to talk about configuration. It's not
[14:06] to talk about configuration. It's not hard to get that {dot} config {slash}
[14:08] hard to get that {dot} config {slash} Herder holds a config file, in this
[14:10] Herder holds a config file, in this instance, a terminal configuration that
[14:12] instance, a terminal configuration that can have all your preferences. Using the
[14:14] can have all your preferences. Using the CLI with the default config flag outputs
[14:17] CLI with the default config flag outputs a default file for you to get started. I
[14:19] a default file for you to get started. I can change all the standard settings,
[14:21] can change all the standard settings, including the prefix, which I'll try not
[14:23] including the prefix, which I'll try not to conflict with tmux at the moment. the
[14:26] to conflict with tmux at the moment. the configuration, you'd want to run it
[14:27] configuration, you'd want to run it through the CLI, to which you'll get a
[14:29] through the CLI, to which you'll get a response that approves or denies the
[14:30] response that approves or denies the change. Beyond standard bits, you can
[14:33] change. Beyond standard bits, you can actually turn keys into commands,
[14:35] actually turn keys into commands, initiating triggers, and that's really
[14:37] initiating triggers, and that's really cool. I can decide that prefix LG pops
[14:39] cool. I can decide that prefix LG pops lazy git. Hit the combo and boom, lazy
[14:42] lazy git. Hit the combo and boom, lazy git is in the house. To be fair, you can
[14:44] git is in the house. To be fair, you can basically do the same in tmux quite
[14:46] basically do the same in tmux quite easily. It's more about structuring the
[14:48] easily. It's more about structuring the configuration of every key, which makes
[14:50] configuration of every key, which makes things nicer to the user. Herder also
[14:52] things nicer to the user. Herder also comes with a handoff option, should you
[14:54] comes with a handoff option, should you want to transfer for a session and have
[14:56] want to transfer for a session and have it persist on a new or even remote
[14:58] it persist on a new or even remote server instead. You basically get the
[15:00] server instead. You basically get the server fully updated, create a new
[15:02] server fully updated, create a new session, and hand off the current
[15:03] session, and hand off the current running process to the new updated
[15:05] running process to the new updated version. You can do the same with a
[15:06] version. You can do the same with a remote machine by adding the remote flag
[15:09] remote machine by adding the remote flag and target. You get to keep the layout
[15:11] and target. You get to keep the layout and terminal history. One thing to keep
[15:13] and terminal history. One thing to keep in mind, though, is that this is only
[15:15] in mind, though, is that this is only relevant to Herder's own updater. If
[15:17] relevant to Herder's own updater. If you're using Homebrew, mix, or others,
[15:20] you're using Homebrew, mix, or others, they will be the ones that are updating,
[15:22] they will be the ones that are updating, and live handoff would just not work for
[15:24] and live handoff would just not work for obvious reasons. Say what you want, this
[15:26] obvious reasons. Say what you want, this is an amazing feature that's well
[15:28] is an amazing feature that's well thought out and to me is like tmux
[15:30] thought out and to me is like tmux resurrect but on steroids. The CLI goes
[15:32] resurrect but on steroids. The CLI goes on to offer a bunch of automation
[15:34] on to offer a bunch of automation options by handing you a list of tabs,
[15:36] options by handing you a list of tabs, creating or deleting existing ones,
[15:38] creating or deleting existing ones, listing workspaces and even panes and
[15:40] listing workspaces and even panes and even sending keys to the pane you like.
[15:42] even sending keys to the pane you like. Every option is a request that's sent to
[15:45] Every option is a request that's sent to an API and then gets a JSON response
[15:47] an API and then gets a JSON response with an error success with all the
[15:49] with an error success with all the relevant metadata. For context. Okay,
[15:51] relevant metadata. For context. Okay, the billion-dollar question. Am I
[15:53] the billion-dollar question. Am I keeping it? Well, as you've seen, it
[15:55] keeping it? Well, as you've seen, it still has it rough edges. Stuff that I
[15:58] still has it rough edges. Stuff that I love about tmux like jumping to the last
[16:00] love about tmux like jumping to the last tab or tmux floats, which is a plugin I
[16:02] tab or tmux floats, which is a plugin I built for floating panes, aren't
[16:03] built for floating panes, aren't available here. But it does make an
[16:05] available here. But it does make an extremely nicer out-of-the-box
[16:07] extremely nicer out-of-the-box multiplexing experience even without its
[16:09] multiplexing experience even without its agent capabilities. It has the user
[16:11] agent capabilities. It has the user experience in mind and makes an amazing
[16:14] experience in mind and makes an amazing package, especially for remote machines
[16:16] package, especially for remote machines but not only. For that reason, this is
[16:18] but not only. For that reason, this is exactly what I'll do. I'll keep tmux
[16:20] exactly what I'll do. I'll keep tmux locally for now and run herder as my
[16:21] locally for now and run herder as my daily driver on the home lab box where I
[16:24] daily driver on the home lab box where I do have actually agents. We'll see how
[16:26] do have actually agents. We'll see how it goes whether I find more edges or
[16:28] it goes whether I find more edges or more reasons to make the switch and go
[16:30] more reasons to make the switch and go with it for the long run. In the
[16:32] with it for the long run. In the meantime, if you want to set up your
[16:33] meantime, if you want to set up your tmux exactly like mine, go ahead and
[16:35] tmux exactly like mine, go ahead and catch this classic video on the channel.
[16:38] catch this classic video on the channel. Thank you for watching. I'll see you on
[16:39] Thank you for watching. I'll see you on the next one.
All frames
Total: 51. Hero frames flagged with star.
frames/frame_0001.jpg(t=00:00)frames/frame_0002.jpg(t=00:19)frames/frame_0003.jpg(t=00:24)frames/frame_0004.jpg(t=00:30)frames/frame_0005.jpg(t=00:32)frames/frame_0006.jpg(t=00:38)frames/frame_0007.jpg(t=00:55)frames/frame_0008.jpg(t=01:00)frames/frame_0009.jpg(t=01:03)frames/frame_0010.jpg(t=01:13)frames/frame_0011.jpg(t=01:16)frames/frame_0012.jpg(t=02:16)frames/frame_0013.jpg(t=02:28)frames/frame_0014.jpg(t=02:41)frames/frame_0015.jpg(t=03:33)frames/frame_0016.jpg(t=03:45)frames/frame_0017.jpg(t=04:48)frames/frame_0018.jpg(t=04:55)frames/frame_0019.jpg(t=05:03)frames/frame_0020.jpg(t=05:15)frames/frame_0021.jpg(t=05:28)frames/frame_0022.jpg(t=05:33)frames/frame_0023.jpg(t=05:58)frames/frame_0024.jpg(t=06:10)frames/frame_0025.jpg(t=06:12)frames/frame_0026.jpg(t=06:15)frames/frame_0027.jpg(t=06:23)frames/frame_0028.jpg(t=06:25)frames/frame_0029.jpg(t=06:37)frames/frame_0030.jpg(t=06:45)frames/frame_0031.jpg(t=06:48)frames/frame_0032.jpg(t=06:55)frames/frame_0033.jpg(t=07:04)frames/frame_0034.jpg(t=07:23)frames/frame_0035.jpg(t=07:51)frames/frame_0036.jpg(t=07:54)frames/frame_0037.jpg(t=08:08)frames/frame_0038.jpg(t=08:09)frames/frame_0039.jpg(t=11:17)frames/frame_0040.jpg(t=11:28)frames/frame_0041.jpg(t=11:45)frames/frame_0042.jpg(t=11:48)frames/frame_0043.jpg(t=12:19)frames/frame_0044.jpg(t=12:29)frames/frame_0045.jpg(t=12:43)frames/frame_0046.jpg(t=15:51)frames/frame_0047.jpg(t=16:03)frames/frame_0048.jpg(t=16:09)frames/frame_0049.jpg(t=16:16)frames/frame_0050.jpg(t=16:24)frames/frame_0051.jpg(t=16:26)