{"slug": "herdr-and-the-throughput-case-for-parallel-coding-agents", "title": "Herdr and the Throughput Case for Parallel Coding Agents", "summary": "Herdr, a new terminal-based agent multiplexer, aims to solve the supervision bottleneck in parallel coding agents by giving each agent a real PTY and exposing a CLI and socket API. The tool, described as 'tmux for coding agents,' allows agents to run in persistent sessions that can be detached and reattached, and enables a supervisor agent to orchestrate multiple sub-agents, wait for state transitions, and consolidate results. Its performance gains come from practical properties like agent awareness and a socket API for programmatic control.", "body_md": "Most agent tooling is still built around a single conversation: one agent, one task, one terminal, one stream to babysit. Fine for small tasks, bad for real engineering work.\n\n[Herdr](https://herdr.dev/) is interesting because it treats that as the default shape of the work.\n\nThe simplest way to describe it is: Herdr is tmux for coding agents. More precisely, it is an agent multiplexer that runs inside your existing terminal. It gives each agent a real PTY, keeps processes alive where the work is happening, shows agent state, and exposes a CLI plus a local socket API.\n\nThat distinction matters. Herdr is not another desktop agent app. It is a binary you run where the code and terminals live: a server, a Mac Mini, a VM, a dev machine under your desk. Close the laptop, detach, ssh back later, reattach, even from a phone. The work did not die because your terminal window did.\n\nCoding agents changed the cost of starting work. I can ask one agent to explore a bug, another to write a failing test, another to draft a migration plan. The bottleneck is supervision.\n\nThe problem is that normal terminals do not understand supervision. tmux and Zellij give you persistence and panes, but they do not know whether an agent is blocked, working, done, idle, or just sitting there after printing a question three screens ago. Desktop apps often understand the agent state better, but then the workflow is stuck to the machine with the GUI. Worktree orchestrators can coordinate parallel tasks, but they usually want to own the workflow.\n\nHerdr sits in a useful middle: terminal model, plus agent awareness.\n\nThe performance multiplier is not magic. It comes from four practical properties:\n\nThe fourth point is the one I care about most. A human supervising three panes is useful. An agent that can start helper agents, read output, wait for state transitions, and consolidate the result is where compounding starts.\n\nHerdr's docs are explicit about this. The socket API can manage workspaces, tabs, panes, and agents. The recommended path is CLI wrappers first, then the raw socket API for direct request-response control or subscriptions. There is also an agent skill file, guarded by `HERDR_ENV=1`\n\n, that teaches an agent to use Herdr from inside a pane.\n\nImagine a staff engineer supervising a refactor: replace an internal client, adjust tests, and check deployment. I would split it.\n\nOne supervisor owns the plan and review. It creates three panes:\n\n```\nherdr\n```\n\nInside Herdr, it can split panes and start agents:\n\n```\nsplit=$(herdr pane split --current --direction right --no-focus)\napi_pane=$(printf '%s\\n' \"$split\" | jq -r '.result.pane.pane_id')\n\nherdr agent start api-change --kind codex --pane \"$api_pane\"\nherdr agent prompt api-change \"Replace the legacy client in the API layer. Keep the diff minimal.\"\n```\n\nThen it starts two more agents:\n\n```\ntest_split=$(herdr pane split --current --direction down --no-focus)\ntest_pane=$(printf '%s\\n' \"$test_split\" | jq -r '.result.pane.pane_id')\n\nherdr agent start tests --kind codex --pane \"$test_pane\"\nherdr agent prompt tests \"Add or update tests for the new client behavior.\"\n\ndeploy_pane=$(herdr pane split --current --direction right --no-focus | jq -r '.result.pane.pane_id')\nherdr agent start deploy-review --kind codex --pane \"$deploy_pane\"\nherdr agent prompt deploy-review \"Review config, deploy scripts, and rollback implications.\"\n```\n\nThe supervisor waits for state instead of polling terminals:\n\n```\nherdr agent wait api-change --until blocked --timeout 120000\nherdr agent read api-change --source recent-unwrapped --lines 80\n```\n\nOr for normal process output:\n\n```\nherdr pane run w1:p3 \"just test --watch\"\nherdr pane wait-output w1:p3 --regex \"passed|failed\" --timeout 120000\n```\n\nThe human moves up a level: review diffs, answer blocked agents, reject bad approaches, judge tests, and stop the blast radius before production.\n\nParallelism alone is not enough. Opening five terminals is easy. Keeping them understandable after lunch is the hard part.\n\nHerdr works because it combines parallel execution with persistence and state. If an agent gets blocked, that state is visible. If another finishes while you are reviewing the first, it is marked done until inspected. If ssh drops, the server keeps owning the panes and processes.\n\nWithout persistence, each extra agent adds overhead. With persistent panes and state, the overhead drops. You can run one agent per repo, hypothesis, or strategy, and only pay attention when needed.\n\nHerdr is closest to tmux or Zellij in the mental model. It gives you persistent panes and remote reattach, but adds agent state and an agent-shaped control surface. If you already live in tmux, you are adopting a younger tool for that layer.\n\nCompared with desktop agent apps, Herdr is less polished, but more honest about where engineering work happens. A terminal multiplexer on the work box survives the laptop closing.\n\nCompared with worktree orchestrators, Herdr is less opinionated. If you want a product that owns task assignment, worktree lifecycle, review flow, and merge policy, use the orchestrator. If you want a flexible runtime where agents, shells, test watchers, logs, and supervisor scripts coexist, Herdr is the better shape.\n\nThere are real risks. Parallel agents mean parallel blast radius. If you run agents with broad bypass permissions, they can all make bad edits at the same time. You still need git discipline, small prompts, isolated worktrees, diff review, and test-first checks.\n\nI would recommend it most strongly to experienced engineers. Anyone can open a few panes, but the API rewards people who know how to split work, define boundaries, review patches, and notice suspicious changes.\n\nThe current generation of coding agents is not limited only by model quality. It is limited by runtime ergonomics.\n\nSingle-chat agent workflows make every task feel linear. Real engineering work is a graph of investigations, tests, reviews, failed attempts, logs, and decisions. Herdr's bet is that the right interface is not a prettier chat window. It is a terminal-native runtime with persistence, state, and an API.\n\nHerdr will not replace judgment, code review, or taste. It will not make every engineer three times faster by default. But for engineers already pushing agents hard, it keeps multiple workstreams alive, visible, and controllable without losing context.\n\nThat is where throughput comes from. Not from pretending one agent is a team. From giving one engineer a sane control surface for many agents, then being disciplined enough to use it.\n\nTo test my projects, I use [Railway](https://railway.com?referralCode=G_jRmP). If you want $20 USD to get started, [use this link](https://railway.com?referralCode=G_jRmP).", "url": "https://wpnews.pro/news/herdr-and-the-throughput-case-for-parallel-coding-agents", "canonical_source": "https://dev.to/pvgomes/herdr-and-the-throughput-case-for-parallel-coding-agents-4dk0", "published_at": "2026-08-01 12:02:08+00:00", "updated_at": "2026-08-01 12:11:00.072535+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-infrastructure"], "entities": ["Herdr", "tmux", "Zellij", "codex"], "alternates": {"html": "https://wpnews.pro/news/herdr-and-the-throughput-case-for-parallel-coding-agents", "markdown": "https://wpnews.pro/news/herdr-and-the-throughput-case-for-parallel-coding-agents.md", "text": "https://wpnews.pro/news/herdr-and-the-throughput-case-for-parallel-coding-agents.txt", "jsonld": "https://wpnews.pro/news/herdr-and-the-throughput-case-for-parallel-coding-agents.jsonld"}}