Default Bindings

This is the authoritative reference for built-in prefix, root, custom-table, mouse, and copy-mode input. It is generated from the same explicit metadata used by the runtime and CLI help. See Configuration for binding syntax and examples.

Prefix table defaults

The default prefix is Ctrl+B. Press and release the prefix, then press the binding key. Changing prefix changes only the prefix byte; the built-in table below stays the same.

Key Action
" Split the active pane horizontally (top/bottom).
% Split the active pane vertically (left/right).
c Create a new window.
! Break the active pane into a new window.
; Select the previously active pane.
Space Cycle through the predefined pane layouts.
Ctrl+O Rotate panes in the current window.
n Select the next window.
p Select the previous window.
l Select the previously selected window.
f Prompt for a window-name/title search.
. Prompt for a new index for the current window.
$ Prompt to rename the current session.
( Switch the client to the previous session.
) Switch the client to the next session.
L Switch the client to its last session.
: Open the command prompt.
d Detach this client from the session.
x Ask for y/n confirmation, then close the active pane.
z Toggle zoom for the active pane.
S Toggle synchronized input for all panes in the window.
t Show a large clock in the active pane; any key exits.
[ Enter copy mode for the active pane.
] Paste the most recent paste buffer into the active pane.
= Open the interactive paste-buffer chooser.
D Open the attached-client chooser.
w Open the window/pane tree chooser.
q Briefly display pane numbers for quick selection.
0 Select window 0.
1 Select window 1.
2 Select window 2.
3 Select window 3.
4 Select window 4.
5 Select window 5.
6 Select window 6.
7 Select window 7.
8 Select window 8.
9 Select window 9.

Arrow keys are decoded as complete terminal input sequences after the prefix:

Key Action
Up Select the pane above.
Down Select the pane below.
Right Select the pane to the right.
Left Select the pane to the left.
Up (CSI 1;1A) Select the pane above (same as unmodified Up).
Down (CSI 1;1B) Select the pane below (same as unmodified Down).
Right (CSI 1;1C) Select the pane to the right (same as unmodified Right).
Left (CSI 1;1D) Select the pane to the left (same as unmodified Left).
Shift+Up Select the pane above (same as unmodified Up).
Shift+Down Select the pane below (same as unmodified Down).
Shift+Right Select the pane to the right (same as unmodified Right).
Shift+Left Select the pane to the left (same as unmodified Left).
Alt+Up Resize the active pane upward by 5 cells.
Alt+Down Resize the active pane downward by 5 cells.
Alt+Right Resize the active pane rightward by 5 cells.
Alt+Left Resize the active pane leftward by 5 cells.
Shift+Alt+Up Select the pane above (same as unmodified Up).
Shift+Alt+Down Select the pane below (same as unmodified Down).
Shift+Alt+Right Select the pane to the right (same as unmodified Right).
Shift+Alt+Left Select the pane to the left (same as unmodified Left).
Ctrl+Up Resize the active pane upward by 1 cell.
Ctrl+Down Resize the active pane downward by 1 cell.
Ctrl+Right Resize the active pane rightward by 1 cell.
Ctrl+Left Resize the active pane leftward by 1 cell.
Shift+Ctrl+Up Select the pane above (same as unmodified Up).
Shift+Ctrl+Down Select the pane below (same as unmodified Down).
Shift+Ctrl+Right Select the pane to the right (same as unmodified Right).
Shift+Ctrl+Left Select the pane to the left (same as unmodified Left).
Alt+Ctrl+Up Select the pane above (same as unmodified Up).
Alt+Ctrl+Down Select the pane below (same as unmodified Down).
Alt+Ctrl+Right Select the pane to the right (same as unmodified Right).
Alt+Ctrl+Left Select the pane to the left (same as unmodified Left).
Shift+Alt+Ctrl+Up Select the pane above (same as unmodified Up).
Shift+Alt+Ctrl+Down Select the pane below (same as unmodified Down).
Shift+Alt+Ctrl+Right Select the pane to the right (same as unmodified Right).
Shift+Alt+Ctrl+Left Select the pane to the left (same as unmodified Left).

