DevPik Logo
claude-codeanthropicai-agentsdeveloper-toolsai-newstutorial

Claude Code Agent View: The Complete Hands-On Guide

If you've been running Claude Code seriously, you've already hit the wall: 5 tmux panes, 7 named sessions, a mental ledger of which one is waiting for permission. Anthropic shipped the fix on May 11, 2026.

ByMuhammad TayyabPublished:13 min read
Back to Blog
Claude Code Agent View: The Complete Hands-On Guide

From tmux grids to one screen

If you've been running Claude Code seriously, you've already hit the wall: five tmux panes, seven named sessions, a mental ledger of which one is waiting for permission, which one finished, which one needs a follow-up. The constraint stopped being the model an hour ago. The constraint is you, switching contexts.

Anthropic shipped the fix on May 11, 2026. It's called agent view, and it's exactly what it sounds like: one screen for every Claude Code session you have running, grouped by state, with peek-and-reply built into the same view. From the official launch post: "With agent view in Claude Code, you can kick off new agents, send them to the background, and jump in only when Claude needs you."

Agent view is a Research Preview, requires Claude Code v2.1.139 or later (claude --version), and ships today on Pro, Max, Team, Enterprise, and Claude API plans. This guide is the long-form version of the official docs: every shortcut, every shell command, every state icon, three real-world workflows, and an honest comparison with subagents and agent teams so you know which one to reach for.

What is Claude Code agent view?

Agent view is a full-terminal dashboard that lists every background Claude Code session running under your config directory, regardless of which project, worktree, or repository each one is in. Each row shows the session's name, what it's currently doing, how long ago it last changed state, and a PR link if the session opened one.

You enter it two ways:

  • From the shell: claude agents
  • From inside any Claude Code session: press on an empty prompt

That second entry point is what makes the feature work as an actual workflow. You're mid-implementation on Feature A, you want to investigate something unrelated, press the left arrow, dispatch the new task, peek at it as it runs, arrow back to Feature A. No tab switching. No tmux pane shuffling. One terminal.

The list is grouped by state. Needs input sits at the top, then Working, then Ready for review (sessions with open PRs awaiting your review), then Completed. Pinned sessions float to the very top, and old completed sessions fold into a "… N more" row to keep the screen calm.

Two things agent view explicitly does not show: subagents running inside a session (those are workers in the parent's context window, not separate sessions) and interactive sessions you have open in other terminals (those haven't been backgrounded yet). The view is for parented background sessions only.

Quick start: your first four commands

The whole feature collapses to four interactions. Walk through these in order on a real project.

1. Open agent view.

bash
claude agents

Agent view takes over the terminal. There's an input at the bottom and a table that fills in as sessions start. Press Esc at any time to exit — your sessions keep running.

2. Dispatch a session.

Type a prompt in the input and press Enter. A new background session starts and shows up as a row. Repeat. Each one runs independently and burns its own slice of your quota, so plan accordingly. After a few sessions are running, the screen looks like the launch example:

text
Pinned
  ✽ clawd walk cycle          Write assets/sprites/clawd-walk.png           3m
Ready for review
  ∙ jump physics              github.com/anthropics/example/pull/2048       2h
Needs input
  ✻ power-up design           needs input: double jump or wall climb?       1m
Working
  ✽ collision detection       Edit src/physics/CollisionSystem.ts           2m
  ✢ playtest level 3          run 12 · all checkpoints cleared           in 4m
Completed
  ✻ title screen              result: menu, options, and credits done       9m
  ∙ sound effects             result: 14 SFX exported to assets/audio       4h

3. Peek and reply.

Arrow to the row you care about, press Space. The peek panel opens with the session's most recent output and any blocking question. Type a reply, press Enter — it goes to that session without ever leaving the view. Multiple-choice questions get number-key shortcuts. Press Tab to fill a suggested reply you can edit before sending. Prefix with ! to send a Bash command instead of a message.

4. Attach.

