Transcript: Herdr: the Tmux for AI Agents
Source video ID: XoitaexiCi0
Transcript
- 0:00 — I just discovered Herder, which is marketed as a Tmux for agents. And what that means is that it’s a terminal multiplexer, so you’re able to manage multiple terminal programs from a single screen. And this is solving a critical AI workflow problem that I’ve been having. And that is being able to start a really long coding session on my terminal, close my laptop, walk away, come back, and resume that session. And not only that, Herder has this really nice UI, well, TUI, that’s interactable with the mouse. But it also has all these Tmux primitives, so that you can
- 0:31 — interact it with your keyboard as well. It’s like a win-win situation. It’s fantastic. But instead of me just raving about this, why don’t I just show you what it looks like. So, yeah. This is the default screen for Herder. It’s a terminal application, so it’ll work on just about any application. And you can see here that you got workspaces that they’ve shortened to spaces here on the left-hand side. You can create multiple of these using the new button or keyboard shortcuts, if you will. And then you can even right-click to rename them, to to close them, all that kind of stuff. Inside of these spaces, you have your panes. Now, you have tabs inside of
- 1:02 — these panes, too. Or you can just right-click and split vertical, split horizontal, all these really cool stuff. You can drag these uh borders, too, to resize them. It’s really cool. But the real kind of cool part about Herder is its integration with AI agents. And the way that that works is you just spin one up. So, let’s do uh Claude. Let’s do Codex. And you can see here on the left-hand side here that the nav bar has an agent’s tab. And when I created these coding agents, they showed up. So, they have these like really cool integration, so that when your agents are working, it
- 1:32 — updates the status, so that when it finishes, you get a cool little notification that says, “Hey, come back and continue your work.” So, let me show you how that works. Let’s do say hello back to me after 4 seconds. And immediately when I sent that off, the status will update it to working. And now, there’s a few different statuses here. Idle is the default one, obviously, but it does switch to working. And then if you have questions that are demanding your attention immediately, then it has a blocker status as well. So, let’s do let’s try something like that.
- 2:05 — Now, the macOS notification usually requires a permission on Herd X. And so, here you can see that it’s asking for permissions, and this is a super common problem that a lot of people who are using coding harnesses face. You just kind of start a prompt, you walk away, you come back, you’re like, “Oh, shoot, it hasn’t done anything, right?” So, in these cases, you get a you get a ping from the notification. I’m not sure if you guys heard that, but there was a ping. And not only that, the visual status updates to block, so that it’s super clear that, “Hey, this agent needs attention.” So, yeah, that’s a really cool feature to have in your uh tmux-like instance. And
- 2:36 — speaking of tmux, like I said, it shares the same primitives as tmux, so you’re able to use your prefix keys. Uh and if you’re not familiar with tmux, basically, you’re able to navigate the entire terminal application without ever lifting your hands from the keyboard. So, here I can do control B, and that puts me into navigate mode. So, now I can use my arrow keys to kind of move back from different panes, move up and down my spaces here, you can see on the top left here. And if I do {question mark} here while I’m in the the command mode, it shows me the keyboard binds. And these are all configurable as well.
- 3:07 — So, if you’re a subscriber to my channel, and if you’re not, you totally should, cuz I make a lot of content that covers fresh software releases like this. So, if you’re into that kind of stuff, definitely do subscribe. But, if you are a regular viewer, you’re probably aware that I have a video on tmux that looks pretty much like this. And this is what my tmux looks like. You’ve got tabs on the left-hand side, and instead of panes here, you’re able to create multiple terminals. It’s very similar, but the main difference here is that tmux is a native macOS application. It has its own application process. Herd X is a terminal application, so it will
- 3:37 — run on pretty much any terminal application that you’re using. So, you can pretty much use whatever you’re most comfortable with. The other thing is that tmux has a built-in browser that you are able to programmatically control. Herd X doesn’t have that, but the nice thing about Herd X is if I do a B and Q, I’m able to exit my Herder session and type Herder back to get back into the session and that makes it a persistent session. Now, the really cool thing about this is that now I am able to start a Herder session on my Ubuntu
- 4:07 — laptop that I have running full-time. It’s kind of off the screen and to the to my left here. It handles some of my server workloads and now it can handle all my coding tasks that I know it’s going to take a couple of hours to finish. I can spin that off, go take lunch, come back, or if if I wanted to I can spin it up, go to a coffee shop, use VPN to connect back to my home network, and then use Herder to connect back into that session. So, let me show you how that works. So, I have a computer on my network. I can SSH to it. It’s a HS Macaroni. I name all my computers I
- 4:37 — might home after pastas. I’ve got macaroni, linguine, spaghetti, tortellini. I’m a huge fan of pasta, so I name all my servers after pasta. But, if I SSH to it, I can also use Herder. And this is a session that I spun up way before I started recording this video. In this case, I’ve obviously SSH’d into it first and then started the Herder instance. But, here’s the cool thing. Let me go back out. Exit out of my SSH session and then use Herder {dash} {dash} remote HS Macaroni.
- 5:07 — Now, this is reading through my SSH host config, so your scenario scenario is going to be a little bit different if you don’t have this set up. But, when I do that, it creates or it hooks into that session, but directly through my host machine without having to go through that SSH process. So, this is a super way for me to be able to asynchronously my coding sessions and I’m I’m super happy I found this software because this is exactly what I’m looking for. So, now I can hear all of you guys asking, “Hey, uh this is this sounds great. How do I get started?” The install is super easy. The downside, unfortunately, is that Herder exposes a Unix socket, so that kind of
- 5:38 — means that you are limited to Unix operating systems, so that’s going to be your Mac and Ubuntu or any other Linux servers. But, to install this, uh you go to the website. You run the curl command, and that’s it. It’s really simple. But, just for fun, let me show you what it looks like. So, I’ve copied the command, and once it’s completed, all you have to do is type herder, h e r d r. Now, you’ll notice that there is no second e to herd er, and that’s because, unfortunately, in this time and age, uh inflation has kind of caught up to a lot of people here. The second e is really expensive, so a lot of companies are
- 6:08 — dropping that e. So, just be mindful if you do talk to the maintainers, um it is a hard time for all of us. But, yeah, to start your session, you just run herder, and that will take us back to that session that we have created. But, if you uh don’t have a running session, it will create a default one for you. Uh you can list all the existing herder sessions through herder session list. And if you look at the herder session commands, um you’ll see that it has all the up the operations to be able to create and delete and all that kind of stuff. Now, I’ve got a really cool feature to show you. It’s to do with
- 6:38 — agent orchestration. So, I mentioned earlier that herder has a has a Unix socket, and what that allows us to do is to be able to modify herder directly inside of our our CLI. So, let me show you what I mean by that. So, if you run herder workspace, you we have list, create, get, rename, and close. And if we do herder workspace list, it dumps a JSON of all the workspaces that we already have in our default workspace. So, it’s able to create more workspaces, read workspaces,
- 7:09 — and there’s also a command for herder pane. Now, pane is super important because now you’re able to use the herder CLI to create more panes, and inside of those panes, you can send keys, and you can also wait for specific conditions to be reached inside of those panes as well. So, that allows you to use herder as your agent orchestration layer, so that your cloud code or codex or open code or what have you is able to use herder CLI
- 7:40 — to spin up more canes and instances of the coding agents directly inside of that session. So, let me show you how that works. Now, I’m just cleaning up my panes here. If you are using this for the first time, you’ll probably be wondering how on earth do I close a pane? You can always use that helper. So, control B question mark will open up the keyboard bindings and I showed you this already. But, to kill a pane, you’re going to do control B and X. Anyway, let’s open up a Codex again. At this point, Codex doesn’t really know what Herder is, so I’m going to tell it to go read the the help on that command
- 8:10 — so that it can orient itself and learn how it works. And honestly, this is seriously cool to be able to, you know, take a new CLI and just like feed it to an AI and it just like learns it and kind of figures it out. Super cool. And I’m just going to preemptively prompt it. Use the CLI to spin up two Codex instances and inside of those, look up for the capital of South Korea and also France.
- 8:42 — Make sure to use this workspace. Now, I don’t know if that last command’s going to work. Last time I tried this command, it actually spun up a different workspace. So, I do want to see if it is able to use the current workspace. Now, I do want to take this time to tell you that, you know, this is a relatively new software. I think they’ve been in active development for the past couple of months. They’re gaining a lot of traction, but this does mean that the software can be a little bit buggy here and there. So, what I personally noticed that made it a little bit challenging for me to record this video was that when I ran some of these commands inside of Cloud Code, the statuses were not actually matching up perfectly. So,
- 9:13 — there was that issue, but the Codex was working fine, so I’m just kind of showing you all of this in Codex. But, as I was talking, you can see that, you know, Codex, it was using the the pane commands to split and it’s creating two versions here. Obviously, this one that we already had before, so I’m just going to close this. So, this is a fun experiment. It’s using Codex CLI directly, so it’s not really going into the interactive mode. I did a previous run with this where I used Cloud code and I was doing it flawlessly, so maybe I’ll try again with Claude code, but this is hilarious. Obviously, when I’m
- 9:43 — recording things go wrong. I’m probably not going to edit this out, but it’s it’s screwed it up enough times that it’s spun up a third instance here. That’s That’s hilarious. Let’s try out a different angle. Spin up Claude code instead. Use interactive mode. And I do apologize, guys. Claude code did work for me in the past, but we had that kind of like state error, so I chose to do it on Codex this time. I’m sure your experience will be a little bit better once you kind of iterate with this and kind of refine your prompts. I would honestly recommend that you get
- 10:13 — your coding agent to read through the documentation, read through the CLI commands, and make a skill out of it so that you have a repeatable process to be able to spin up these panes directly. Once you have that skill set up, this should be so much easier going forward. But yeah, this looks like it’s done the job correctly. It’s spun up two different Claude code instances. Look up the capital of South Korea. Seoul is the correct place. And there’s another one here. It’s got France and Paris, exactly what we’re looking for, so it’s perfect. So, at this point you might be wondering, “Hey, what’s really the point
- 10:44 — of having all these abilities to be able to create panes? What’s the point of agent orchestration?” I’m sure there’s tons of different videos out there, but just to kind of answer that question. The idea here is that you have one main orchestrating AI agent, and this AI agent is able to delegate some of these tasks to different agents so that you’re able to do multiple coding sessions at the same time. Or if you go the other way, which is to use multiple agents to improve the quality of a single coding session, you’re able to use maybe like a planning agent, a coding agent, a reviewing agent, a like QA agent. All
- 11:14 — these kind of different agents so that they kind of collaborate on a single instance. Agent orchestration is a bit of a can of worms when it comes to like what it can do. I would suggest that you just kind of play around with it. A lot of different coding agents are kind of coming up with their implementation of agent orchestration, but it’s just really nice having a tool that is able to kind of support it out of the box. Now, the one downside of Hurder is that compared to Tmux, it doesn’t have a built-in browser. And because of that, it doesn’t really have eyes to kind of see what it’s doing. Um obviously, if you have skills inside of your agent
- 11:46 — harness that is able to use, you know, stuff like Playwright or Chrome DevTools uh MCP, uh that will do just fine as well. If you’re running Hurder inside of Tmux, you also have access to the Tmux CLI, so you can use a Tmux browser like that. But the downside there is that you’re now not able to kind of use that detach attach kind of functionality to be able to kind of go in and out as easily. That persistence feature is kind of the biggest selling point for me, so that to me is a bit of a letdown, but uh still there’s a workaround it. The other kind of pitfall here is that my biggest
- 12:17 — complaints of Tmux originally has been the fact that you have to learn a lot of keyboard shortcuts. Now, with Hurder, that’s not exactly the case, but you know, there’s still cases you’re going to want to reach for some of these keyboard shortcuts like right clicking it and splitting it is functional, not ideal. Tmux has, you know, that button that you can press. So, if you go back to Tmux here, you’re able to create splits with these buttons here. And I think that’s just a nicer improvement. There’s a possibility that as this product matures, that it’s that the developers are going to add more
- 12:48 — features to make the UX nicer around some of these kind of edge cases. But yeah, for the meanwhile, you are kind of stuck to what it is for now. But I will say it is a nice software and it’s completely free, so, you know, beggars can’t be choosers. But yeah, that’s uh that’s the end of this video. I do like to bring these kind of lesser-known new pieces of software to light as soon as possible. If that’s the kind of thing that you’re looking for, please make sure to subscribe and follow. I make a lot of content that, you know, tries to cover these kind of content. But yeah, hope you have a good uh rest of your week, and I hope to catch you in the next one. Bye-bye.