Skip to content

Dashboard

When running agents in multiple worktrees across many projects, it's helpful to have a centralized view of what each agent is doing. The dashboard provides a TUI for monitoring agents, reviewing their changes, staging hunks, and sending commands.

Optional feature

The dashboard is entirely optional. It becomes especially useful when running multiple agents across several projects, but workmux's core workflow works great on its own.

workmux dashboard

For an always-visible, non-intrusive alternative, see the sidebar.

Setup

Prerequisites

The dashboard requires status tracking hooks to be configured. Without them, no agents will appear.

Add this binding to your ~/.tmux.conf:

bash
bind C-s display-popup -h 30 -w 100 -E "workmux dashboard"

Then press prefix + Ctrl-s to open the dashboard as a tmux popup. Feel free to adjust the keybinding and popup dimensions (-h and -w) as needed.

Quick access

Consider binding the dashboard to a key you can press without the tmux prefix, such as Cmd+E or Ctrl+E in your terminal emulator. This makes it easy to check on your agents at any time.

See command reference for CLI options.

Views

The dashboard has two views, toggled with Tab:

  • Agents: Shows all running agent panes with their status, git info, and live terminal preview
  • Worktrees: Shows all git worktrees with branch, PR status, and agent summary. Press r to remove a worktree (kills agent, removes worktree, deletes branch).

Keybindings (Agents view)

KeyAction
1-9Quick jump to agent (closes dashboard)
TabSwitch to worktree view
BkspToggle between current and last agent
dView diff (opens WIP view)
oOpen PR in browser
OOpen PR checks in browser
pPeek at agent (dashboard stays open)
sCycle sort mode
FToggle session filter
fToggle stale filter (show/hide stale)
iEnter input mode (type to agent)
XKill selected agent
RSweep (bulk remove merged/gone)
Ctrl+uScroll preview up
Ctrl+dScroll preview down
+/-Resize preview pane
EnterGo to selected agent (closes dashboard)
/Filter agents by name
j/kNavigate up/down
TCycle theme
:Open command palette
q/EscQuit
Ctrl+cQuit (works from any view)

Keybindings (Worktrees view)

KeyAction
1-9Quick jump to worktree index
TabSwitch to agents view
EnterJump to worktree (agent or mux window)
oOpen PR in browser
OOpen PR checks in browser
aAdd worktree
rRemove worktree
cClose mux window (keeps worktree)
RSweep (bulk remove merged/gone)
sCycle sort mode
pSwitch project
/Filter worktrees by name/branch
j/kNavigate up/down
TCycle theme
:Open command palette
q/EscQuit
Ctrl+cQuit (works from any view)

Columns

  • #: Quick jump key (1-9)
  • Project: Project name (from __worktrees path or directory name)
  • Agent: Worktree/window name
  • Git: Diff stats showing branch changes (dim) and uncommitted changes (bright)
  • Status: Agent status icon (🤖 working, 💬 waiting, ✅ done, or "stale")
  • Time: Time since last status change
  • Title: Claude Code session title (auto-generated summary)

Live preview

The bottom half of the dashboard shows a live preview of the selected agent's terminal output. The preview auto-scrolls to show the latest output, but you can scroll through history with Ctrl+u/Ctrl+d.

Input mode

Press i to enter input mode, which forwards your keystrokes directly to the selected agent's pane. This lets you respond to agent prompts without leaving the dashboard. Press Esc to exit input mode and return to normal navigation.

Sort modes

Press s to cycle through sort modes:

  • Priority (default): Waiting > Done > Working > Stale
  • Project: Group by project name, then by priority within each project
  • Recency: Most recently updated first
  • Natural: Original tmux order (by pane creation)

Your sort preference persists in the tmux session.

Session filter

Press F to toggle the session filter. When active, only agents in the current session are shown. This is useful for session-per-project workflows where each session maps to a repository. You can also start the dashboard with --session to default to session filtering. The preference persists across sessions.

Stale filter

Press f to toggle between showing all agents or hiding stale ones. The filter state persists across dashboard sessions within the same tmux server.

Sweep

Press R in either view to open sweep mode, which identifies worktrees ready for cleanup and lets you remove them in bulk. Worktrees are flagged based on these conditions:

  • PR merged: The associated pull request has been merged
  • PR closed: The pull request was closed without merging
  • Upstream gone: The remote branch has been deleted
  • Merged locally: The branch is fully merged into the main branch with no upstream tracking

The main worktree is never included.

Clean worktrees are pre-selected and can be toggled with Space. Dirty worktrees (uncommitted changes) are shown greyed out and cannot be selected. Press Enter to remove all selected worktrees, or Esc to cancel.

Released under the MIT License.