How to reload your tmux config without restarting?
Short answer
bind r source-file ~/.tmux.conf \; display-message "config reloaded"
Add that line to ~/.tmux.conf. After the next edit, prefix r re-reads the file into the
running server and confirms it in the status line, no restart needed. One-off from the CLI:
tmux source-file ~/.tmux.conf.
Details
source-file reads a config file into the current tmux server and applies its settings and
bindings live. That is the whole trick: you do not need to kill the server (and every session in
it) to pick up a change.
The \; chains a second command onto the same key. Here display-message "config reloaded"
prints a short confirmation in the status line so you know the reload happened. \; is a tmux
command separator, not shell syntax, so the same form works from the CLI:
tmux source-file ~/.tmux.conf \; display-message ok.
Two things to keep in mind. Reloading only adds or overrides what the file sets; it does not
undo an option a line you just deleted used to set (that stays until you reset it or restart).
And source-file re-runs every command in the file, including actions like new-window, so keep
the config idempotent: settings and key bindings, not one-off startup commands.
Without a binding you can reload by hand with tmux source-file ~/.tmux.conf, or from inside a
session with prefix : then source-file ~/.tmux.conf.
Verified on tmux 3.2a.