Directory Filtering

Overlay panel showing a hierarchical tree of all session directories. Toggle individual folders or entire parent groups. Applied exclusions persist to configuration.

  • Space to toggle a directory on or off
  • Space on a parent toggles all children
  • / to collapse and expand nodes
  • Enter to apply, Esc to cancel
Filter panel with directory tree
Filter panel showing hierarchical directory tree with toggles

Sorting

Six sort fields cycled with s: updated, created, turns, name, folder, frecency. Direction toggled with S (Shift+S). The active sort field and direction are shown in the header.

  • Descending by default
  • Ascending via S toggle
  • Sort applies within groups when a pivot mode is active
Sorted by last updated
Session list sorted by last updated timestamp
Sorted by folder
Session list sorted alphabetically by folder

Grouping Modes

Six pivot modes cycled with Tab: flat list, folder, repository, branch, date, host. Grouped modes display a tree view with collapsible folder headers showing session counts.

  • All groups start expanded
  • / to collapse and expand groups
  • x to expand or collapse all groups at once
  • Double-click a folder header to launch a new session in that directory
Flat list
Flat list with no grouping
Grouped by folder
Sessions grouped by working directory
Grouped by repository
Sessions grouped by Git repository
Grouped by branch
Sessions grouped by Git branch
Grouped by date
Sessions grouped by date

Time Range Filtering

Four ranges via keys 14: last 1 hour, last 1 day (default), last 7 days, all time. Displayed as selectable badges in the header bar.

  • Clickable badge buttons in the header
  • Active range highlighted with a visual indicator
  • Default range is "last 1 day"
Last 1 hour
Time range set to last 1 hour
Last 7 days
Time range set to last 7 days
All time
Time range set to all time

Preview Panel

Toggle with p. Shows session metadata (created, updated, turn count, working directory), conversation history rendered as chat-style bubbles, checkpoints (up to 5), referenced files (up to 5), external references (up to 5), and related sessions (up to 5). Sessions with aplan.md file show a "Plan: Yes" indicator.

  • PgUp / PgDn for keyboard scrolling
  • Mouse wheel scrolling in 3-line increments
  • Scroll indicators: ▲ lines above / ▼ lines below
  • Responsive width: 30–40% of terminal
  • o to toggle conversation sort order (oldest/newest first)
  • c to copy session ID to clipboard (or click the ID row)
  • Alt+1Alt+5 or click a related session to jump to it
  • y to copy selected preview text to clipboard
Preview with session conversation
Preview panel showing session conversation bubbles
Scrolled preview showing checkpoint details
Preview panel scrolled to checkpoint details

Preview Position

Cycle the preview pane through four positions with the Pkey: right (default), bottom, left, and top. The chosen position is saved to configuration and restored on next launch.

  • Right — preview beside the session list (default)
  • Bottom — preview below the session list
  • Left — preview to the left of the session list
  • Top — preview above the session list

Launch Modes

Four launch modes: in-place (replaces the TUI), new tab, new window, and split pane (Windows Terminal only). Resume interrupted sessions with N. The default is configurable via settings. Override per-session with w (window), t (tab), or e (pane).

  • Ctrl+double-click forces a new window
  • Shift+double-click forces a new tab
  • Pane mode supports directional splits: auto, right, down, left, up (see pane direction semantics below)
  • Windows: uses wt commands for Windows Terminal
  • macOS: supports Terminal.app and iTerm2
  • Linux: detects and delegates to the active terminal emulator

Pane Direction Semantics

The pane_direction config value maps to Windows Terminal's-H / -V split-pane flags:

  • down-H — horizontal split (divider runs horizontally, new pane below)
  • up-H — horizontal split (WT controls actual placement)
  • right-V — vertical split (divider runs vertically, new pane right)
  • left-V — vertical split (WT controls actual placement)
  • auto / empty — no flag; Windows Terminal decides automatically

