If you open up Terminal on a Mac running macOS Catalina or later, having not used it for a while, you might see the message, “The default interactive shell is now zsh,” but what does it mean, and why is it displayed? We’ll explain everything you need to know here and explain how to get rid of the message.

What does “The default interactive shell is now zsh” mean?

If you use Terminal often, you’ll know that a shell in Unix is the interpreter that provides the user interface into which you type commands and then interprets them as Unix commands. For many years following the launch of the first version of Mac OS X, the default shell in Terminal was the Bourne shell, also known as bash. In macOS Catalina, the default changed to the Z shell, also known as zsh.

If you manually set the default shell in Terminal prior to upgrading to Catalina or later, you will see the message the first time you open Terminal telling you, “The default interactive shell is now zsh.”

Tip

How to fix problems on your Mac

“The default interactive shell is now zsh” isn’t an error message. But you no doubt see error messages when you use your Mac because things have gone wrong or something isn’t working properly. Regular maintenance can prevent or resolve these issues. Rather than running tasks like repairing disk permissions or reindexing Spotlight manually, you can use an automated tool. CleanMyMac is a reliable choice — it handles maintenance tasks, frees up purgeable space, flushes DNS cache, speeds up Mail, and more. You can download it for free here.

Free up Mac RAM with CleanMyMac



Why does the message appear?

The message explaining that “The default interactive shell is now zsh” is just for your information. It’s there to let you know that macOS has moved from using bash as the default shell to zsh. You can, however, use whichever shell you choose. And we’ll show you in this article a couple of different ways to change the default shell.

Why is zsh now the macOS default shell?

Zsh is an extension of bash. It offers the same features as bash but adds more on top. These include support for themes and plug-ins as well as cut completion and autocorrection for directory paths. There are also a number of other features to make typing commands and referencing locations on your Mac easier. In addition, the version of bash that was used in Terminal was old and missing many of the latest features. So, for Apple, upgrading the default to zsh made sense.

What should I do if I see the message?

  1. The first option is to do nothing. The message is for information; it doesn’t compel you to take action, and you can continue using whichever shell you choose.
  2. The second option is to change the default shell on your user account to zsh. To do that, type the following command into Terminal’s command line and press Return: chsh -s /bin/zsh
  3. If you want to continue using the shell you’re using but want to hide the warning message, you can use the following command in Terminal to edit the ~/.bash_profile file: touch ~/.bash_profile && echo “export BASH_SILENCE_DEPRECATION_WARNING=1” >> ~/.bash_profile
  4. If you want to switch between the two, you may type either of the following commands in Terminal every time you want to change the shell: bash or zsh

How to change the default shell in System Settings

As well as changing the default shell in Terminal, you can also do it in System Settings. Follow the steps below.

  1. Click on the Apple menu and choose System Settings.
  2. Choose Users & Groups.
  3. Control-click or right-click on your user account and choose Advanced Options. Enter your password when prompted and press Return or click Unlock.
  4. Click on the drop-down menu next to Login shell and choose the one you want.
  5. Click OK and quit System Settings.

The message “The default interactive shell is now zsh” explains that the default Unix shell in Terminal has changed from bash to zsh. If you never use Terminal, you don’t need to worry about it. And if you do use Terminal, it’s something to be aware of but which makes very little difference to how you use it. If you want to change the default shell, you can do that in Terminal or in System Settings by following the steps above.