cd /news/ai-agents/oss-radar-04-the-agent-multiplexer-i… · home topics ai-agents article
[ARTICLE · art-119920] src=gkoreli.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

OSS Radar #04: The Agent Multiplexer Is Becoming a Runtime

Herdr 0.8.2, an open-source terminal multiplexer for coding agents, now functions as an early agent runtime by owning real PTYs and enabling shared server-side sessions for humans and agents. Its protocol version 20 frames requests over local sockets, caps payloads at 2 MB, and supports semantic frames or terminal ANSI, while its wait path tracks pane state rather than individual turns. Mitchell Hashimoto announced Superlogical on July 29, a rival theory that will build on similar public components like libghostty, but is not yet a code-level competitor.

read7 min views4 publishedAug 21, 2026
OSS Radar #04: The Agent Multiplexer Is Becoming a Runtime
Image: Gkoreli (auto-discovered)

Herdr 0.8.2 is an open-source terminal multiplexer built around coding agents. It owns real PTYs, keeps sessions alive, tracks agent state, and lets people and agents act on the same server-owned panes through client and automation protocols. That shared session is enough to call Herdr an early agent runtime. Its current limit is also in that path: much of the lifecycle still comes from interpreting a terminal screen, and its waits track state rather than one turn.

Mitchell Hashimoto announced Superlogical on July 29. The company will start with a terminal multiplexer, then make its parts composable and safe for production. Herdr already ships a narrower version of that bet. Herdr uses libghostty

; Superlogical says it will build on the same public components. Superlogical is a rival theory, not yet a code-level competitor.

The pane became an addressable agent #

Mature multiplexers already keep sessions alive and expose automation surfaces. Herdr packages a more specific contract: every agent gets a stable name, state, terminal identity, and command surface. A person can watch the TUI while another agent runs herdr agent prompt reviewer "Check the diff" --wait

. Both use the same server-owned session.

The server protocol is not a thin wrapper over keystrokes. Protocol version 20 frames requests over local sockets, caps normal payloads at 2 MB, and negotiates either semantic frames or terminal ANSI for rendering. The server owns the workspaces, tabs, panes, and PTYs. Clients come and go.

An agent multiplexer becomes a runtime when control and lifecycle share the same durable session.

That claim can be proven wrong. If state is too weak for automation, or recovery restores a layout without restoring the work, Herdr remains a good multiplexer with agent labels.

A prompt is one server operation #

Resolve Agent target Pin pane and terminal identityvalidate - Submit PTY input Write text, then encoded Enterobserve - Track Lifecycle event Gate activity from a non-working startsettle - Return Agent state Idle, done, or blocked

The request handler first rejects an empty prompt. It resolves the named agent to a pane and checks that the pane still contains the expected foreground process. If the agent is already blocked, Herdr returns agent_blocked

before it writes anything. Otherwise it encodes the prompt for the pane's live terminal mode, sends the text, waits 300 milliseconds, then sends Enter.

The wait path records the event sequence and terminal identity before submission, so a replacement process cannot satisfy the old wait. From a non-working start, Herdr caps its activity gate at five seconds or the caller's shorter timeout. Only a longer caller timeout can produce agent_prompt_stalled

. It then waits for idle

, done

, or blocked

by default.

The wait code tracks the pane occupant and state sequence, not a unique prompt or agent turn. If the agent is already working, completion of that earlier turn may satisfy the new wait. Callers still need output checks or an agent-native result ID when the distinction matters.

State has two authorities #

Herdr can learn agent state from a native integration or from the terminal itself. Integrations call pane.report_agent with a source, sequence, state, and optional native session reference. Session-only integrations report an ID without changing waits or status. When no hook owns the state, Herdr inspects the foreground process and visible terminal shape.

Authority What Herdr gets Limit
Native report Semantic state and optional session identity Every agent exposes a different lifecycle
Screen detection Broad support from process and terminal output Prompts, titles, and spinners change

Version 0.8.2 shows the cost. Its fixes teach Qwen Code's localized confirmation states and strip new Claude Code title-spinner frames. Herdr can support a terminal agent without owning its API, but it must follow that agent's UI changes.

