Open source

Guide · Multi-agent operations · 6 min read

How to manage multiple coding agents without watching every terminal.

You stop watching terminals when one place tells you which session needs you. That place can be a dashboard you glance at or a voice you hear. The rest is splitting the work so sessions rarely need you, and reviewing results one at a time.

Eight session managers, each from its own README or site · Checked October 10, 2026 · Heard-specific listening setup

The short answer

Put every session’s state in one place, then answer only the one that needs you.

To stop watching every terminal, get one signal per state change instead. A session manager such as agent-manager, Agent of Empires or agent-view shows every session’s status in one list and can raise a desktop notification. A voice layer such as Heard (heard.dev) tells you out loud which session asked a question, hit a failure or finished. Either way, you go to a terminal only when it has something for you.

That only works if sessions rarely need you. Give each agent one task, its own files or git worktree, and a check that proves it is done. Then review one finished result at a time.

Tools

Session managers for running coding agents in parallel.

From each project’s own README or site, checked October 10, 2026. All eight are open source.

ToolWhat it isPlatformsWhere it stands out
agent-managertmux TUILive status list, quick prompts, worktrees, diff reviewmacOS, Linux, Windows via WSL2Reviewing diffs without leaving the list
Agent of EmpiresTUI + webPersistent tmux sessions with status detection and notificationsLinux, macOS, Windows via WSL2Docker, Podman or Apple Containers sandboxing; a phone view
agent-dashboardtmux + PWAGroups sessions by state and sends your input to the one that needs youmacOS, LinuxWorkflow gates enforced by hooks; approve and reply from a phone
agent-viewtmuxLightweight session manager with status and OS notificationsmacOS, Linux, WSLA small setup with native “finished” and “needs input” alerts
canopyTUIOne tmux session per git worktree, every agent at a glancemacOS, LinuxWorktree-first workflows
seshionsTUIReusable blueprints that launch role-based agent teamsNot stated; needs tmux and Node.js 18+Dispatching or broadcasting a prompt to a role or group
StarAgentwebWeb dashboard for sessions on several machinesWindows, Linux, macOSCross-machine access over Tailscale; its README says it is for personal use and in active development
AgentMuxdesktopAn “agent operating environment” with each agent as a pane; its site labels it alpha softwareWindows first; macOS and Linux builds lag (per its site)Runs the vendor CLIs as structured panes, with optional container runs for Claude Code
Heardvoice layerSpeaks which session needs you and what changed. Live session cards in Settings; no diff review or worktreesmacOS 14 or laterHearing state changes away from the screen; spoken replies on Power

Heard (heard.dev), the voice layer for coding agents, is our product. It is not a session manager. It narrates Claude Code and Codex sessions running on the same Mac, including ones a session manager started in tmux, because it follows the agent rather than the terminal. Agents on another machine, including Claude Code or Codex, can report to Heard through its MCP connector instead.

(1)Partition

Split along stable boundaries.

Good parallel tasks have minimal overlap and independently testable outcomes. Routes, components, migrations, test suites, documentation, and investigation work often divide cleanly. A broad “improve the app” task does not.

  • One outcome per session.
  • Explicit file or subsystem ownership.
  • A named check that proves completion.
  • A stopping rule for uncertainty or scope expansion.
Session brief, one per agent
Task:      Add rate limiting to the /login routeOwns:      src/routes/login.ts, src/middleware/rate-limit.tsDone when: npm test -- login passesStop if:   the change needs a schema migration

(2)Isolate

Use separate workspaces for separate writers.

When agents edit concurrently, separate branches or worktrees reduce accidental overwrites and make each diff reviewable. Shared state is appropriate for read-only research; simultaneous edits to the same files are a coordination failure.

Several of the tools above create the worktree for you: agent-manager, canopy, agent-view and Agent of Empires all have a worktree option.

One worktree per agent
git worktree add ../finance-app-auth -b agent/auth
git worktree add ../finance-app-docs -b agent/docs
cd ../finance-app-auth && claude

(3)Observe

Route attention by state, not by window.

Every session is in one of a few states, and only some of them need you. Session managers name them slightly differently (agent-view uses Running, Waiting, Idle, Stopped and Error), but the split is the same.

  • Running: working on its own. Leave it alone.
  • Waiting for input: it asked a question. Needs you.
  • Blocked on approval: a permission prompt. Needs you, often quickly.
  • Failed: a test, build or API error stopped it. Needs you.
  • Done: ready for review. Needs you when you next have review time, not right now.

(4)Integrate

Review one result at a time.

Inspect the diff, run the required checks, resolve conflicts deliberately, and record what was accepted. Only then close the session or assign follow-up work. This keeps finished work from piling up unreviewed.

(5)Dashboard or voice

A dashboard needs a glance; a voice reaches you away from the screen.

A session manager is the better tool when you are at the screen: you see every session at once, and several let you review diffs, create worktrees or approve from a phone. You still have to look at it, or catch its notification banner.

