Teams (Multi-Agent)
When Claude orchestrates multiple agents to complete a task, Magia surfaces the collaboration as a structured team conversation rather than a flat event log. You can follow each agent’s work in real time, filter down to a single agent’s thread, and drill into nested subagent transcripts.
How teams work
Section titled “How teams work”A team session starts when Claude emits a team.created event and spawns one or more teammate agents via teammate.spawned. Each agent receives a name and a color assigned by the orchestrator. They work independently — reading files, running tools, writing code — and communicate back to the orchestrator through teammate.message events.
When all agents finish, a team.deleted event marks the team as dissolved. The total wall-clock duration is recorded from team.created to team.deleted.
Team conversation view
Section titled “Team conversation view”Clicking into a team conversation from the session sidebar opens the Team Conversation View, a dedicated panel with a breadcrumb back to the main chat.
The panel has three sections:
- Header — shows the team name and the number of active agents.
- Filter bar — one tab per agent, plus an “All” tab. Selecting an agent filters the timeline to events from that agent only.
- Timeline — a chronological stream of messages, task events, and lifecycle chips.
Message bubbles
Section titled “Message bubbles”Each teammate message is rendered as a TeamMessageBubble: a card with a colored left border and a color dot next to the agent name. The color is assigned by the orchestrator (green, blue, yellow, red, purple, cyan, orange, pink, teal) and mapped to a consistent hex value. Message bodies are rendered as Markdown.
Lifecycle chips
Section titled “Lifecycle chips”State transitions appear inline in the timeline as compact chips rather than full messages:
| Event | Chip label | Color |
|---|---|---|
team.created | Team created | Emerald |
teammate.spawned | joined | Blue |
teammate.terminated | left | Orange |
team.deleted | Team dissolved | Red |
Idle notifications (teammate.idle) are suppressed from the timeline to reduce noise.
Task events
Section titled “Task events”When an agent calls TaskCreate, TaskUpdate, or TaskList, a brief italicized system line appears in the timeline: for example, “Task created: implement auth middleware” or “Task #3 → completed”.
Per-agent filtering
Section titled “Per-agent filtering”The filter bar lists every agent that appeared in the session. Selecting an agent’s tab narrows the timeline to events where teammate_id or agent_id matches. Switching back to “All” restores the full chronological view.
Subagent hierarchy
Section titled “Subagent hierarchy”Agents spawned by other agents (not the top-level orchestrator) appear in the main chat as SubagentCard components. Each card shows:
- The agent’s description and type.
- Live progress messages streamed from
agent.progressevents while the agent is running. - A status icon (spinning loader, green check, or red X).
- Stats after completion: total tokens, tool uses, and wall-clock duration.
- A link icon to open the subagent’s full transcript in a dedicated sub-session view.
Cards are indented based on nesting depth (1 rem per level, capped at 3) so you can visually read the hierarchy. Depth 0 is the orchestrator’s direct subagents; depth 1 is agents they spawned, and so on.