Config File Location

  • Linux~/.config/dispatch/config.json
  • macOS~/Library/Application Support/dispatch/config.json
  • Windows%APPDATA%\dispatch\config.json

Validate hand-edited files with dispatch config validate, ordispatch config validate --json for CI-friendly diagnostics. Use dispatch config validate --path <file> for alternate profiles. Editor completions are available fromdocs/config.schema.json, anddispatch config schema prints the same generated JSON Schema.

Managed by Dispatch

These values are maintained as you use Dispatch; edit them only when importing or repairing configuration.

KeyTypeDefaultDescription
config_versionint2Configuration schema version used to apply migrations.
hiddenSessionsarray[]Session IDs hidden from the main list.
sessionNotesobject{}Per-session notes created with the note action.
sessionLaunchesobject{}Per-session launch statistics used by frecency sorting.
sessionTagsobject{}Per-session tags used for grouping and tag: searches.
sessionAliasesobject{}Per-session aliases for opening sessions by a short name.
viewsarray[]Saved named views combining filters, sorting, and grouping.
active_viewstring""Current named view. Empty or "Default" uses no named view.

Options

KeyTypeDefaultDescription
default_shellstring""Preferred shell (bash, zsh, pwsh, cmd.exe). Empty = auto-detect.
default_terminalstring""Terminal emulator. Empty = auto-detect.
default_time_rangestring"1d"Time filter on startup: 1h, 1d, 7d, all.
default_sortstring"updated"Sort field: updated, created, turns, name, folder, frecency.
default_sort_orderstring"desc"Sort direction: asc, desc.
default_pivotstring"folder"Grouping mode: none, folder, repo, branch, date, host.
default_collapsedboolfalseStart group header rows collapsed (single-line).
show_previewbooltrueShow preview pane on startup.
preview_positionstring"right"Position of the preview pane: right, bottom, left, top.
redact_preview_secretsboolfalseMask common secret patterns (bearer tokens, GitHub PATs, connection strings, .env secrets) with [redacted] in the preview pane. Rendering only; stored data is unchanged.
conversation_newest_firstbooltrueShow newest conversation turns first in the preview.
max_sessionsint100Maximum sessions to load from the store.
yoloModeboolfalsePass --allow-all to Copilot CLI (auto-confirm commands).
agentstring""Pass --agent <name> to Copilot CLI.
modelstring""Pass --model <name> to Copilot CLI.
launch_modestring"tab"How to open sessions: in-place, tab, window, pane.
pane_directionstring"auto"Split direction for pane mode: auto, right, down, left, up (see Pane Direction Semantics below).
resume_session_commandstring""Resume session command ({sessionId} is replaced). Defaults to copilot --resume.
new_session_commandstring""Command to launch new sessions ({cwd} is replaced). Defaults to copilot.
excluded_dirsarray[]Directory paths to hide from the session list.
excluded_wordsarray[]Words to filter sessions by. Sessions whose name or turn content contains any word (case-insensitive) are hidden.
attention_thresholdstring"15m"Duration after which an inactive running session is marked stale instead of waiting/active.
notify_on_waitingboolfalseRing the terminal bell and show a footer message when a session enters the waiting state.
auto_refresh_secondsint(unset)Session-list poll interval in seconds. Unset uses the default (2s); 0 disables polling; a positive value sets the interval (minimum 1s).
themestring"auto"Color scheme: auto or a named scheme.
workspace_recoverybooltrueDetect sessions interrupted by crash/reboot. Disable if you see false positives.
ai_searchboolfalseEnable Copilot SDK-powered AI semantic search in addition to the local FTS5 index.
hidden_columnsarray[]Optional session-list columns to hide (repo, folder, turns, host). Empty shows every column.
keybindingsobject{}Remap keyboard shortcuts. Keys are action names; values are comma-separated key lists (see the Keys page).
launch_setsarray[]Named, ordered session ID collections for repeated multi-session launches. Missing IDs are shown and skipped.
project_rootsarray[]Absolute directories to scan for git repos shown as New session rows when they have no recent session.
favoriteSessionsarray[]Session IDs starred as favorites.

Example

{
  "default_shell": "",
  "default_terminal": "",
  "default_time_range": "1d",
  "default_sort": "updated",
  "default_pivot": "folder",
  "show_preview": true,
  "preview_position": "right",
  "max_sessions": 100,
  "yoloMode": false,
  "agent": "",
  "model": "",
  "launch_mode": "tab",
  "pane_direction": "auto",
  "resume_session_command": "",
  "excluded_dirs": [],
  "excluded_words": [],
  "favoriteSessions": [],
  "launch_sets": [],
  "project_roots": [],
  "theme": "auto",
  "workspace_recovery": true
}

Themes

Five built-in color schemes:

  • Dispatch Dark
  • Dispatch Light
  • Campbell
  • One Half Dark
  • One Half Light

Set theme to auto for automatic light/dark detection based on your terminal.

Custom Themes

Add custom schemes using Windows Terminal JSON format in the schemes config array. Each scheme's name field becomes available in the settings theme selector.

"schemes": [
  {
    "name": "My Custom Theme",
    "background": "#1a1b26",
    "foreground": "#c0caf5",
    "black": "#15161e",
    "red": "#f7768e",
    "green": "#9ece6a",
    "yellow": "#e0af68",
    "blue": "#7aa2f7",
    "purple": "#bb9af7",
    "cyan": "#7dcfff",
    "white": "#a9b1d6"
  }
]

Resume Session Command

Set resume_session_command to replace the default Copilot CLI launch command entirely. Use {sessionId} as a placeholder for the session ID.

When a Resume Session Command is set, the Agent, Model, and Yolo Mode fields are ignored (dimmed in the settings panel).

"resume_session_command": "my-tool resume {sessionId}"

Pane Direction Semantics

When launch_mode is "pane", thepane_direction 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; closest available)
  • right-V — vertical split (divider runs vertically, new pane to the right)
  • left-V — vertical split (WT controls actual placement; closest available)
  • auto / empty — no flag; Windows Terminal decides automatically

Note: -H and -V control split orientation only (the direction the divider runs). Windows Terminal decides actual pane placement based on available space.