Press Enter or on a row to take the terminal over with the full session, exactly as if you'd run claude in that directory. When you attach, Claude posts a one-paragraph recap of what happened while you were away. Press on an empty prompt to detach.

Every session state, explained

Every row's icon carries two independent signals. The indicator tells you what state Claude is in. The icon shape tells you whether the underlying process is alive.

IndicatorStateWhat it means
Animated ✽WorkingClaude is actively running tools or generating a response
Yellow ✻Needs inputClaude is waiting on a permission decision or an answer
DimmedIdleWaiting for input but not blocked on a specific question
GreenCompletedTask finished successfully
RedFailedTask ended with an error
GreyStoppedSession stopped with Ctrl+X or claude stop

Then the icon shape, which is independent of the indicator:

  • (or animated ) → process is alive, you can reply instantly
  • → process has exited, but Claude restarts it from where it left off the moment you peek, reply, or attach
  • → a /loop session sleeping between iterations; the row shows the iteration count and a countdown to the next run

The one-line summary in each row ("Edit src/physics/CollisionSystem.ts", "result: 14 SFX exported") isn't hand-written. It's generated by your configured Haiku-class model and refreshes at most once every 15 seconds while a session is active, plus once at the end of every turn. Each refresh is a short request billed through your normal provider under the same data-usage terms as the session itself.

Three ways to dispatch a new agent

You can start a background session from three places, and the choice matters.

From inside agent view

Type a prompt and press Enter. The session is named automatically from the prompt — rename it later with Ctrl+R. Paste an image (screenshot, diagram) directly into the input and it goes along with the task. The prompt can use these prefixes:

InputEffect
<agent-name> <prompt>If the first word matches a custom subagent, that subagent runs as the session's main agent
@<agent-name>Mention a subagent anywhere in the prompt to run it as the main agent
@<repo>Mention a sibling repository to dispatch into it
/<skill>Suggest a skill to dispatch
#<number> or full PR URLSelect the existing session working on that PR instead of dispatching new
Shift+EnterDispatch and immediately attach to the new session

When the same @name matches both a subagent and a sibling repo, the subagent wins. Use @ to be explicit.

From inside a session

Run /background (or its alias /bg). The current conversation detaches and keeps running. Pass a trailing prompt to send one more instruction before detaching:

text
/bg run the test suite and fix any failures

From the shell

--bg starts a new session that goes straight to the background:

bash
claude --bg "investigate the flaky SettingsChangeDetector test"

Combine --bg with --agent to run as a specific subagent:

bash
claude --agent code-reviewer --bg "address review comments on PR 1234"

After backgrounding, Claude prints the new session's short ID and the four commands you'll use to manage it:

text
backgrounded · 7c5dcf5d
  claude agents             list sessions
  claude attach 7c5dcf5d    open in this terminal
  claude logs 7c5dcf5d      show recent output
  claude stop 7c5dcf5d      stop this session

Complete keyboard shortcut reference

Press ? inside agent view to see all of these in-app. Memorize the top half.

ShortcutAction
/ Move between rows
EnterAttach to the selected session, or dispatch if there's text in the input
SpaceOpen or close the peek panel for the selected session
Shift+EnterDispatch and attach immediately
Attach to the selected session
Alt+1Alt+9Attach to the Nth session in the focused group
TabBrowse all subagents, or apply the highlighted suggestion
Ctrl+SSwitch grouping between state and directory
Ctrl+TPin or unpin the selected session
Ctrl+RRename the selected session
Ctrl+GOpen the dispatch prompt in your $EDITOR
Ctrl+XStop the session; press again within two seconds to delete
Shift+↑ / Shift+↓Reorder the selected session
EscClose peek panel, clear input, or exit
Ctrl+CClear input; press twice to exit
(Inside any session) background and return to agent view
Ctrl+Z(Inside a session with a focused dialog) force-detach immediately
?Show all shortcuts
!<command>(In the peek panel) send a Bash command to the session

Filter syntax — type these in the dispatch input to filter the list instead of dispatching:

