Skip to content

Agent Team Graph

Applies to: Dispatch v1.0.0, last updated 2026-04-05

This page explains how to open the Agent Team panel, read what the graph shows, and interact with individual agent nodes.

TL;DR: Click the org-chart icon in the header to open the Agent Team panel. It shows every observed agent type as a force-directed graph. Click any node to open that agent’s analytics profile.

Click the org-chart icon button in the top navbar (to the left of the gear icon). The button shows a live-agent count badge when any agents are currently active. The panel opens as a full-screen modal.

Alternatively, clicking View in Org Graph from an agent’s profile panel or from a new-agent toast notification opens the panel with that agent highlighted.

Press Escape or click the backdrop to close.

The graph renders every agent type Dispatch has observed in a session, not just agents with definition files. A central board node represents you (the user). Edges connect the board to agents it spawned directly, and connect agents to other agents they spawned.

IndicatorMeaning
Node sizeScales logarithmically with observed sessions. Larger = more active agent.
Green pill (bottom-right)Number of in_progress tasks across all active sessions for this agent type. Hidden when zero.
Cost chip (top-left)Cumulative session cost. Green = below $0.10 (10¢), amber = $0.10–$1.00, red = above $1.00. Displays as $X.XX (dollars) or ¢X.X (cents).
Amber pulsing ring + timerAgent is waiting for your approval. The label shows elapsed wait time: 42s, 4m, 2h.
Edge widthThicker = higher spawn frequency between those two agents.
Edge colorShifts from the source agent’s role color toward red as the source agent’s error rate rises.
Particle boltAnimated real-time spawn event: an agent just launched a sub-agent. Travels along the edge path with a comet tail.
Glowing haloAgent is currently live (has an active session).
Node emoji or initialsThe agent’s configured emoji, or the first two initials of its name when no emoji is set.
Node colorRole-based: engineering/architect/data = cyan, creative/tech-writer = purple, qa = pink, devops = green, executive/security/compliance = amber. Unknown types get a deterministic color from their name.
InteractionResult
ScrollZoom in/out (only activates when pointer is inside the graph)
Drag backgroundPan the canvas
Drag a nodeMoves it freely; its new position is remembered in memory
Click a nodeOpens the agent’s profile panel
Hover a nodeHighlights connected edges, dims others
Hover an edgeShows tooltip with spawn count and shared epics
Lock / Free toggle (top-right button)Free (default): nodes float without snapping back. Locked: nodes spring toward their last dragged positions. Positions are in-memory only and are lost on page refresh.

Rendering mode: The graph uses SVG for small fleets (crisp, accessible, inspectable). With many nodes it switches to Canvas for a consistent frame rate.

On narrow viewports the force-directed graph is replaced by a list view: agent type pills sorted by name, showing session count, task count, top collaborator, and a performance score badge where available. Tapping any row opens the agent’s profile panel.

The data behind the graph nodes comes from the analytics API, which persists to ~/.dispatch/agent-profiles.json. The same data populates the analytics section of the Agent Profile Panel.

Profile data is written to disk periodically while the server is running and on clean shutdown.

The graph synthesizes minimal nodes from live session spawn edges immediately, before any profile data has accumulated. When the profile API has not yet returned data for an agent type, Dispatch creates a synthetic node from the spawn relationships visible in the current session list. These synthetic nodes display the agent name and session count only. The cost chip, performance score, token gauges, and other analytics are absent until profile data builds up after at least two completed sessions.

Once real profile data is available, the synthetic nodes are replaced and the full analytics layer is shown.

The performance score is a composite 0–100 value computed from:

  • Task completion rate
  • Token efficiency (output tokens relative to input + cache)
  • Error rate (lower is better)
  • Session activity level

The score carries a trend indicator (improving ↑, stable →, or declining ↓) based on the rolling direction of recent score snapshots.

Edges in the graph are derived from spawn relationship data tracked per agent profile. When agent A spawns agent B, Dispatch records the relationship. The edge weight displayed is normalized relative to the most frequent spawn relationship in the graph.

Each agent node displays the emoji from the agent’s definition file frontmatter, falling back to two-letter initials when no emoji is set. You can set or change an agent’s emoji:

  • In the Hire wizard (click + Agent in the header): an emoji input and quick-pick palette appear in step 1
  • In the Edit Agent drawer: the same input and palette appear in the definition editor

The emoji field is written to the agent’s .md file as a Dispatch-specific frontmatter field. Claude Code ignores this field; it is only read by Dispatch. See Agent Catalog: Frontmatter fields for the full field reference.