A voice layer is the better tool when your eyes are on something else: another editor, a document or the kitchen. It tells you which session changed state without you looking. Heard does this for Claude Code and Codex on a Mac. You can use both: the list for review, the voice for knowing when to look.

(6)With Heard

What Heard says when several sessions run.

With two or more sessions running, questions, failures and results come through as they happen, and routine activity is batched into short summaries that start with the project name. To choose the spoken name, add label: My Project to the repo’s .heard.yaml. The listening mode sets how much you hear.

  • Co-pilot: short updates while you are at the screen.
  • Companion: fuller narration when you step away.
  • Focus: quiet until an agent needs a decision from you, such as a question, an approval or a failure. Switch to Focus as the number of sessions grows.

(7)Reply

Answer the right session without finding its window.

On Heard Power, hold right ⌘ and start with the agent’s name, for example “Claude, run the tests again”, and Heard delivers it to that session. If two sessions match, Heard asks which one. In Co-pilot and Focus your words are typed into the agent’s input for you to review and send; in Companion they are sent after a short pause. For the Codex desktop app, Heard also lists your threads, jumps you to the right one and can type your reply into its composer.

Choose

Which setup fits how you work.

Start with the lightest setup that keeps you out of the terminals.

  1. Two or three sessions, you are at the screen

    Worktrees plus built-in notifications

    One worktree per agent, plus Claude Code’s own desktop notification (on by default in Ghostty, Kitty and iTerm2; in other terminals set preferredNotifChannel to "terminal_bell" for a terminal bell instead) or a Notification hook. Nothing else to install.

  2. Many sessions, you review a lot of diffs

    A session manager

    agent-manager, canopy or Agent of Empires give you one list with status, worktrees and a diff view.

  3. Untrusted code or risky commands

    Agent of Empires

    Its README lists Docker, Podman and Apple Containers sandboxing.

  4. Approvals from your phone

    agent-dashboard or Agent of Empires

    agent-dashboard has a phone PWA for approvals and replies over your local network; Agent of Empires has a web dashboard whose structured view shows approval cards on a phone.

  5. Eyes on something else, on a Mac

    Heard

    Spoken state changes with the project name, Focus mode for decisions only, spoken replies on Power. Works next to a session manager when the manager’s Claude Code or Codex sessions run on the same Mac.

Setup checklist

Set up a batch you do not have to watch

  1. Write one brief per session Task, owned files, the check that proves it is done, and when to stop and ask.

  2. Give each writer its own worktree git worktree add by hand, or let your session manager create it.

  3. Name sessions by task Use the deliverable as the session or worktree name. Heard speaks the project folder name, or the label: in that folder’s .heard.yaml.

  4. Turn on one attention signal A session manager’s status list and notifications, Claude Code’s built-in notification in Ghostty, Kitty or iTerm2, or Heard in Focus mode.

  5. Walk away and answer by exception Go to a session only when it is waiting, blocked or failed.

  6. Review and integrate in sequence Verify each result before starting the next batch.

Product facts

What is supported today

Best supported
Claude Code + CodexNarrated through native hooks.
Status and approvals
Cursor, GitHub Copilot CLI, Gemini CLISessions show in Heard, plus approval requests where the tool supports them. Not narrated.
Workspace hosts
tmux, cmux, GhosttyHeard follows the agent, not the terminal.
Cloud and remote agents
MCP connectorGrok Bot, Meta Muse, Devin, and Claude Code or Codex on another machine report by voice.

Questions

Frequently asked questions

How can I manage multiple coding agents without watching every terminal?

Use one place that tells you which session needs you: a session manager’s status list and notifications, or a voice layer such as Heard that speaks state changes. Give each agent its own task and worktree so it rarely needs you, and review finished work one result at a time.

How many coding agents should I run at once?

Use the smallest number whose work you can still review and integrate promptly. Add another session only when the last batch has been reviewed.

Should agents share a working directory?

Read-only research can share context. Concurrent writing is safer in separate worktrees or clearly isolated files.

Does Heard work with tmux, agent-manager or Agent of Empires?

Heard’s Claude Code and Codex integrations attach to the agent and its local session data, not to a terminal window, so Claude Code and Codex sessions that tmux or a session manager starts on your Mac are still narrated. Claude Code or Codex on another machine can report through Heard’s MCP connector instead. Heard runs on macOS 14 or later.

Does Heard show a dashboard of my sessions?

Heard shows your live sessions as cards under Home in Heard Settings, and clicking a card jumps to that session’s window. It is a voice layer, not a session manager: no diff review, worktrees or sandboxing. For those, use a session manager next to it.

What does Heard say first when several sessions need attention?

Heard ranks events by importance, so a question, approval, failure or blocker in one session can speak before routine progress from another, and routine work is summarized. Your listening mode sets how much you hear.

Ready when your agents are

Hear the work without watching every screen.

Start with the full Heard Power experience for 14 days. No card required. The open source engine remains free.

Download Heard for Mac macOS 14 or later · Claude Code and Codex supported