···184184185185186186 # Auto-start tmux for new sessions
187187+ # Check if we're already in tmux (even through sudo)
187188 if [[ "$TERM" != "linux" && -z "$TMUX" && "$TERM" != "dumb" ]]; then
188188- # Preserve SSH_AUTH_SOCK for tmux
189189- if [[ -n "$SSH_AUTH_SOCK" ]]; then
190190- tmux set-environment -g SSH_AUTH_SOCK "$SSH_AUTH_SOCK" 2>/dev/null
191191- fi
189189+ # Additional check: see if we're in a tmux pane even if $TMUX is unset
190190+ if [[ -z "$(tmux list-panes -F '#{pane_pid}' 2>/dev/null | grep -w $$)" ]]; then
191191+ # Preserve SSH_AUTH_SOCK for tmux
192192+ if [[ -n "$SSH_AUTH_SOCK" ]]; then
193193+ tmux set-environment -g SSH_AUTH_SOCK "$SSH_AUTH_SOCK" 2>/dev/null
194194+ fi
192195193193- # Start tmux with a new session
194194- exec tmux -u new-session
196196+ # Start tmux with a new session
197197+ exec tmux -u new-session
198198+ fi
195199 fi
196200197201 # Set tmux status bar color based on hostname for SSH sessions