How to Switch from Zsh to Bash on macOS 13
This guide explains how to change your default command-line shell from Zsh back to Bash on macOS 13 Ventura. While Apple set Zsh as the default login shell starting with macOS Catalina, you can easily revert to Bash using either the Terminal command line or the macOS System Settings interface, as well as silence the default deprecation warning.
Method 1: Change to Bash Using Terminal
The quickest way to switch your default shell is by using the
chsh (change shell) command in Terminal.
Open Terminal from Applications > Utilities, or via Spotlight.
Enter the following command and press Return:
chsh -s /bin/bashType your macOS user password when prompted and press Return (note that characters will not appear on screen while typing).
Quit Terminal completely (Command + Q) and reopen it for the changes to take effect.
Method 2: Change to Bash via System Settings
If you prefer using a graphical interface, you can change your shell through the macOS Ventura settings.
- Click the Apple menu () in the top-left corner and select System Settings.
- Scroll down the sidebar and select Users & Groups.
- Hold the Control key and click (or right-click) on your username under "Current User".
- Select Advanced Options... from the contextual menu.
- Enter your administrator password when prompted.
- Locate the Login shell field and change the
dropdown selection from
/bin/zshto/bin/bash. - Click OK to save the changes.
- Restart Terminal to apply the new default shell.
Verifying the Change
To verify that Bash is now your active default shell, open a new Terminal window and run:
echo $SHELLIf the switch was successful, the output will display:
/bin/bash
Suppressing the Deprecation Warning
macOS ships with an older version of Bash (version 3.2) and displays a message encouraging you to switch to Zsh every time you open a session. You can silence this notification by adding an environment variable to your configuration.
Run the following command in Terminal:
echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> ~/.bash_profileRestart Terminal, and the deprecation warning will no longer appear.