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.

  1. Open Terminal from Applications > Utilities, or via Spotlight.

  2. Enter the following command and press Return:

    chsh -s /bin/bash
  3. Type your macOS user password when prompted and press Return (note that characters will not appear on screen while typing).

  4. 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.

  1. Click the Apple menu () in the top-left corner and select System Settings.
  2. Scroll down the sidebar and select Users & Groups.
  3. Hold the Control key and click (or right-click) on your username under "Current User".
  4. Select Advanced Options... from the contextual menu.
  5. Enter your administrator password when prompted.
  6. Locate the Login shell field and change the dropdown selection from /bin/zsh to /bin/bash.
  7. Click OK to save the changes.
  8. 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 $SHELL

If 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.

  1. Run the following command in Terminal:

    echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> ~/.bash_profile
  2. Restart Terminal, and the deprecation warning will no longer appear.