A user bind <key> <command> in the prefix table wins over a matching printable/control-key built-in. An explicit unbind <key> suppresses that built-in. Arrow sequences share the Escape byte in the current binding model: bind Escape intercepts them and unbind Escape suppresses all built-in prefix arrows; individual arrows cannot yet be rebound. Prefix bindings are checked before root bindings.

Root table defaults

The root table has no built-in keyboard bindings. bind -n <key> <command> is exactly an alias for bind -T root <key> <command> and fires without the prefix. unbind -n / unbind -T root removes that user binding; there is no root default to reveal afterward. Root bindings match raw input bytes, so control keys are safer than printable keys that may occur in pasted text or escape sequences.

Custom one-shot tables

bind -T <name> creates or updates a named table. switch-client -T <name> selects it for the current attached client only and must be the only command on its command line. The standalone CLI rejects switch-client -T because it has no attached-client input loop to update.

The next complete keyboard, UTF-8, special-key, or mouse input event is consumed from a custom table and the client resets to root before a matching command runs. An unmatched event is still consumed and resets the table. A matched command may run switch-client -T again to continue a multi-key sequence. Copy mode bypasses prefix, root, and custom client tables so its exit and navigation keys remain reliable.

Mouse defaults

Mouse reporting is off by default. Enable it with set -g mouse on. When mouse reporting is enabled and the active application has not requested its own mouse tracking, these named mouse bindings apply:

Key Action
WheelUpPane Outside alternate-screen applications, enter copy mode if needed and scroll up 3 lines.
WheelDownPane Outside alternate-screen applications, scroll down 3 lines; exit at the live bottom when no selection is active.
MouseDown1Pane Select the pane under the pointer.
MouseDown3Pane Paste the most recent buffer into the pane under the pointer.

For named mouse keys, resolution is: explicit bind -n Mouse... (also accepted with -T root or the default prefix table), then explicit unbind -n Mouse... suppression, then the built-in above when mouse on. With mouse off, wtmux disables host mouse input and terminal mouse reporting, so explicit mouse bindings do not receive normal host mouse events.

Two mouse gestures are built into the interaction layer rather than named command defaults: left-dragging a pane border resizes it, and an otherwise-unbound MouseDrag1Pane starts text selection. A MouseDrag1Pane binding overrides text-selection drag; unbind -n MouseDrag1Pane leaves the interaction-layer selection gesture available. Border dragging takes priority over named border bindings. Inside an application that requests mouse tracking, events in the active pane are passed through to that application.

Copy-mode defaults

Enter copy mode with prefix [ or by scrolling up with the mouse. Copy-mode keyboard input takes precedence over all client key tables:

Key Action
Up / Up (SS3) / k Move the copy cursor up.
Down / Down (SS3) / j Move down; exit at the live bottom when no selection is active.
Left / Left (SS3) / h Move the copy cursor left.
Right / Right (SS3) / l Move the copy cursor right.
PageUp / Ctrl+U Move one page up.
PageDown / Ctrl+D Move one page down; exit at the live bottom when no selection is active.
Home (CSI H) / Home (CSI 1~) / g Jump to the top of history.
End (CSI F) / End (CSI 4~) / G Jump to the bottom/live view.
Space / v Start a selection at the copy cursor.
Enter (CR) / Enter (LF) / y Copy the selection to a new paste buffer and the enabled clipboard, then exit.
Escape / q Exit copy mode without copying.

While copy mode owns the mouse, wheel up/down moves 3 lines; a left click repositions the cursor; left drag starts or extends a selection; releasing after a real drag copies it and exits. Copying creates a paste buffer and also writes the Windows clipboard unless set-clipboard off is configured.

Moving down with Down/j, PageDown/Ctrl+D, or wheel down exits copy mode automatically on reaching the live bottom, unless a selection is active. End/G jumps to the live view but remains in copy mode. Other unrecognized copy-mode bytes are ignored.