atrium — Docs
docs/agents/activity.md

Activity sidebar

A unified view of every agent in the project.

The activity sidebar is atrium's "what is happening right now" surface. It shows every running agent across the project with status, last event, and quick actions — expanded into cards or collapsed to a strip of status dots.

Toggle it with Cmd+Shift+A. The same sidebar is what the menu-bar popover renders, so you get the identical cards without bringing the window forward.

Layout

The sidebar groups cards by project into collapsible sections, each with a count chip and the project's icon. Project order matches the Home sidebar; section names truncate at the chevron rather than wrapping. Within each project group, rows appear top to bottom in this order:

  1. Live terminal rows — foreground processes currently running in terminal panes, ringed with the adapter accent so they pop while running. Click a row to jump to the pane. Hover for stop (SIGTERM) and close pane actions.
  2. Stopped-process rows — when you stop a foreground process or it crashes, its command stays in the sidebar with a play button to re-run it, a stop/play toggle if it's running again, and a remove-from-sidebar button to hide it without closing the pane. Commands that exit cleanly on their own (clear, ls, a successful build) do not surface — only non-clean exits and user stops.
  3. Pinned cards — agents you marked Later; stay visible even when idle.
  4. Background cards — see Background agents.
  5. Active cards — agents that are working, waiting for input, or were recently stopped.
  6. Dismissed cards — kept in a collapsed region so you can undo a dismissal.
Project filtering surfaces a count badge so you can tell at a glance how many cards are hidden by the current filter, and Later / Dismissed flags survive filter changes. Projects can also be hidden from the sidebar entirely from the project row's context menu.

Background agents

An agent does not need a mosaic tile to keep working. Send to background detaches its pane from the room while the process keeps running headless; the card moves into its own Background section, badged, with live status. Bring it back and it returns to a fresh room, focused.

Send an agent to the background from the card's context menu, its hover actions, or the close dialog — closing an agent pane offers backgrounding as an alternative to killing it. A launch profile can also set its launch target to background, so a launch never takes a tile in the first place.

Background agents that need attention still bubble up and still fire OS notifications.

atrium agent list                    # foreground panes + background runs
atrium agent background <ref>        # detach from the room, keep running
atrium agent foreground <ref>        # re-attach to a fresh room and focus
atrium agent dismiss <ref>           # soft: kill the process, keep the session resumable
atrium agent resume <ref>            # re-spawn a dismissed run in place
atrium agent stop <ref>              # hard: kill and mark the run cancelled
atrium agent launch <slug> --background

Stop is not dismiss. dismiss is soft and resumable — the session is preserved and the card stays put. stop is terminal — the run is cancelled and leaves the Background section.

Status states

Each agent card shows a status badge. States (driven by hook events from the adapter):

  • idle — waiting for input.
  • working — processing; a tool call is in flight.
  • waiting-for-input — blocked on a user prompt.
  • needs-permission — a tool permission is pending.
  • stopped — killed by signal or exited.
  • crashed — unexpected exit.
  • rate-limited / auth-failed / billing-exceeded — special stop reasons surfaced when the adapter reports them.
A session that stops on an error carries a distinct "stopped with error" badge; it clears automatically once the agent recovers and gets back to work. Cards also surface resume-in-flight and resume-failed states, so a restart that didn't take is visible rather than silent.

Permission prompts and questions get distinct badges — "needs permission" and "waiting on an answer" are different problems — and a permission prompt can be resolved from the card itself.

The adapter's accent color appears on the card's border so you can tell Claude, Codex, and the rest apart at a glance.

Per-card actions

  • Click — jump to the agent's pane.
  • Message — an inline reply field. Cmd+Enter or Ctrl+Enter sends the text to the agent.
  • Popout — pop the card's pane out into its own room without taking your eyes off the sidebar.
  • Right-click — a full context menu on the card, mirroring the kebab.
  • Kebab menuDismiss, Later (pin), Send to background, Close pane, View details.
  • Undo (on dismissed cards) — restore to active. Resume is also available on dismissed and idle cards directly from the card and the collapsed-sidebar tooltip.
  • Nudge (on stopped or resume-failed panes) — ask the adapter to pick back up where it left off.
Tooltips on sidebar chrome (the popout, dismiss, and message buttons) appear instantly rather than after a hover delay, so flicking the pointer past each card surfaces the label without breaking flow.

When an agent goes idle, the pane dims to an idle backdrop with a full-resolution screenshot of its last visible state (an active wallpaper shows through), a Resume button in the foreground, and the same dismiss/later affordances as the sidebar card. Resuming brings the pane back live without restarting the adapter session.

Omni Chat

Any agent card can expand into an Omni Chat dock — a scrollable chat right in the sidebar, so you can follow and reply to an agent without leaving the pane you're working in. From the dock you can:

  • Send prompts and attach files to the agent.
  • Interrupt it mid-turn.
  • See its pending question surfaced directly on the card when it's blocked on input.
The conversation persists across app restarts, so reopening the dock picks up where you left off rather than starting blank. The same chat dock is reachable for kanban cards with an active run — see Tasks.

Runs

Per-project run commands — dev servers, watchers, builds started from the project sidebar — surface in a Runs section that spans every room, so a server started in one room stays visible no matter where you are. Each run row carries stop, clear, edit, and open-in-room controls, and a live scrollback preview on hover. While any terminal or run command is still active, the sidebar won't claim "All quiet."

Working vs. waiting

A card flips from working to waiting-for-input only when the adapter and all of its subagents have nothing in flight. If a primary turn finishes but a spawned subagent is still running, the sidebar keeps the card in working instead of falsely flashing waiting. The same logic drives the dock badge and OS notifications.

Density

Four densities, toggleable per project:

  • Full — status, last event, progress details, tool call summary, permission preview.
  • Semi — status badge with the last event time.
  • Compact — a status dot and the adapter's accent color, with hover actions.
  • Ultra-compact — the tightest rows, centering the project glyph and fitting the most agents on screen at once. Unfocused cards go transparent so the focused one reads immediately.
Set under Settings → Activity → Density.

Collapsed mode

Clicking the sidebar's collapse chevron shrinks it to a rail. The rail keeps real sections rather than one undifferentiated strip: each dot represents one agent with its status color, grouped as in the expanded view. The focused pane's dot gets a focus ring so the spatial cue isn't lost when the sidebar is narrow. Hover to preview the full card; click to expand back.

Notifications

  • OS notifications — a native macOS notification fires for status transitions you care about (for example, working → waiting-for-input). Enable under Settings → Activity → Notifications. Clicking one jumps directly to the pane that posted it, even when atrium isn't the focused app.
  • Sound — a configurable notification sound (Settings → Notifications), defaulting to Glass, plus per-agent sound configuration.
  • Toasts — in-app popovers for cross-room events. Useful when you are in another room and an agent needs attention.
  • Dock badge — the app icon shows a count of agents needing input.
  • The menu bar — see The daemon → The menu bar for the tray's working/waiting fleet counts.

Adapter color scheme

Per the current design, the focused pane's card gets an accent wash across the whole card. Unfocused cards share a neutral resting border; per-adapter accent color shows up as a side ring rather than a full card tint.