The default interactive shell is now zsh. [macOS]


The default interactive shell is now zsh
The default interactive shell is now zsh

If you open the terminal after upgrading macOS to Catalina or Big Sur, you would see something like this when you move to the bash or other shells like csh, dash, ksh, sh, tcsh.

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

If you were using Mojave or below, Bash was the default shell, from Catalina onwards zsh (Z shell) is the default shell.

⛏️ Follow https://support.apple.com/kb/HT208050 to change the default shell other than zsh.

If you want to make bash as the default command line shell for macOS, you can do so by following the below steps,

  1. Click on the apple Logo on the menu bar ie. 
  2. Choose System Preferences... menu option,
  3. Search for Users & Group,
  4. Click on the lock you see at the Botton left and enter your account name and password, or use fingerprint unlock,
  5. Do Control-click on your username and select Advanced Options,
  6. From the dropdown choose the shell your want to use and click OK.

How to suppress the message: "The default interactive shell is now zsh"

If you want to suppress this warning message every time that you move to any other prompt, you need to set the variable bash silence deprecation warning to a value of 1. i.e BASH_SILENCE_DEPRECATION_WARNING=1. You can do that by running the below command in the Terminal.

export BASH_SILENCE_DEPRECATION_WARNING=1
Example:
code2care@mac ~ % bash                   

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.
bash-3.2$ zsh
code2care@mac ~ % export BASH_SILENCE_DEPRECATION_WARNING=1
code2care@mac ~ % bash
bash-3.2$ 

Note as this setting will get terminated as soon as to close your terminal, it is better to set this in the profile of zsh shell.

  1. Open Terminal app,
  2. On the ZSH Shell type nano ~/.zshrc
  3. Now append the variable details: export BASH_SILENCE_DEPRECATION_WARNING=1
  4. Press Control + X, followed by Y to save the file, press enter to exit Nano,
  5. Now type command source ~/.zshrc to apply changes.
Suppress default interactive shell is zsh message
Suppress default interactive shell is zsh message


Have Questions? Post them here!



Recent Posts:




Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.