[FEATURE] Single-agent, multi-terminal sessions (daemon + client workflows)
Summary
Claude Code today supports multi-pane terminals via Agent Teams (teammateMode: "tmux" / iTerm2 split panes), but Agent Teams is designed for multiple agents — one teammate per pane. This request is for the complementary case: a single Claude agent that owns multiple terminals so it can run a persistent daemon in one and drive it from another, without spawning sub-agents or losing live output.
User context
I recently switched to the Claude Desktop app after running Claude Code inside the VS Code integrated terminal. One of the things I immediately missed is the ability to have multiple terminals open in the same working context — something VS Code supports by default and which made daemon + client workflows effortless. Reproducing that inside Claude Desktop would remove one of the biggest friction points of the migration.
Motivating workflows
- Daemon + client. Run a dev server, API, database, or WebSocket daemon in one terminal and hit it with
curl, a test client, or a REPL in another. Today the options are: background the server and lose live logs, or step outside Claude Code entirely. - Log tailing alongside active work.
tail -f,docker logs -f, orkubectl logs -fin one pane while running commands in another. - Watchers and builders.
npm run dev,vite,webpack --watch,cargo watch, orpytest --watchrunning continuously while one-off commands execute elsewhere. - Multi-service local stacks. Frontend + backend + worker, each needing its own terminal for live output.
- Debugger + target process.
gdb/lldb/ language-specific debuggers in one terminal, program under test in another. - Git ops during long-running tasks.
git status/ diffs / commits while a build or test suite runs.
How this differs from Agent Teams
| Agent Teams | This request |
|---|---|
| One agent per pane (teammates) | One agent, many panes |
| Panes coordinate as collaborators | Panes are tools the agent uses |
| Optimized for parallel agent work | Optimized for daemon/client-style workflows within a single task |
Agent Teams can't currently be repurposed for this because each pane runs its own Claude instance with its own context.
Proposed behavior
- Allow a single session to open multiple named terminals (tabs, panes, or a terminal list).
- Claude addresses terminals by name/ID: send input to a specific terminal, read output from any of them.
- Long-running processes (servers, watchers) persist in their own terminal while Claude continues working in others.
- Ideally reuses the existing pane-backend abstraction (tmux, iTerm2, and the in-flight zellij / WezTerm / Windows Terminal backends) that Agent Teams already uses.
- Optionally: Claude can watch output from a background terminal and react when something meaningful happens (test fails, server logs an error).
Why it matters
Most non-trivial development is not a single linear command stream — it is a server plus clients, a build plus tests, a watcher plus edits. A single terminal forces Claude to stop and restart processes, or hand control back to the user mid-task. Adding single-agent multi-terminal support — on top of the pane infrastructure that already exists — would unlock a large class of real-world workflows without the overhead of spawning multiple agents.
Related
teammateMode: "tmux"/ Agent Teams (existing, complementary feature)- Active pane-backend work: zellij, WezTerm, Windows Terminal issues
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