Skip to content

teams-tool

Spawn persistent teammate sessions that share a task board and can message each other directly — no hub-and-spoke bottleneck through the orchestrator. Live teammates are in-process; archived teams are persisted to disk so team_resume survives restarts.

The teams dashboard gives you a live workspace for active teams: a left tree for team/member navigation plus teammate status cards with current task, model, last tool, live token meters (↑ input, ↓ output), and a rolling 5-line output preview. Updates stream as team state changes, and teammates keep running while the dashboard is open.

Dashboard rendering follows shared presentation roles: identity/action context is emphasized, while output/feed chatter is shown with lower visual weight.

InputAction
/team-dashboardToggle dashboard on/off
/team-dashboard onEnable dashboard
/team-dashboard offDisable dashboard
/team-dashboard statusShow dashboard status
Ctrl+XToggle dashboard on/off
KeyAction
/ or j / kMove selection in the left tree
Tab / Shift+TabCycle teams
PgUp / PgDnScroll teammate cards by page
Ctrl+U / Ctrl+DScroll teammate cards by half page
Mouse wheel / trackpad scrollScroll teammate cards
EscClose dashboard and return to chat

V1 note: The dashboard is currently in-process only. It reflects the current tallow runtime and does not preserve UI focus/selection state across restarts.

Orchestrator tools (available to you):

  • team_create — create a named team
  • team_add_tasks — add tasks with optional blockedBy dependencies
  • team_spawn — spawn a teammate with a role, model, tool set, and optional agent template
  • team_send — send a message (fire-and-forget or wait for response)
  • team_status — view task board, teammate states, recent messages
  • team_shutdown — abort all teammates and archive the team
  • team_resume — restore an archived team (omit name to list archives)

Teammate tools (injected into each spawned agent):

  • team_tasks — list, claim, complete, or fail tasks (only the assignee can complete/fail a claimed task)
  • team_message — send messages to other teammates
  • team_inbox — check for unread messages

When a teammate completes a task, the extension automatically checks for newly unblocked tasks and idle teammates. If a match exists, the idle teammate is woken and assigned the task immediately — no orchestrator polling needed.

This means dependency chains like A → B → C resolve automatically. Teammates claim parallel work, complete it, and the blocked downstream task dispatches to whoever goes idle first.

Shutting down a team — whether via team_shutdown or session end — archives the team instead of deleting it. The task board, results, and messages are preserved on disk, so team_resume can restore them in a later session after a restart.

Call team_resume to restore an archived team. The restored team has no teammates (their sessions are gone), so spawn fresh ones to pick up where you left off. Any tasks that were claimed when the team was archived are reset to pending.

Call team_resume with no arguments to list all available archives with task summaries.

Team chat logs use ring-buffer retention so long-running teams do not accumulate unbounded message history in memory.

  • newest messages are retained
  • oldest messages are evicted when the retention cap is exceeded
  • unread/read checks continue to work on retained messages only
Env varDefaultEffect
TALLOW_TEAMS_MESSAGE_RETENTION_LIMIT256per-team message cap before oldest entries are evicted
TALLOW_TEAMS_KEEP_FULL_HISTORYunsetset to 1 to disable trimming (debug mode)

Inside the dashboard, Esc closes the dashboard and returns you to chat. It does not kill teammates or archive teams.

Use team_shutdown when you want to stop teammates and archive the team explicitly. Session shutdown still archives active teams automatically.