Terminal window on a macOS Catalina desktop.

Run "chsh -s /bin/bash" in a Terminal Window to switch your shell from Zsh to Bash, then restart your Terminal. New terminal windows will open using Bash. You can also change the login shell to Bash in a user's advanced options page.

Apple is now using Zsh as the default shell on macOS. We love Zsh, but the trusty old Bash shell is still included with macOS, and you can quickly switch back to Bash if you prefer. Zsh became the default in macOS Catalina.

Zsh is only the default shell on newly created user accounts, so any existing accounts you have on an upgraded  Mac will still use Bash by default unless you change it. Each user account has its own default shell preference.

From the Terminal

To change a user account’s default shell on macOS, simply run the chsh -s (change shell) command in a Terminal window.

Change the default shell to Bash by running the following command:

chsh -s /bin/bash

You’ll have to enter your user account’s password. Finally, close the Terminal window and reopen it. You’ll be using Bash instead of Zsh.

Changing the default shell to Bash on macOS Catalina.

Change the default shell back to Zsh by running this command:

chsh -s /bin/zsh

Enter your password when prompted. After you close the terminal window and reopen it, you’ll be using Zsh.

Changing the default shell to Zsh on macOS Catalina.

You can see a list of included shells you can select by running the following command:

cat /etc/shells

Listing available shells in macOS Catalina's terminal.

From System Preferences

You can also change this option graphically from System Preferences if you prefer.

Head to System Preferences > Users & Groups on your Mac. Click the lock icon and enter your password. Hold the Ctrl key, click your user account’s name in the left pane, and select “Advanced Options.”

Opening Advanced Options in Users & Groups on macOS.

Click the “Login Shell” dropdown box and select “/bin/bash” to use Bash as your default shell or “/bin/zsh” to use Zsh as your default shell. Click “OK” to save your changes.

Changing the default login shell graphically in macOS Catalina.

Bash on macOS Is Still Outdated

Note that the version of Bash (Bourne Again SHell) included with macOS is still pretty outdated, however. If you run bash --version  on macOS Catalina, for example, you’ll see that Catalina includes Bash 3.2.57 when Bash 5.0 is the latest version. Newer versions are licensed under the GPLv3 license, while Apple still distributes a version licensed under GPLv2.

In contrast, the version of Zsh (Z shell) included with macOS (check with zsh --version ), is Zsh 5.7.2, which is the latest version at the time of Catalina’s release.

Viewing the versions of Bash and Zsh on macOS Catalina.

If you want the latest version of Bash, you can install it yourself via Homebrew.

Profile Photo for Chris Hoffman Chris Hoffman
Chris Hoffman is Editor-in-Chief of How-To Geek. He's written about technology for over a decade and was a PCWorld columnist for two years. Chris has written for The New York Times and Reader's Digest, been interviewed as a technology expert on TV stations like Miami's NBC 6, and had his work covered by news outlets like the BBC. Since 2011, Chris has written over 2,000 articles that have been read more than one billion times---and that's just here at How-To Geek.
Read Full Bio »