FilterShows
a:<name>Sessions running the named agent
s:<state>Sessions in that state (e.g. s:blocked)
#<number> or a PR URLThe session working on that pull request

Three useful behaviors that aren't obvious: pressing Enter on a group header collapses it; Ctrl+X on a group header deletes every session in that group after confirmation; your Ctrl+S grouping choice persists across runs.

Shell command reference

Every background session has a short ID (eight hex characters) you can use from any shell. These are the script-friendly version of agent view.

CommandPurpose
claude agentsOpen agent view
claude attach <id>Attach to a session in this terminal
claude logs <id>Print the session's recent output
claude stop <id>Stop a session (alias: claude kill <id>)
claude respawn <id>Restart a stopped session with its conversation intact
claude respawn --allRestart every stopped session at once
claude rm <id>Remove the session from the list
claude --bg "<prompt>"Start a new background session from this directory
claude --agent <name> --bg "<prompt>"Start as a specific subagent
claude --bg --permission-mode <mode> "<prompt>"Override the directory's default permission mode

A note on the last row: bypassPermissions and auto are refused when passed to --bg unless you've already accepted that mode interactively at least once. The reasoning is straightforward — a background session you aren't watching shouldn't be allowed to act without approval the first time.

How background sessions actually work

The architecture is a per-user supervisor process, separate from your terminal and from agent view itself.

The supervisor starts automatically the first time you background a session or run claude agents — you never manage it directly. Each background session is its own Claude Code process, parented to the supervisor rather than your shell. That's the whole reason sessions survive when you close the terminal, exit the shell, or even auto-update Claude Code mid-session.

Process lifecycle is conservative. A session that's actively working, waiting on you, or has a terminal attached keeps its process running. Once a session finishes and sits unattached for about an hour, the supervisor stops the process to free RAM. The transcript and state stay on disk, and the next time you peek, reply, or attach, the supervisor starts a fresh process from the saved state. When every session is finished and no terminal is connected, the supervisor itself exits and starts again the next time you need it.

State persists on disk under your Claude Code config directory:

PathContents
~/.claude/daemon.logSupervisor log
~/.claude/daemon/roster.jsonList of running background sessions, used to reconnect after a restart
~/.claude/jobs/<id>/state.jsonPer-session state shown in agent view

Set CLAUDE_CONFIG_DIR to point the supervisor at a different directory; it runs as a separate instance with its own sessions. The supervisor also watches the installed Claude Code binary on disk (a local file watch, not a network check) and restarts into the new version after the auto-updater replaces it. Because background sessions are detached processes, they survive that restart, and the new supervisor reconnects to them on startup.

The interesting half is file isolation. Every background session starts in your working directory but is blocked from writing to it. The moment a session needs to edit files, Claude moves it into an isolated git worktree under .claude/worktrees/ automatically. Parallel sessions can read the same checkout simultaneously, but each writes to its own. The block doesn't apply when the session is already inside a worktree, when the directory isn't a git repo, or to writes outside the working directory. To make a specific subagent always run in its own worktree regardless of how it's started, set isolation: worktree in its frontmatter. The worktree is removed when you delete the session, so merge or push the changes you want to keep first. This is the same daemon architecture surfaced in the leaked Claude Code source, now visible at the product layer.

Agent view vs subagents vs agent teams: when to use which

Three Anthropic-blessed patterns, three different problems. They are not interchangeable.

  • Subagents are workers inside one Claude Code session. The parent agent delegates a side task — research, code review, file scan — to a subagent that runs in its own context window and returns only the summary. The conversation stays clean. Subagents never talk to each other. They report to the parent.
  • Agent teams are multiple Claude Code sessions that coordinate on a shared task list and message each other directly. One session is the lead. Teammates challenge each other, share findings, and claim work via file locking. Experimental, off by default, requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
  • Agent view is the dashboard for many fully independent sessions you supervise yourself. No shared task list, no inter-agent messages. Each session runs alone and reports only to you. PRs are the deliverable.
