Split-screen monitor for opencode subagents — watch your master agent and every subagent work side by side in the terminal.
A TUI plugin for opencode that gives you a split view of your AI coding session: the master agent on the left, all active subagents on the right — updating live every 2 seconds. No more tab-flipping between sessions to see what your subagents are doing.
┌─ master · running ──────────────┬─ explorer · running ──┬─ reviewer · running ─┐
│ I'm refactoring the auth flow │ searching for │ reviewing the diff │
│ ── step ── │ middleware patterns │ ⚙ task [running] │
│ 📄 src/auth.ts │ ── step ── │ ── step ── │
│ ⚙ edit [running] │ 🔍 src/api/routes/ │ 📄 src/auth.ts │
│ …(reasoning)… │ 👤 agent │ …(reasoning)… │
│ │ 📸 snapshot │ 📸 snapshot │
└─────────────────────────────────┴────────────────────────┴──────────────────────┘
- 👁 Live split-screen — master agent + all active subagents in one view
- ⚡ Real-time polling — refreshes every 2 seconds, no manual reload
- 🧠 Smart filtering — only shows subagents that worked in the last 3 minutes; idle ones drop out automatically
- ⌨️ One-key toggle —
ctrl+x zto enter/leave split view (also available in the command palette:Split view: toggle) - 🎨 Theme-aware — uses your active opencode theme colors for panes and borders
- 📊 Status badges — per-session status (
running,waiting, …) right in the pane title - 🪶 Zero-config — works out of the box, no setup beyond installing the plugin
git clone https://github.com/thegalkin/opencode-split-view.git ~/.config/opencode/plugins/opencode-split-view
cd ~/.config/opencode/plugins/opencode-split-view
bun install && bun run buildThen add it to your TUI config (~/.config/opencode/tui.json):
{
"plugin": [
"file:///home/USER/.config/opencode/plugins/opencode-split-view"
]
}opencode plugin add opencode-split-viewor add it manually:
{
"plugin": ["opencode-split-view"]
}- Open any session in opencode
- Press
ctrl+x z— the TUI switches to split view - Watch your master agent (left pane) and subagents (right panes) in real time
- Press
ctrl+x zagain to return to the normal session view
The command is also registered in the command palette (ctrl+p → Split view: toggle) under the Split category.
Tip: start a task with subagents (
task(...)), then toggle split view to see all of them work simultaneously.
The plugin:
- Reads the currently open session via the opencode TUI plugin API
- Polls
session.children()every 2 seconds for subagent sessions - Filters subagents by their
time.updated— only sessions active within the last 180 seconds are shown - Renders each session's message parts (text, tools, files, agents, reasoning) into its own bordered pane
- Re-navigates the plugin route with a fresh snapshot so the view stays live
| Constant | Default | Purpose |
|---|---|---|
POLL_MS |
2000 |
Refresh interval for the split view |
ACTIVE_WINDOW_MS |
180000 |
How long a subagent stays visible after its last activity |
To tune these, edit the constants at the top of src/render.tsx and rebuild.
bun install
bun run typecheck # tsc --noEmit
bun run build # bundles src/render.tsx -> dist/tui.jsopencode-split-view/
├── src/
│ └── render.tsx # plugin source (JSX, @opentui/solid)
├── dist/
│ ├── index.js # server entry stub (TUI-only plugin)
│ └── tui.js # built TUI entrypoint
├── package.json # npm package manifest, peer deps, exports
└── tsconfig.json
When opencode runs subagents in parallel, each one gets its own session. The default TUI only shows one at a time — you lose track of what the others are doing. opencode-split-view turns your terminal into an ops dashboard for your whole agent team: kick off a parallel task, open split view, and watch every agent's progress simultaneously. Built for people who run multi-agent workflows and want full visibility without leaving the TUI.