Configuration

All tmux-dispatch options are set via tmux options in your ~/.tmux.conf. Every option uses the @dispatch- prefix and has sensible defaults, so the plugin works out of the box with no configuration required.

Keybinding options

Customize which keys open each mode. Set any key option to "none" to disable that keybinding entirely – the plugin will skip registering it, so there is no conflict with other plugins or tmux bindings.

Option Default Description
@dispatch-find-key M-o Prefix-free key to open file finder (Alt+o)
@dispatch-grep-key none Prefix-free key to open live grep (disabled by default; use > prefix instead)
@dispatch-session-key none Prefix-free key to open session picker (disabled by default; use @ prefix instead)
@dispatch-git-key none Prefix-free key to open git status (disabled by default; use ! prefix instead)
@dispatch-extract-key none Prefix-free key to open scrollback in tokens (extract) view (disabled by default; use & prefix instead)
@dispatch-dirs-key none Prefix-free key to open directory jump (disabled by default; use # prefix instead)
@dispatch-scrollback-key none Prefix-free key to open scrollback search in default view (disabled by default; use $ prefix instead)
@dispatch-commands-key none Prefix-free key to open custom commands (disabled by default; use : prefix instead)
@dispatch-prefix-key e Prefix key to open file finder (prefix+e)
@dispatch-session-prefix-key none Prefix key to open session picker (disabled by default)
@dispatch-resume-key none Prefix-free key to reopen last-used mode with last query (disabled by default)

Control the popup dimensions and which editors are used.

Option Default Description
@dispatch-popup-size 85% Width and height of the popup window (the same value is used for both dimensions)
@dispatch-popup-editor auto-detect Editor used inside the popup. Auto-detection order: nvim, vim, vi
@dispatch-pane-editor auto-detect Editor used for Ctrl+O send-to-pane. Uses $EDITOR if set, otherwise auto-detects (nvim, vim, vi)

The popup editor must be a terminal editor (vim, nvim, vi) since it runs inside the popup. The pane editor can be anything, including GUI editors like VS Code or Cursor.

Note on tilde expansion: tmux option values are passed as literal strings. If you use ~ in a path (e.g., in @dispatch-session-dirs), be aware that tilde expansion depends on how the value is evaluated. Use $HOME instead of ~ for reliable path expansion in tmux options.

Search tool options

Pass extra arguments to the underlying search tools.

Option Default Description
@dispatch-fd-args "" Extra arguments passed to fd (e.g., "--max-depth 8", "--hidden")
@dispatch-rg-args "" Extra arguments passed to rg (e.g., "--glob '!*.min.js'", "--hidden")

Feature toggles

Enable or disable optional features.

Option Default Description
@dispatch-history on Track recently opened files and rank them higher in file finder (frecency)
@dispatch-git-indicators on Show colored status icons (modified/staged/untracked) next to files in file finder

Appearance

Option Default Description
@dispatch-theme default Color theme. Set to "none" to disable built-in colors and inherit from terminal or FZF_DEFAULT_OPTS

File type filter

Restrict the file finder to specific file extensions.

Option Default Description
@dispatch-file-types "" Comma-separated list of extensions to include (e.g., "ts,tsx,js"). Empty string shows all files

When set, only files matching the listed extensions appear in the file finder, bookmarks, and frecency results.

Scrollback options

Option Default Description
@dispatch-scrollback-lines 10000 Number of scrollback lines to capture from the originating pane
@dispatch-scrollback-view lines Default view when entering scrollback mode: lines (full scrollback lines) or tokens (extracted URLs, file paths, git hashes, IPs)

Commands options

Option Default Description
@dispatch-commands-file ~/.config/tmux-dispatch/commands.conf Path to the custom commands configuration file

Session directories

Configure which directories are scanned for the Ctrl+N project launcher in session mode.

Option Default Description
@dispatch-session-dirs $HOME/Projects Colon-separated list of directories to scan for project directories
@dispatch-session-depth 3 Maximum depth to scan for git repositories within session dirs

Each path in the list is scanned for git repositories (up to @dispatch-session-depth levels deep) and immediate subdirectories. Git repos show their current branch name in the listing, and directories with existing tmux sessions are marked with . Non-git directories at depth 1 still appear as fallback candidates.

Example configuration

A complete example showing all available options:

# Keybindings
set -g @dispatch-find-key "M-o"
set -g @dispatch-grep-key "none"         # use > prefix, or e.g. "M-s" for a direct key
set -g @dispatch-session-key "none"      # use @ prefix, or e.g. "M-w" for a direct key
set -g @dispatch-git-key "none"
set -g @dispatch-extract-key "none"
set -g @dispatch-prefix-key "e"
set -g @dispatch-session-prefix-key "none"
set -g @dispatch-dirs-key "none"
set -g @dispatch-scrollback-key "none"
set -g @dispatch-commands-key "none"
set -g @dispatch-resume-key "M-r"

# Popup
set -g @dispatch-popup-size "85%"
set -g @dispatch-popup-editor "nvim"
set -g @dispatch-pane-editor "code"

# Search tools
set -g @dispatch-fd-args "--max-depth 8"
set -g @dispatch-rg-args "--glob '!*.min.js'"

# Features
set -g @dispatch-history "on"
set -g @dispatch-git-indicators "on"

# Appearance (set to "none" to use terminal colors)
set -g @dispatch-theme "default"

# File type filter
set -g @dispatch-file-types "ts,tsx,js"

# Scrollback
set -g @dispatch-scrollback-lines "10000"
set -g @dispatch-scrollback-view "lines"

# Commands
set -g @dispatch-commands-file "$HOME/.config/tmux-dispatch/commands.conf"

# Session directories
set -g @dispatch-session-dirs "$HOME/Projects:$HOME/work"
set -g @dispatch-session-depth "3"

tmux-dispatch is released under the MIT License.

This site uses Just the Docs, a documentation theme for Jekyll.