Note: -H / -V control splitorientation only. Windows Terminal decides actual pane placement based on available space.

Launch behavior is platform-specific and adapts to the detected terminal. No screenshot — the result is a new Copilot CLI session opening in your configured terminal.

Project Quick Start

Add absolute directories to project_roots and Dispatch scans them for git repositories. Repos without a recent Copilot session appear as New session rows in the session list.

  • Enter starts Copilot in the repo root
  • Uses the same launch mode, shell, terminal, agent, model, and yolo settings as existing sessions
  • Scanning is asynchronous and skipped when no project roots are configured

Quick-start rows are generated locally from configured roots and are hidden automatically once that repo has a recent session.

Multi-Session Open

Select multiple sessions with Space, then open them all at once with L. Use Ctrl+click for mouse selection, or Shift+click for range select. Works with folders too — L on a folder opens every session under it.

  • Space toggles selection on the current session (✓ indicator)
  • Shift+/ extends selection in a contiguous range
  • a selects all visible sessions
  • d deselects all
  • L launches all selected sessions, or all in a folder
  • Selection count shown in footer
Multi-select with ✓ indicators
Session list with multiple sessions selected showing checkmarks

Attention Indicators

Colored dots next to each session show real-time AI activity status. Dispatch scans session-state directories for lock files and event logs to determine which sessions need your input, which are actively working, and which have gone quiet.

  • Waiting (purple ●) — AI finished, waiting for your input
  • Active (green ●) — AI is currently working
  • Stale (yellow ●) — running but no activity for 15+ minutes
  • Interrupted (orange ⚡) — session was killed by crash/reboot mid-work
  • Idle (gray ○) — session not running
  • n to jump to next waiting session
  • N to resume all interrupted sessions
  • R to scan work status across sessions with plans
  • ! to open the attention status filter picker (includes "Has plan", "Favorites only", and work status rows)
Filter by attention status
Attention status filter picker showing waiting, active, stale, interrupted, and idle options

Plan Indicator

Sessions that contain a plan.md file display a small dot indicator in the session list. The plan file lives at~/.copilot/session-state/{session-id}/plan.md and is scanned automatically when sessions load.

  • Dot indicator on sessions with a plan file
  • v to view the rendered plan in the preview pane
  • Filter via the ! status picker "Has plan" row
  • Footer badge shows ! plans when the filter is active
Plan indicator dots in session list
Session list showing plan indicator dots on sessions with plan.md files
Plan preview pane
Preview pane showing rendered plan.md content
Plan filter active — only sessions with plans shown
Session list filtered to show only sessions with plans

Work Status Detection

Dispatch analyzes plan.md files to identify sessions with incomplete planned work. A three-pass scan chain runs automatically: quick plan parsing detects unchecked checkboxes, a full pass extracts task counts, and an optional AI pass uses the Copilot SDKanalyze_completion tool for deeper analysis. Sessions display colored dot indicators in the session list so you can spot unfinished work at a glance.

Status Indicators

  • Complete (green ✓) — all planned tasks are done
  • Incomplete (yellow !) — unchecked tasks remain (shows task count, e.g. "2/5 done")
  • Analyzing (magenta ~) — scan in progress

Scan Chain

  • Quick scan — parses plan.md for unchecked checkboxes and pending items
  • Full scan — counts total/done tasks and extracts remaining items
  • AI scan — Copilot SDK analyze_completion for nuanced completion analysis (requires API access)

Features

  • Work status displayed in preview panel metadata (Work: ✓ Complete / ! Incomplete)
  • Filter by work status via the ! status picker (incomplete, complete)
  • Press R to scan work status across all sessions with plans
  • Scans also run automatically on reindex and periodic attention ticks
  • Continuation plans — sessions with remaining items get a "Remaining Work" section auto-appended to their plan.md
