tmux Prefix Not Responding: A Diagnostic Walkthrough
When Ctrl+b does nothing in tmux, the cause is usually a rebinding in .tmux.conf, a terminal-level shortcut, or an active copy-mode. Here is how to isolate it.
09 May 2026, 01:32 UTC

What you are seeing
You press Ctrl+b, then c, and no new window appears. In some cases the terminal prints ^B or ^Bc as literal text instead. Either way, the keystroke is not reaching tmux's prefix key table, so no tmux command runs.
The prefix is not a shell shortcut. tmux reads it from its own option (prefix, default C-b) and then looks up the next key in the prefix key table. Anything that changes the option, empties the table, or consumes the keystroke before it arrives produces the same symptom.
Match the symptom before changing anything
| Symptom | Likely cause | First check |
|---|---|---|
Terminal echoes ^B as text |
The keystroke is consumed by the terminal emulator or the shell's line editor | Emulator key bindings; bind -p (bash) or bindkey (zsh) |
| Nothing happens, no echo | The prefix option was changed or the key was unbound |
tmux show-options -g prefix |
| Works in a fresh session, fails in your usual one | A config line or plugin altered the prefix table | tmux list-keys -T prefix |
| Works until you scroll, then stops | The pane is in copy-mode, whose key table owns the keys | Status line mode indicator; press q or Escape |
| Fails in one emulator only | That emulator maps Ctrl+b to its own action |
Emulator preferences, keyboard shortcuts section |
Ordered checks
-
Confirm which key tmux expects. Run this inside a tmux session, or from any shell while the tmux server is running:
tmux show-options -g prefixExpected output is
prefix C-bon a default setup. If it reportsprefix C-aor another key, press that key instead. Version note: the option is namedprefixin tmux 1.8 and later; older releases usedprefix-key. Check your build withtmux -V. -
Check that the prefix table still has bindings.
tmux list-keys -T prefixYou should see entries such as
bind-key -T prefix c new-window. An empty or truncated list means a config line or plugin unbound them. -
Rule out copy-mode. If you were scrolling, or the status line shows a mode indicator, the pane is in copy-mode. Press
qorEscape, then retry the prefix. In copy-mode the emacs-style table bindsCtrl+bto page-up, so the prefix never fires. -
Check the terminal emulator and the shell. In the emulator's keyboard shortcut settings, search for
Ctrl+b. In the shell, list line-editor bindings:bind -p | grep 'C-b' # bash / readline bindkey | grep '\^B' # zshCaution: changing readline or zsh bindings affects every program that uses the line editor, not just tmux. Prefer fixing the emulator, or change the tmux prefix instead.
-
Reproduce with no config at all. From a shell outside tmux:
tmux -f /dev/null new-sessionIf the prefix works here but not in your normal session, the fault is in
~/.tmux.confor a sourced plugin, not in the terminal.
Fixes tied to each finding
The prefix option is wrong or missing
Edit ~/.tmux.conf, then apply it to the running server. A common setup that avoids the default key entirely:
# ~/.tmux.conf
set -g prefix C-a
bind C-a send-prefix
unbind C-b
send-prefix makes the prefix key send itself to the pane when pressed twice, which is how you type a literal Ctrl+a into a program. unbind C-b is optional; leaving it bound lets both keys work.
cp ~/.tmux.conf ~/.tmux.conf.bak
tmux source-file ~/.tmux.conf
Run source-file inside tmux or from a shell with the server running. Backing up first matters because a config with a bad line can leave the server in a state you did not intend. Avoid tmux kill-server as a reload shortcut: it terminates every session and any unsaved work in the panes.
The emulator consumes the key
Remove or remap the conflicting emulator shortcut, or pick a prefix that is free. If you change the prefix, update your muscle memory and any scripts that send Ctrl+b through tmux send-keys.
The pane is in copy-mode
Exit the mode with q or Escape. If it happens constantly, check whether a plugin or a bind-key line is entering copy-mode automatically.
The config unbinds the table
Bisect ~/.tmux.conf: comment out half the file, reload, and retest. Repeat on the half that still fails. Plugin managers that source many files are the usual culprit.
Verification
tmux show-options -g prefixreports the key you intend to press.- Prefix then
ccreates a new window; prefix then%splits the pane vertically; prefix then?lists the prefix table. - Repeat the test in the terminal emulator you actually use, not just in a fallback one.
When to escalate
- The prefix fails with
tmux -f /dev/null new-sessionin every emulator: capturetmux -V,echo $TERM, the emulator name and version, and the exact keystrokes, then report it to the tmux project. - It fails in exactly one emulator but works elsewhere: treat it as an emulator key-binding issue and check that project's tracker.
- It works in a clean session but not yours, and bisecting the config has not found the line: disable plugin managers entirely and re-add sources one at a time.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.