How to fix a tmux session messed up by control characters

Every once in awhile, I'll accidentally blast some control codes into my terminal session (either errant coding or accidentally gpg --export). This sometimes causes my tmux session to loose it's formatting and print control characters into the borders of the tmux windows. All the tmux windows get pretty messed up after than. Even just focusing a window messes up the other windows. The traditional reset tricks for a terminal (reset, echo [CTRL]+V [CTRL]+C) don't fix it so I end up logging out of all active sessions and having to restart tmux.

Anyone know of a way to reset/refresh all the tmux panes without terminating tmux ?


There is a detailed explication how to reset many parts of tmux in stack exchange: https://unix.stackexchange.com/questions/49886/tmux-status-bar-corrupted-after-catting-a-binary-file-how-to-reset

For me, often only tmux rename-window myWindowName and printf '\033]2;%s\007' "$(uname -n) (set status right) are required.


3 options...

  1. stty sane
  2. reset
  3. echo ^v^o (that's E

Ctrl+B then r should do it. This causes tmux to redraw the entire screen from scratch.


ctrl-b r is not the right answer. The right answer is:

  1. ctrl-b shift-D to get a list of the attached sessions
  2. select the session that you were using when you messed up the screen, and press Enter to detach it (or iterate through this list and detach from all sessions, if you prefer)
  3. if detached from all sessions in #2, then tmux attach -t again to attach a brand new session. This will get rid of the problematic session without having to terminate tmux.