You wantUse
Many independent tasks running in parallel, you review the outputAgent view
One conversation that needs side work without polluting contextSubagents
Multiple sessions that need to talk to each other and share stateAgent teams
Quick-fire bug fixes that each end in a PRAgent view
A long debug where 3 hypotheses need to argue with each otherAgent teams
Routing a code-reviewer worker inside your main sessionSubagents

The rule of thumb: choose by who needs to talk to whom. If only you need to see the output, agent view. If the parent agent needs the output, subagents. If the workers need to argue with each other, agent teams. The three layer cleanly — a session you launch in agent view can itself use subagents internally, and an agent team's lead session can show up as a single row in agent view.

Three workflows you'll actually use

These are the three patterns that justify the feature.

1. The PR shotgun

You have five small bugs filed. Each one is a 20-minute fix you don't want to context-switch through serially. Dispatch them in parallel and come back to five PRs:

bash
cd ~/code/your-repo

claude --bg "fix #481: timezone bug in invoice export — see the issue for repro"
claude --bg "fix #492: pagination breaks on empty result set"
claude --bg "fix #498: email validation rejects + sign"
claude --bg "fix #501: dark mode contrast on settings page"
claude --bg "fix #504: typo in onboarding copy"

claude agents

Wait 20 minutes, open agent view, review the Ready for review group. Each session works inside its own .claude/worktrees/<id>/, runs CI on its branch, and the row shows the check status next to the PR link. Merge the green ones. Reply in the peek panel to fix the rest.

2. The long-running watcher

A /loop session that re-runs an evaluation against the latest commit on a schedule. You don't want a tmux pane for it. You also don't want to forget it exists.

bash
claude --bg "/loop 1h regenerate the dashboard from latest metrics and post a Slack summary if anything drifts >5%"

In agent view, this shows up as the distinctive icon with a run count and a countdown to the next iteration. Peek with Space every few hours, attach with Enter only if something looks wrong.

3. The investigation plus context switch

You're attached to a session implementing Feature A. CI fires off an alert about a flaky test in a different repo. You need to investigate without losing your place.

text
(inside Feature A)  ←  (on empty prompt)
(agent view opens, Feature A is now a row)
@other-repo investigate the flaky SettingsChangeDetector test   Enter
(new session dispatched, you stay in agent view)
↑↑↑   (back to the Feature A row)
Enter   (attach back into Feature A)

Total context-switch overhead: maybe four seconds. Without agent view this is a new tmux pane, a cd, a claude invocation, a mental tag for "remember to come back," and three context-switch taxes. With agent view it's one arrow press. This is the workflow that actually changes how you work, not the dashboard itself.

Limitations and gotchas

Some of these you'll hit on day one.

  • Rate limits apply per session. Each parallel agent burns your quota independently. Ten agents equals ten times the burn. On Pro this is enough rope to throttle yourself in under an hour.
  • Sessions are local. Sleep your laptop and every running session stops. Wake it, run claude respawn --all, and they pick up from disk.
  • Worktrees are deleted with the session. Merge or push before you delete. If you forget, recover with git worktree list and git worktree remove <path> from the project directory.
  • Research Preview = unstable surface. The interface, shortcuts, and supervisor implementation may shift between Claude Code releases.
  • Admin lockout. Organizations can disable agent view entirely with the disableAgentView managed setting or the CLAUDE_CODE_DISABLE_AGENT_VIEW environment variable.
  • Subagents inside a session aren't separate rows. They're workers inside the parent's context window, not parented to the supervisor.
  • Interactive sessions in other terminals don't appear until you background them with /bg or on an empty prompt.
  • Reliability isn't fixed by infrastructure. Agent view multiplies your parallelism, not the underlying model's quality. The 67% Claude Code degradation we documented earlier this year hits ten parallel agents just as hard as it hit one.

Why this launch matters

Anthropic ran Code with Claude 2026 two weeks ago and shipped zero new models. They shipped Dreaming (long-horizon background reasoning), Outcomes (multi-attempt-with-judge), multi-agent orchestration improvements, Add-ins, and now Agent View. Every announcement was infrastructure.

