[FEATURE] Agent roster view in the Claude apps: named persistent agents, @agent routing, approvals inbox (Grok Bot-style, multi-agent)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Related but different: #97892 asks for always-on assistant behaviour (calls, SMS, media generation), and #95625 asks for a CLI gateway daemon that routes events to personas. This request is about the app UI: how several long-lived agents are presented and talked to. #89629 (avatars for session names) is a small piece of the same idea.
Problem Statement
Most of the building blocks for running several agents already exist in Claude Code: cloud sessions, sessions that can message each other, subagents, Routines, Remote Control. What's missing is an app surface that presents them as a team.
Today the desktop, web and mobile apps show a list of conversations. When I run a few long-lived agents with different jobs (one researching, one watching a deploy, one reviewing), I have to:
- remember which session is which from its title,
- open each one to see whether it is working, idle or waiting on me,
- copy context between them by hand, or ask one to message another without seeing that exchange anywhere,
- find out an agent was blocked on an approval only when I next open it.
Grok Bot's desktop and iOS apps treat the agent as a named, persistent thing with its own computer that you go back to, not a chat you start. That model works well, and it would work better with more than one agent.
Proposed Solution
An agent-roster view in the Claude apps (desktop, web and mobile, same roster on each):
- Roster sidebar. Named agents, each with an avatar or emoji and a live status: idle, working, needs approval, failed. A one-line "currently doing" under each name.
- One persistent thread per agent. Opening an agent shows its ongoing thread, its environment and its recent artifacts, rather than a new conversation each time.
@agentrouting from one composer. A shared "team" thread where@researcher find Xsends the task to that agent, and its reply comes back into the same thread.- Visible handoffs. When one agent messages or delegates to another, show it inline as a handoff row that expands into the exchange.
- Approvals inbox. One place listing every agent that is blocked on a permission prompt or a question, with a push notification on mobile and approve/deny from the notification.
- Per-agent setup. Role prompt, model, tools/connectors and permission mode set once on the agent's card and reused.
A roster built on the existing session, Routine and subagent primitives would cover this. It doesn't need a new runtime.
Surface: Claude desktop app (Code tab), claude.ai/code and the mobile apps.
Alternative Solutions
- Several sessions with careful titles and tags. Works, but status and blocked prompts are only visible by opening each one.
- Subagents or workflows inside one session. Good for a single job, but they end with the task and have no identity I can return to.
- Running Grok Bot next to Claude Code for the "persistent named agent on my phone" part.
Priority
Medium - Would be very helpful
Feature Category
Other
Use Case Example
- I keep three agents: a researcher, a builder and a reviewer, each with its own role prompt and tools.
- From my phone I write
@researcher compare these two librariesin the team thread and put the phone away. - The researcher finishes and hands off to the builder; I see the handoff row in the thread.
- The builder hits a permission prompt. I get a push notification, approve it from the lock screen, and it carries on.
- Back at my desk, the roster shows the reviewer is working and the other two are idle. I open the reviewer's thread and pick up from there.
Additional Context
Similar products: Grok Bot (desktop and iOS apps, a persistent named agent with its own cloud computer, plugin marketplace). The request is that model with a multi-agent roster on top.
🤖 Generated with Claude Code