Unable to make fish default shell. Here is what all I tried

Newly installed Garuda xfce and set up. Used Garuda assistant to make fish default shell. Logged out and logged in. Fish not the default shell. Although assistant showing it is. Restarted. Same issue. Edited /etc/passed and replaced /bin/bash with both /bin/fish and /usr/bin/fish. Fish present in /etc/shells. Used chsh. Same issue persists. Please help. Only working way was typing fish in last line of .bashrc but then that's the wrong way. Please assist.

Why didnt you try a simple

chsh -s /usr/bin/fish

and relog ? :eyes:


That's not working. It entered the password. It said Shell changed. Relogged. The output of echo $SHELL is /bin/bash

I suspect the problem has been caused by Garuda assistant. After switching the shell, it downloaded some garuda-fish-config package but never applied it.

What about resetting the configuration from Garuda Assistant and do it from scratch via command line (but I don't know if the reset affects those aspects)?
Or even recover a snapshot, if not bothering too much...

1 Like

No change after resetting. Issue persists. I am unable to make fish my default shell :sob::sob::sob::sob:

I removed garuda-fish-config fish fish-autopair using RNS. Then installed fish. Changed default shell. Logged out. Logged in.

Why the hell am I still logging into bash by default !!!!!!!!!!!

You're probably not and instead your terminal emulator is starting bash.

Verify by logging into to a TTY.

Also read some related threads:



Gotcha. Alacrity.yml custom config provided on xfce is buggy. It defaults user to /bin/bash. I changed that to fish and got everything instantly working. Please correct the mistake. That line should be corrected by Garuda- assistant or users might thing their shell was not changed

1 Like

Its not buggy, its working as intended. In dr460nized fish is also set as shell for the terminal emulator as fish is the default shell for this version. Just gotta remember this :laughing:


Try this, but obviously replace with correct information.

homectl update --shell=full-path-to-shell user


If I remember correctly @Yorper you set bash as shell in /etc/environment so
For xfce those who wants to change shell need to edit /etc/environment


Bingo! Thanks a lot​:+1::+1::+1::+1::+1:. Changing bash to fish in /etc/environment worked. Exactly what I was looking for. Thank you.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.