Search code examples
tmuxfish

tmux won't start if default shell is fish


I have tmux and fish both installed via apt on an Ubuntu 19.04 (Disco Dingo).

tmux works well out of the box but it uses bash and I would like it to use fish as default shell.

Thus I put the following line in ~/.tmux.conf:

~$ cat .tmux.conf
set-option -g default-shell fish

But then tmux won't start anymore, instead it prints weird characters and dies:

~$ tmux
[exited]
~$ [?65;1;9c

(Note: the weird characters are not typed by me, they end up here before my cursor)

Note that if I remove ~/.tmux.conf (then tmux starts using bash and works well), I am able to use fish by calling fish from bash.

Any idea what is happening and how I could solve this?


Solution

  • Tmux expects a full path here:

    set-option -g default-shell /usr/bin/fish
    

    (or whatever path your fish is at. See command -s fish)