Claude Code’s agent view: parallel agents, the supervisor, and the missing pieces
2026-07-23
When Claude Code 2.1.139 shipped on 2026-05-11, the changelog led with “Added agent view (Research Preview)” — and, unusually for a changelog entry, linked straight to its documentation. I spent the better part of a day with it when it landed. There is a lot to like, a few things that clearly weren’t finished, and one architectural change that matters more than the UI itself: the supervisor.
What agent view is
Run claude agents and you get a dashboard for dispatching multiple Claude Code sessions in parallel on the same repository. Two defaults make that workable:
- Worktree isolation by default. Each session gets its own automatically created git worktree, so parallel runs never fight over the same files.
- Sessions run as bg sessions. They are owned by an independent supervisor process, not by your terminal. Close the terminal — or the dashboard itself — and they keep working.
The supervisor is the real headline
Run ps while a bg session is active and you’ll find a claude daemon run --spawned-by … process with a PPID of 1. Roll back to 2.1.138 and it’s gone. It spawns the first time you use claude agents, claude --bg, or the /bg command.
Why it matters: Claude Code sessions used to live and die with the terminal. Now there is a resident manager that owns them — and once that exists, a lot becomes possible. One example already works: enable remote control for all sessions, and bg sessions dispatched from agent view show up in the Claude mobile app, where you can keep the conversation going. The app can’t start sessions on your machine yet, but with a supervisor sitting there, that feels like a matter of time. In practical terms, agent view also replaces a good chunk of what Conductor-style multi-agent frontends do — built into the CLI.
Rough edges (as of the research preview)
These impressions are from the early builds — some may have improved since. Three things got in the way repeatedly:
- Worktrees everywhere, branch status nowhere. Every session gets a worktree, but the session list tells you nothing about branch state — merged? mergeable? conflicting? You end up leaving agent view constantly just to run git commands and find out.
- No per-project filter. The dashboard lists every bg session for your user across all projects. Use it in three repos and the list turns into soup.
- No permission mode at dispatch. You can’t pick a permission mode when starting a session from the dashboard. The workaround: launch with
claude --bgor/bg, which accept the mode as usual — the session then shows up in agent view.
It also shipped enabled by default in a point release — you set an environment variable to turn it off, where most experimental Claude Code features have been opt-in. For a research preview, the rollout felt hurried. Still: even in this state, it already changed how I run parallel work.
Using it from a phone: what ServerCC adds
ServerCC — our iOS client for running Claude Code on your own server over SSH — integrates agent view and bg sessions directly, and its worktree tooling happens to cover the gaps above:
- A dashboard scoped to the workspace. Opening Agent View from a workspace launches
claude agents --cwd <workspace>— only that project’s sessions, which is exactly the filter the stock dashboard lacks. A dedicated key row above the keyboard (Space to peek, → to open, Close, Pin) makes it drivable by touch. - bg sessions recognized in session history. Supervisor-managed sessions carry a lowercase bg badge, color-coded by state — working, done, failed. Tap one to re-enter it via
claude attachwith the conversation intact; bg and tmux sessions carry distinct tags in the Running list, and after a connection drop ServerCC reattaches automatically. - The branch status agent view doesn’t show. The worktree list answers at a glance exactly what I kept leaving agent view to check: clean or dirty, commits ahead/behind, and a merge status — Ready to Merge, Merge Conflict (from a dry-run check), or Merged, detected even across squash and rebase merges.
- Worktree operations without leaving the phone. Create a worktree from a base branch, open a session inside one, swipe to merge (cleanup is automatic on success; conflicts auto-abort back to a clean state), swipe to delete. And Git Diff’s worktree picker flips between what each parallel instance actually changed.
One honest caveat: dispatching from the dashboard still can’t set a permission mode — that’s upstream (claude agents rejects --permission-mode). When the mode matters, start a regular ServerCC session with the permission-mode picker and keep it alive in a persistent tmux session instead.
The Agent View entry in ServerCC requires Claude Code 2.1.141 or newer on the server; on older versions the row is disabled with a hint.
Curious how the full mobile workflow looks? Start with Claude Code on iPhone, or dive into the Agent View docs.