Session Orchestration Tools

Tools that manage multiple AI coding agent sessions — spawning, monitoring, dashboards, lifecycle management.

Parent: Agentic Development Tools


Arbor

Repogithub.com/penso/arbor
LanguageRust (nightly, edition 2024) + TypeScript (web UI)
Architecture12-crate workspace: gui, httpd daemon, core, terminal-emulator, ssh, mosh, symphony, mcp, cli
UIGPUI native desktop app (Zed’s GPU-accelerated framework) + Vite web UI
Agent detectionClaude Code, Codex, Pi, OpenCode — reads session files, shows working/waiting state
TerminalOwn PTY daemon via portable-pty, sessions persist across app restarts
tmuxNone — replaces tmux entirely with its own multiplexing
Maturity487 commits, pre-1.0 (v0.1.0), excellent README, Homebrew formula, CI/releases

What it does well

  • Full desktop workstation: embedded terminal, side-by-side diffs, PR review, agent chat, 38 themes, command palette
  • Daemon persistence: PTY sessions survive app restarts (conceptually like tmux server)
  • MCP server (arbor-mcp): exposes repos, worktrees, terminals, processes, tasks, agent activity
  • Multi-repo worktree management with issue linking (GitHub/GitLab)
  • Symphony orchestration (optional): workflow runtime with Linear integration, Codex runner, rate-limit tracking
  • Remote outposts: SSH/Mosh transport for remote worktree management
  • Web UI: synced with native app, enables remote access

What it lacks (vs ws)

  • No tmux — can’t tmux attach from a bare terminal
  • Desktop app paradigm — heavier than a TUI for quick checks
  • Rust nightly dependency
  • Single maintainer (bus factor)

Evaluation for extending

Arbor is the strongest candidate for extending rather than building from scratch. Adding tmux session support to its daemon would bridge the main gap. The 12-crate architecture is clean and modular. The GPUI framework is powerful but niche (Zed-specific). The web UI is more practical for remote monitoring than any TUI.

Key question: is the GPUI dependency acceptable, or would you want to strip the native GUI and use only the daemon + web UI + CLI?


Overstory

Repogithub.com/jayminwest/overstory
LanguageTypeScript, Bun runtime
ArchitectureCommander.js CLI, SQLite persistence, tmux as execution substrate
UIRaw ANSI TUI (no framework — chalk + escape codes, polling every 2s)
Agent support8 runtimes: Claude Code, Sapling, Pi, Copilot, Cursor, Codex, Gemini, OpenCode
Terminaltmux sessions (deep integration)
tmuxCore substrate — all agent sessions are tmux sessions
Maturity1,237 commits in ~1 month, v0.9.1, single developer, excellent docs

What it does well

  • tmux-native: spawns agents in tmux with proper env injection, PATH setup, nesting guard removal
  • Git worktree isolation: each agent gets its own checkout
  • Inter-agent coordination: SQLite mail system (8 message types), FIFO merge queue, 4-tier conflict resolution
  • Hierarchical agents: orchestrator coordinator lead workers (scout, builder, reviewer, merger, monitor)
  • Watchdog health monitoring: 3-tier system (mechanical daemon, AI-assisted triage, monitor agent)
  • 36 CLI commands across workflow, coordination, messaging, merge, observability
  • Token/cost instrumentation per agent, per run, per capability

What it lacks

  • Dashboard is raw ANSI (no scrolling, no interaction beyond Ctrl+C) — worse than Bubbletea
  • TypeScript/Bun — not Go or Rust
  • Extremely heavyweight for “just manage N sessions + dashboard”
  • Single developer, extremely rapid development (1,237 commits in 1 month raises sustainability questions)
  • Opinionated workflow (enforces git worktrees, instruction overlays, capability hierarchy)

Evaluation for extending

If you want full multi-agent orchestration (merge queues, agent coordination, task tracking), overstory is remarkably complete. But if you want a focused session manager + dashboard, it’s over-engineered. The raw ANSI dashboard would need a full rewrite (ratatui or similar) to match ws quality.


Comparison

Capabilityws (custom Go)Arbor (Rust)Overstory (TS/Bun)
LanguageGoRust (nightly)TypeScript/Bun
TUI dashboardBubbletea (interactive)GPUI native + web UIRaw ANSI (read-only)
tmux integrationCoreNone (own PTY)Core
Agent detectionClaude Code onlyClaude/Codex/Pi/OpenCode8 runtimes
Worktree isolationManual (ws wt create)Built-inBuilt-in
Inter-agent messagingNoneNoneSQLite mail system
Merge coordinationNoneNoneFIFO queue + conflict resolution
MCP serverNoneYesNone
Remote accessNoneWeb UI + SSH outpostsNone
ComplexityLow (~600 LOC)High (12 crates)Very high (36 commands)
MaintainabilityFull controlRust nightly, GPUIBun dependency, single dev