В zsh параметр prompt_subst
по умолчанию отключен. Если вы хотите использовать подстановку переменных в приглашении, включите ее.
setopt prompt_subst
PS1='$foo'
Однако для $TMUX
вам это не нужно. Значение не изменяется во время сеанса, поэтому вы можете инициализировать PS1
при запуске оболочки.
setopt prompt_subst
if (($+TMUX)); then
PS1='[tmux:${TMUX_PANE//\%/%%}] %# '
else
PS1='[not tmux] %# '
fi
Обратите внимание, что быстрое раскрытие происходит после замены переменной, поэтому знаки процента в значении переменной должны быть защищены.