That isn't a slowdown. It's a strategy. The model capability curve for coding agents is now well past the threshold where one agent can solve a typical PR-sized task end-to-end. Claude Opus 4.7 clears 80% on SWE-Bench. GPT-5.4 clears similar marks on computer-use tasks. The bottleneck for production agent systems isn't can one agent do the task. It's can one human supervise twelve agents doing twelve tasks at once.

That's the bet Agent View is built on. The harness — the dashboard, the supervisor process, the worktree isolation, the peek-and-reply loop — is the thing that lets human oversight scale to match model throughput. Anthropic is racing the rest of the field on harness rather than on raw benchmark numbers, and on the early reaction from developers (the launch tweet from the team lead became one of the most-shared AI dev posts of the week) the bet looks like the right one.

Frequently Asked Questions

What version of Claude Code do I need for agent view?
Claude Code v2.1.139 or later. Check with `claude --version`. The feature is a Research Preview, so the minimum version is likely to move — `claude` auto-updates by default, and the supervisor process even watches the binary on disk and restarts into the new version automatically, so you usually don't have to upgrade by hand. If your terminal still doesn't recognize `claude agents`, your install is older than 2.1.139 or you've disabled auto-updates.
Is Claude Code agent view free?
The agent view feature itself is free — it's part of Claude Code. What isn't free is the model usage underneath. Each background session burns subscription quota independently, the Haiku-class model that generates the one-line row summaries makes a short request roughly every 15 seconds while a session is active, and running ten agents in parallel costs roughly ten times as much as running one. The feature is available today on Pro, Max, Team, Enterprise, and Claude API plans.
How many Claude Code agents can I run in parallel?
There is no hard cap from Anthropic — the limit is your rate limit and your wallet. Each parallel session uses your subscription quota the same as an interactive session, so ten agents drain quota roughly ten times faster. In practice, three to five concurrent agents is the sweet spot for Pro and Max users; teams running on Enterprise and the Claude API can push higher. If you're hitting rate limits, group bigger work into one session rather than splitting into more parallel ones.
What's the difference between agent view and subagents?
Subagents are workers inside one Claude Code session — they handle side tasks (research, scans, reviews) in their own context window and report only the summary back to the parent. Agent view manages separate sessions that you supervise directly, each with its own conversation, working directory, and worktree. Rule of thumb: subagents when the parent agent needs the result, agent view when only you need the result. They're complementary — a session you launch in agent view can itself use subagents internally.
Do background sessions survive when I close my laptop?
They survive closing your terminal and even Claude Code auto-updates, but they don't survive sleep or shutdown. The supervisor process is local to your machine — when the machine sleeps, every running session pauses. After wake, sessions show as Stopped (grey indicator). Run `claude respawn --all` to restart every stopped session at once, or attach/peek/reply to any single stopped session and it auto-restarts from its saved state in `~/.claude/jobs/<id>/state.json`.
How do I disable agent view in my organization?
Two ways. Set the `disableAgentView` setting to `true` in your managed settings file — administrators can enforce this through managed settings the same way they enforce other Claude Code policies. Or set the `CLAUDE_CODE_DISABLE_AGENT_VIEW` environment variable for the user or shell. Either method disables both agent view and the background-session supervisor. This is the right choice for regulated environments where local long-running processes need to be reviewed before being allowed on developer machines.
Can I use agent view with custom subagents?
Yes — custom subagents are first-class in agent view's dispatch input. Three ways to launch one as a session's main agent: type the subagent's name as the first word of a prompt (e.g. `code-reviewer review the auth module`), mention it inline with `@code-reviewer`, or run from the shell with `claude --agent code-reviewer --bg "..."`. To force a subagent to always run in its own git worktree regardless of how it's dispatched, set `isolation: worktree` in its frontmatter.
Muhammad Tayyab

Written by

Muhammad Tayyab

CEO & Founder at Mergemain

Muhammad Tayyab builds free, privacy-first developer tools at DevPik. He writes about AI trends, developer tools, and web technologies.

More Articles