Work status indicators in session list
Session list showing triangle warning icons for incomplete work and check icons for complete work
Work status rows in the status picker
Status picker showing work status filter rows for incomplete and complete sessions

Session Hiding

h hides the currently selected session.H (Shift+H) toggles visibility of all hidden sessions. Hidden sessions appear dimmed when visible. The footer shows the hidden count with an eye icon.

  • Per-session persistence — hiding state saved to config
  • Hidden count displayed in footer with 👁 indicator
  • Dimmed styling differentiates hidden from active sessions
Hidden sessions shown dimmed with eye indicator
Session list with hidden sessions shown dimmed and eye indicator in footer

Session Favorites

* stars or unstars the currently selected session. Use the ! status picker "Favorites only" row to filter the list to show only favorited sessions. Starred sessions display a ★ indicator. Favorites are persisted in config as favoriteSessions.

  • Per-session persistence — favorite state saved to config
  • Star indicator (★) on favorited sessions in the list
  • Quick filter to show only starred sessions
Favorited sessions with star indicator
Session list with starred favorite sessions showing star indicator

Tree View Navigation

When grouped (any pivot mode except flat), sessions display under collapsible folder headers. Each header shows the path and session count. Double-click a folder header to launch a new Copilot CLI session in that directory.

  • to collapse, to expand
  • Folder icon changes between open and closed states
  • Home directory paths abbreviated with ~
Collapsed folder groups
Collapsed folder groups showing only headers with counts
Expanded folders showing sessions
Expanded folders revealing individual sessions

Settings Panel

, (comma) to open. Twelve editable fields: Yolo Mode (boolean toggle), Agent (text), Model (text), Launch Mode (selector: in-place/tab/window/pane), Pane Direction (selector: auto/right/down/left/up, dimmed when not in pane mode), Terminal (selector), Shell (selector), Resume Session Command (text with {sessionId} placeholder), Theme (selector), Crash Recovery (boolean toggle), Preview Position (selector: right/bottom/left/top), and Excluded Words (text, comma-separated).

  • Enter to edit or toggle a field
  • Agent and Model fields dim when Resume Session Command is set
  • Changes saved automatically on Esc
Settings panel with all options
Settings panel showing all configuration fields
Editing a text field
Text field in edit mode with cursor

Word Filtering

Hide sessions whose name or conversation content contains specific words. Configure via the Settings panel (,) in the "Excluded Words" field. Enter a comma-separated list of words; matching is case-insensitive.

  • Matches against session summary (the name shown in the list)
  • Matches against user messages in conversation turns
  • Case-insensitive: "MANDATORY" matches "mandatory", "Mandatory", etc.
  • Multiple words: each word filters independently (OR logic)
  • Persisted to config, applied on every session load
Configuring excluded words
Settings panel showing Excluded Words field with comma-separated filter words

Shell Selection

Modal picker shown when multiple shells are detected. The default shell is listed first with a "(default)" label. Navigate with /, select with Enter, cancel with Esc.

  • Auto-detects installed shells: PowerShell, bash, zsh, fish, cmd.exe
  • Default shell marked and listed first
Shell selection modal
Shell selection modal listing detected shells

Themes

Terminal light/dark mode auto-detected by default. Five built-in schemes: Dispatch Dark, Dispatch Light, Campbell, One Half Dark, One Half Light. Custom schemes supported via Windows Terminal JSON format pasted into the schemes config array.

  • Cycled in the settings panel
  • User-defined schemes merged with the built-in list
  • Terminal background detection for automatic selection
Dispatch Dark theme
Dispatch Dark color scheme
Dispatch Light theme
Dispatch Light color scheme
Campbell theme
Campbell color scheme from Windows Terminal

Nerd Font Detection

Dispatch auto-detects whether a Nerd Font is active in your terminal. When detected, the UI uses rich Nerd Font icons for folders, files, sessions, and status indicators. When no Nerd Font is found, it falls back to clean ASCII icons.

  • Automatic detection — no configuration needed
  • Rich icons with Nerd Fonts, ASCII fallback without
  • Works across all platforms and terminals

