Running fish 2.1.0 from inside a tmux 1.6-1ubuntu1 session causes fish to only use "basic" colors, although tmux does support 256 colors.
Often (always, in my experience), tmux fails to alert the processes under it that 256-colour support is available.
What does echo $TERM say? If it is simply screen, you may need to add set-option -g default-terminal "screen-256color" to your .tmux.conf.
Thank you, that did the trick.
I was having a similar issue where tmux was using the color of my fish_prompt instead of the default fish color. I was able to fix it the same way by adding the line set-option -g default-terminal "screen-256color" to my ~/.tmux.conf and sourcing.
Most helpful comment
Often (always, in my experience), tmux fails to alert the processes under it that 256-colour support is available.
What does
echo $TERMsay? If it is simplyscreen, you may need to addset-option -g default-terminal "screen-256color"to your.tmux.conf.