{"slug": "herdr-and-the-meta-harness", "title": "Herdr and the Meta-harness", "summary": "Herdr, an open-source \"terminal workspace manager\" from herdrdev, gives developers programmatic access to coding-agent session management, letting tools script over sessions that persist independently of SSH connections. The author, who built a \"meta-harness\" UI on top of Herdr to track sessions, outbound pull requests and inbound PR reviews, argues developers should treat each agent session as \"cattle\" rather than a \"pet\" and keep flexibility to switch between harnesses such as Claude Code, Codex and Pi. Herdr wraps existing TUI harnesses more efficiently but does not improve on their quirks, including viewing subagents, opening reasoning traces and background commands.", "body_md": "I see a lot of discussion around “TUI vs. GUI” for coding agents. This\ndiscussion is often of the form: “the more I use Claude Code/Codex/Pi, the more\nI’ve outgrown the TUI and want to use a GUI app”. The comment that nudged me to\nwrite this is in this recent HN\n[discussion](https://news.ycombinator.com/item?id=50410853):\n\nI used to use ChatGPT/Claude in the TUI up until like 3 months ago, but my usage of LLMs has exploded - many sessions across many projects. I feel like I outgrew the TUI and now I’m using ChatGPT/Claude desktop. VS Code has become a code review tool and place where I manage git if need be. […]\n\nUsually a TUI would be open in VS Code and scoped to whatever repo I’m working with so 10 projects, 10 VS Code instances open, not super scalable. With the GUI desktop app it’s one app, and I can start sessions in an repo and switch between them easily, no need to open VS Code for each. I don’t see what could make me want to go back to using a TUI.\n\nI can sympathize with the pull away from TUIs. Until I started using\n[Herdr](https://github.com/herdrdev/herdr), I was manually managing sessions in\niTerm or Ghostty tabs. It was a nightmare. This didn’t play well with e.g.\nlosing connection to remote hosts if I was using an agent on a box over SSH, it\nwas annoying to keep a mental picture of what each tab was for, and it felt like\nmanual multiplexing instead of truly doing work in parallel.\n\nHerdr describes itself as a\n“[terminal workspace manager](https://herdr.dev/tui/docs/concepts/)”. I think\nthat’s a reasonable description. It’s, in my opinion, agent-native tmux. It\nkeeps your terminal sessions running independent of your SSH, has\nwindow/tab/pane management features, and has some agent-native capabilities –\nlike the status of agent sessions – that are what differentiate it from “just”\nbeing a terminal manager.\n\nI think Herdr solves *most* of the friction I felt personally in manual session\nmanagement.\n\nIt handles:\n\nOne thing that Herdr does which I’m unaware of other first-party apps doing\nparticularly well is giving you *programmatic access to session management*.\nI’ve found it really nice to be able to build tools that script over Herdr. For\ninstance, I have a meta-harness UI that tracks all my work, including sessions,\noutbound PRs, and inbound PR reviews. I can easily launch sessions\nprogrammatically from this UI and they just show up alongside my manually\nlaunched sessions.\n\nHerdr notably does not improve on any annoyances of the harnesses themselves,\nsince it’s purely a wrapper for running the TUI harnesses more efficiently. For\nquirks around e.g. viewing subagents, clicking to open reasoning traces, and\nbackground commands,<sup>[1](#fn:1)</sup> Herdr offers no improvement.\n\nOn the TUI vs. GUI debate, I prefer the TUI, but I think the real thing I’m\npointing towards is: **you want flexibility to switch between harnesses** (this\nis still an unsettled space), and **you should also be using a meta-layer above\nthe harness** so that each session is treated as “cattle” instead of a “pet”.\n\nThe direction the LLM coding space appears to be moving in is one where each\nengineer is managing more agents, is doing more work, and is farther from the\ncode. The affordances you need as a developer become better tools for managing\nand overseeing agents. Some of this could come in the form of “have one agent\nthread be your main point-of-contact, and have that agent manage other agents”.\nThat’s a promising pattern, but we’re not *quite* at the point where that’s\noptimal for all agentic coding. I still find a bunch of value in having separate\nthreads and viewing/managing them myself. So, I think the meta-harness pattern\nfits the niche of how my work is currently shaped.\n\nA few more thoughts on coding agent UX:\n\n*Cover: Arches National Park*\n\nMost of the harnesses allow you to have it run commands in the background\nfor you, and the TUI view of this is a little bit clunky – from what I’ve\nseen, and from what I’ve heard people complaining about. [↩︎](#fnref:1)", "url": "https://wpnews.pro/news/herdr-and-the-meta-harness", "canonical_source": "https://benjamincongdon.me/blog/2026/11/11/Herdr-and-the-Meta-harness/", "published_at": "2026-11-11 14:00:00+00:00", "updated_at": "2026-11-11 14:54:18.675014+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["Herdr", "herdrdev", "Claude Code", "Codex", "Pi", "VS Code", "ChatGPT", "Claude"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/herdr-and-the-meta-harness", "markdown": "https://wpnews.pro/news/herdr-and-the-meta-harness.md", "text": "https://wpnews.pro/news/herdr-and-the-meta-harness.txt", "jsonld": "https://wpnews.pro/news/herdr-and-the-meta-harness.jsonld"}}