Install any Nerd Font (opens in a new tab)and set it as your terminal font to enable rich icons.

Help Overlay

? to show. Two-column layout with grouped keyboard shortcuts: Navigation, Search & Filter, View, Time Range, General. A short help bar is always visible in the footer.

  • Grouped by category for quick scanning
  • Persistent help bar in footer shows common shortcuts
Help overlay with grouped shortcuts
Help overlay showing two-column grouped keyboard shortcuts

Mouse Support

Click to select sessions. Double-click to launch. Scroll wheel scrolls whichever pane is under the cursor — the session list or the preview panel. Click header elements (search bar, time range badges, sort indicator, pivot indicator) to interact directly.

  • Ctrl+double-click forces a new window
  • Shift+double-click forces a new tab
  • 300ms double-click debounce
  • Motion tracking enabled for hover states

Mouse interactions mirror keyboard functionality. Every clickable element has an equivalent keyboard shortcut.

Loading & Empty States

A loading spinner is shown while sessions are fetched from the database. An empty state message appears when no sessions match the current search query or active filters.

  • Spinner visible on startup during initial database read
  • Empty state differentiates "no results" from "no sessions"
Loading spinner on startup
Loading spinner displayed during startup
Empty state with no matching sessions
Empty state message when no sessions match filters

Markdown Export

Press X to export the selected session (or all selected sessions) as a structured Markdown document. Exports include session metadata, full conversation history, checkpoints, referenced files, and external refs. Files are saved to ~/.config/dispatch/exports/.

  • One Markdown file per session
  • Multi-select support — export many at once with Space + X
  • Status bar confirmation shows the exported file path
  • Also available via the command palette (:)

Export creates self-contained Markdown suitable for archiving, sharing, or feeding into other tools. Secrets are redacted if redaction is enabled.

Git Workspace Badges

Colored status indicators appear next to each session based on the Git state of its working directory. Dispatch runs git status in the background and updates badges as results arrive.

  • Dirty (yellow ●) — tracked files have uncommitted changes
  • Untracked (blue +) — new untracked files present
  • Ahead (green ↑) — local branch ahead of upstream
  • Behind (cyan ↓) — local branch behind upstream
  • Missing (red ✗) — session directory no longer exists
  • Filter with ! → "Git changes" to show only dirty/untracked/ahead/behind sessions
Git workspace status badges
Session list with colored git workspace status badges

Git Status Overlay

Press i on any session to see the full Git status of the folder it is mapped to, without leaving the TUI. Git commands run under a bounded timeout so the interface never blocks.

  • Current branch and upstream ref
  • Push/pull stats — commits ahead to push and behind to pull
  • Working-tree counts — staged, modified, untracked, deleted, and conflicts
  • A scrollable changed-file list with status codes
  • c copies a plain-text summary; Esc closes the overlay

The same push/pull stats also appear inline on each session row and in the preview pane's Git section.

Git status overlay for a session's folder
Git status overlay showing branch, upstream, push and pull counts, working-tree changes, and a changed-file list

Search Tokens

Type structured filters directly in the search bar for precise results. Tokens are parsed as you type and applied alongside free-text search.

  • repo:name — filter by Git repository
  • branch:name — filter by Git branch
  • folder:path — filter by working directory
  • host:name — filter by machine hostname
  • status:waiting — filter by attention status
  • has:plan — only sessions with a plan.md file
  • is:favorite — only starred sessions
  • is:hidden — show hidden sessions
Search with structured tokens
Search bar with structured token filters

Preview Secret Redaction

Automatically masks sensitive values in the preview pane. Toggle via the "Redact Secrets" option in the settings panel (,). Redacted content is never modified on disk — only the display is masked.

  • Bearer tokens → Bearer [redacted]
  • GitHub PATs (ghp_, gho_, etc.) → [redacted]
  • Azure connection strings → AccountKey=[redacted]
  • .env secrets → API_KEY=[redacted]
  • Tokens must be at least 20 characters long to avoid false positives
