Apple has recently replaced bash with zsh. The reason is said was due to a licensing issue that has kept them stuck with bash version 3.2 which is
licensed under GPLv2, as newer versions are licensed under GPLv3.
Nevertheless, upgrading to Catalina takes care of seamlessly switching the login shell from bash to zsh; however, this may not be the case for many people who use third party terminal apps such as Hyper and Visual Studio Code.
If you load any of these apps you might see a notice like this:
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050.
Running the command
chsh -s /bin/zsh will not do anything 😞
chsh -s /bin/zsh Changing shell for foo. Password for foo: chsh: no changes made
However, you can manually tell these apps to use zsh by editing their settings file.
Edit the Hyper settings file. I am using
vi but you can also use any other editor.
Scroll to the shell settings line. By default it’s set to null which means load the old default login shell:
Make sure to change the value to
/bin/zsh and save the settings file.
Visual Studio Code
Open the user settings and add this line at the end of the file:
That’s it. No annoying bash warnings anymore.