Active Agents Panel

Active Agents Panel

Workflow UI is enabled by default. Start Prowl with PROWL_WORKFLOW_UI=0 to hide its UI and skill row; CLI workflow and skill commands remain available. The switch is read at process startup.

A live list of every running agent across all worktrees, with status and one-click jump-to-agent. Your mission-control roster.

Keywords:active agentsagents panelrunning agentsstatus listworkingblockeddoneidlejump to agentroster

What it is#

A collapsible panel at the bottom of the left sidebar that lists every agent currently detected across all worktrees/tabs/panes, in real time. Each row shows the agent (Claude, Codex, …), its repository/branch context, and a status pill. Click a row to jump straight to that agent’s pane.

Toggle: ⌘⌥P (toggle_active_agents_panel), the sidebar footer button, or Command Palette → “Toggle Active Agents Panel”.

What each row shows#

[icon]  AgentName · RepositoryName        [status pill]
        pane title or branch (secondary)
  • Icon — the detected command/agent icon. Aliases such as oh-my-pi use their canonical runtime icon; unknown wrappers fall back to the agent icon, then a sparkle.
  • Title — detected command/agent name + repository (repo color-coded); command aliases such as omp are shown directly. Panes Prowl launched from an agent profile show the profile’s display name instead (frozen at launch).
  • Subtitle — the agent’s pane title (if showActiveAgentTabTitles) or branch name. The pane title is the surface’s own terminal title, falling back to the tab title, so agents in different splits of one tab keep distinct subtitles. Rapid title animation is coalesced to at most one visible update per second; status, session, directory, and other row changes still appear immediately.
  • Status pill — one of:
StatusMeaningLook
Workingactively processingorange, animated indicator
Blockedwaiting for you (a prompt)red
Donefinished, not yet seenblue
Idlenothing running / seengrey

Rows appear in the order agents are first detected. (See agent-detection for how these states are determined.) A row whose pane is bound to an active workflow run replaces its subtitle with in <workflow> · <role> for the life of the run.

Interactions#

  • Click a row → focuses that worktree + tab + pane and brings Prowl forward. A Done row downgrades to Idle once viewed in the active, visible Prowl window. Internal focus changes while the window is inactive do not clear the completion.
  • Right-click a row for the context menu:
    • Run Workflow ▸ — one entry per runnable workflow visible to the agent’s worktree; starts it with this pane fixed as the current role’s source (opening the start sheet when something needs a decision). Shown only when at least one runnable workflow exists. See workflows.
    • Mark as Read — clears the pane’s unread notifications without switching to it.
    • Copy Path / Reveal in Finder — the agent’s working directory (or its owning worktree’s directory when the agent hasn’t reported one).
    • Copy Session Path / Reveal Session in Finder — the on-disk session log of the agent’s native session (e.g. Claude Code’s ~/.claude/projects/<encoded-cwd>/<session-id>.jsonl). Shown only when Prowl has resolved the session to a file (see agent-detection); agents with server-side or store-only sessions (e.g. Amp threads) don’t offer it.
  • Keyboard navigation: ⌥⌃↓ next agent, ⌥⌃↑ previous agent (wraps).
  • Resize the panel by dragging its top edge (height is remembered).
  • Auto-show: if autoShowActiveAgentsPanel is on and the panel is hidden, a newly detected agent opens it automatically.

Empty state#

When nothing is running: “New agents will appear here”.

The top-right button toggles Show Agent Island, using the same persisted setting as Settings → Agents → Display. The top-inset icon uses the primary theme color when enabled and neutral gray when disabled. Its tooltip names the next action. Holding Command replaces the button with the existing agent navigation shortcut hint; customized bindings keep the existing hint-suppression behavior.

Settings#

Settings → Agents → Display:

  • autoShowActiveAgentsPanel — pop the panel open when an agent appears.
  • showActiveAgentTabTitles — show each agent’s pane title (surface title, falling back to the tab title) instead of its branch.
  • showActiveAgentStatusInShelf — show detected agent status markers on Shelf tab icons.
  • Panel height and hidden/shown state are persisted automatically.
  • Agent Island projects this same roster at the top of a selected display; its state counts and Blocked/Done callouts do not introduce separate state or read logic.

Relationship to other features#

  • Agent detection (agent-detection) feeds this panel.
  • CLI (cli) exposes the same roster through prowl agents and prowl agents --json. The command is read-only; text output shows a current pN pane handle, while JSON keeps the canonical pane.id. Use either with prowl focus --pane, prowl read --pane, or prowl send --pane for follow-up actions.
  • Notifications (notifications) are driven by a separate signal — terminal bell / OSC desktop notifications and command-finished events — which usually coincides with, but is not the same as, a detected finish.
  • Canvas (canvas) is the spatial counterpart — cards light up on that same notification/unread signal, not on the detected status itself.
  • Shelf (shelf) mirrors detected agents as status markers on each owning tab icon; clicking a marked tab uses the same jump-to-agent behavior as clicking a panel row. This can be turned off with showActiveAgentStatusInShelf.

Gotchas for agents#

  • “Blocked” is the actionable state — it means an agent is waiting on a human (a permission/confirmation prompt). Surface these first.
  • This panel reflects detected agents; detection is best-effort (see agent-detection). For the same detected roster in automation, use prowl agents --json. For an all-pane inventory, including non-agent shells, use prowl list --json.