Secrets automatically masked in preview
Preview pane with redacted secrets showing masked tokens

Session Notes

Press m to attach a personal note to any session. Notes appear as a styled indicator in the session list and are displayed at the top of the preview pane. Stored locally in your config — never sent to the cloud.

  • m to add or edit a note (up to 200 characters)
  • Note indicator (📝) in session list for annotated sessions
  • Full note text shown at the top of the preview pane
  • Enter to save, Esc to cancel
  • Clear a note by saving an empty value
Session with attached note
Session list with note indicators and preview showing note text

Named Views

Save your current filter configuration as a named preset and switch between presets with V. Each view stores the time range, sort field, sort order, pivot mode, and directory exclusions.

  • V to open the view picker
  • Select a view to instantly apply its filters
  • "Default" view always available (resets all filters)
  • Views persist in config and survive restarts
Named view picker
Named view picker overlay with preset filter options

Open Touched Files

Press F to open a file picker showing all files the selected session interacted with (edits, creates, views). Select a file to open it in your system editor.

  • Files listed with their operation type (edit, create, view)
  • Navigate with /, open with Enter
  • Warning shown if a file no longer exists on disk
  • Esc to close without opening
File picker overlay
File picker overlay listing session-touched files

Activity Timeline

Press T to toggle a chronological view of all session events in the preview pane. The timeline merges turns, checkpoints, file operations, and external references into a single ordered stream.

  • Turns show timestamps and message previews
  • Checkpoints displayed with their titles
  • File operations with tool type (edit/create/view)
  • External references: commits, PRs, issues
  • Scrollable with PgUp/PgDn and mouse wheel
Activity timeline in preview
Preview pane showing chronological activity timeline

Compare Sessions

Select two sessions (use Space to select) then press Dto see them side-by-side. The comparison shows metadata differences, file diffs, and reference variations with diff highlighting.

  • Metadata comparison: directory, branch, timestamps, turn counts
  • File diff: shows files unique to each session
  • Reference diff: commits, PRs, issues unique to each side
  • Scrollable with /
  • Esc to close
Compare two sessions side-by-side
Side-by-side session comparison overlay with diff highlighting

Command Palette

Press : (colon) to open a filterable overlay listing every available command with its keyboard shortcut. Type to filter, then pressEnter to execute.

  • All commands accessible from one place
  • Fuzzy filter by command name or description
  • Shows keyboard shortcut for each command
  • Disabled commands are dimmed (e.g., no session selected)
  • Esc to close without executing
Command palette
Command palette overlay with filterable list of all commands

Demo Mode

dispatch --demo loads a fake session database for testing and screenshots. Non-destructive — the real session store is untouched. Every screenshot on this site was captured using demo mode.

  • Synthetic sessions with realistic metadata
  • Safe for experimentation — no data modified
  • Used for all documentation screenshots

Run dispatch --demo in any terminal to try it.

CLI Commands

Built-in commands for maintenance, diagnostics, self-update, and help.

  • dispatch update — Update dispatch to the latest release. Downloads the newest binary from GitHub Releases and replaces the current installation in-place.
  • dispatch --help / -h / help — Show usage information with all available flags and environment variables.
  • dispatch --version / -v / version — Print the installed version and exit.
  • dispatch --reindex — Full chronicle reindex via Copilot CLI pseudo-terminal. Rebuilds sessions, turns, checkpoints, files, and refs. Falls back to FTS5 index maintenance if the CLI binary is not found.
  • dispatch --clear-cache — Reset all configuration to defaults.

A background update check runs on every launch and notifies you when a new version is available. All commands run non-interactively and exit immediately. Unknown flags print an error with usage help and exit with code 1.