The detector damps that noise. A transition from working to plain idle waits for repeated confirmation, and stable blocked signals refresh on a timer. The project docs still say an unfamiliar prompt can appear idle instead of blocked until Herdr learns its screen shape. That mistake changes the sidebar and waits. It does not make Herdr answer the prompt by itself.

Persistence has four meanings #

“The session survives” is too vague for an agent runtime. A client can detach while the server and PTY keep running. A restarted server can restore workspace and pane state. Supported integrations can resume native agent conversations from stored IDs. Experimental handoff tries to transfer live panes to a new server during an update. Those are separate guarantees.

Herdr keeps the separation in code. persist.rs stores session state, optional screen history, and plugins in different files. The native-resume layer accepts session references only from recognized Herdr integration sources, limits their size, and builds an agent-specific resume command. A saved screen and a resumed Codex conversation are not the same artifact.

Recovery path What can survive What still needs proof
Detach / reattach Live server, PTY, process, terminal state Multi-client behavior under long output
Server restart Layout, optional history, supported agent session ID Conversation and child-process outcome
Experimental handoff Live pane process on supported Unix paths Failure rollback and cross-platform behavior

I inspected these paths but did not run the recovery test for this issue. The adoption verdict stays inside that evidence boundary: detach is a core product path, while restart and handoff need a controlled trial before any of them carry unattended work that matters.

Superlogical is the rival theory #

Superlogical calls the missing layer a durable session around the work itself. Its three-step plan starts with a terminal multiplexer, makes its parts composable, then makes the system safe for production. The first product promises web, macOS, and iOS clients, live sharing, and native scrollback and selection.

As of August 20, no public Superlogical multiplexer repository or beta was linked from its announcement or site. Its architecture is not available for a code comparison. The public claim I can test is narrower: it will use the same MIT-licensed libghostty

components that Herdr already vendors.

libghostty-vt's public terminal API accepts terminal output, maintains screen state, and exposes it to an embedder. It does not create or manage the PTY. The public C API is also marked incomplete and subject to breaking changes, which explains why Herdr pins a source commit. Superlogical must still build process supervision, durable sessions, transport, auth, sharing, storage, and client policy.

libghostty lowers the cost of terminal correctness. It does not ship the multiplexer.

Herdr and Superlogical may fit together. Herdr is opinionated about coding agents and works inside an existing terminal over SSH. Superlogical says agents are one kind of work inside a wider session, with native and web clients from the start. They still compete for the durable terminal session. Partnership remains a theory until either project publishes an integration.

Use the narrowest owner that solves the job #

Start two overlapping turns in one agent pane. Submit the second through agent prompt --wait

while the first is working. The wait passes only if the caller can bind the returned state and output to the second request. Herdr does not provide that turn identity today; an agent-native receipt or output assertion must close it.

Run the same Codex and Claude tasks through detach, server restart, and experimental handoff. Record the child process, terminal screen, native conversation, and accepted task result separately. A green layout alone does not pass.

Try Herdr now when several CLI agents run on a local or remote machine and both a person and another agent need to inspect them. Keep the multiplexer you already trust when general terminal persistence matters more than native agent state. Watch Superlogical when live sharing, native clients, or production policy is the job, but wait for a beta before treating it as an alternative. Herdr has crossed the line from multiplexer to early runtime, but reliable turn identity and recovery will decide whether it stays there.

[Herdr v0.8.2 release](https://github.com/herdrdev/herdr/releases/tag/v0.8.2)

Herdr wire protocol

Agent prompt handler

Agent wait path

Agent report handlers

Pane runtime construction

Herdr libghostty-vt manifest Session persistence

Restore and handoff entry points

Native agent resume

Herdr agent-state docs

Agent detection transitions

[Mitchell Hashimoto announcement](https://mitchellh.com/writing/superlogical)

[Superlogical product plan](https://www.superlogical.com/)

[libghostty direction](https://mitchellh.com/writing/libghostty-is-coming)

Ghostty terminal C API

[Ghostty libghostty-vt header](https://github.com/ghostty-org/ghostty/blob/48ccec182a932c2ec04c344d45a5fc553861cb13/include/ghostty/vt.h)

[Ghostty discussion #11348](https://github.com/ghostty-org/ghostty/discussions/11348)
── more in #ai-agents 4 stories · sorted by recency
── more on @herdr 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/oss-radar-04-the-age…] indexed:0 read:7min 2026-08-21 ·