It appears that tmux starts login shells by default. I am not sure if there is a reason for this, but if you want to make tmux start non-login shells instead you can add set-option default-command bash to your .tmux.conf. (.bash_profile is only read by login shells; non-login shells ignore it).
–
jw013Jan 18 '13 at 15:34

1

I asked a similar question and was redirected here. @jw013 's comment gives an effective way of changing this weird behaviour of tmux from within tmux (rather than tinkering the .*profile files), but it requires a -g flag to be effective, as in set -g default-command zsh
–
DalkerOct 21 '13 at 21:34

2 Answers
2

tmux sets an environment variable called $TMUX, which I believe holds the location of the socket it's using. Either way you can use it in your .bash_profile to test whether or not it is being called from within tmux.