I know Catalina uses zsh as the default login shell and interactive shell, but it is very annoying when I open iTerm.app or run command with /bin/bash, it shows verbose message like below:

$ /bin/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.

The support document the message links to is https://support.apple.com/kb/HT208050

How can I hide the verbose logging? I do not want to be reminding that the "default interactive shell is now zsh" every time I open Terminal.


I found the solution on reddit. The solution is also mentioned in the "How to use a different shell without changing the default" section of the Apple support article mentioned in the bash warning: https://support.apple.com/en-us/HT208050/.



to $HOME/.bash_profile, $HOME/.profile or $HOME/.bashrc and restart iTerm. After that, the warning message will be gone.

  • 22
    Note that this is also listed in the "For more details" link that's in that very warning ;) – scohe001 Oct 10 '19 at 12:31
  • 3
    Just a comment - this didn't work for me in either .profile or .bash_profile in iTerm so I added it to .bashrc which did work. A bit embarrassed that I searched before actually reading the link in the message... :-) – piit79 Nov 26 '19 at 9:51
  • @scohe001 — Updated the answer to make mention of this – M. Justin Feb 25 '20 at 6:45
  • This didn't work for me. In macOS 10.15. I had to add it to /etc/profile instead, per @nverkland . – LexH Sep 3 '20 at 12:41
  • @piit79 That's because LOGIN shells run ~/.bash_profile and all other non-login shells run .bashrc. It is not uncommon for the last line of your .bash_profile to be something like [[ -f ~/.bashrc ]] && source ~/.bashrc – Alan Porter yesterday

Apple's /bin/bash is fairly antiquated (currently v3.2.57). I just switch to use the bash shipped by homebrew (currently v5.0.18), which will incidentally also remove that deprecation warning.


  1. Install homebrew if you haven't already https://docs.brew.sh/Installation
  2. In a terminal run:
brew update && brew install bash && sudo chsh -s /usr/local/bin/bash $(whoami)
  • This did not work for my Catalina upgrade with Homebrew: "GNU bash, version 5.0.11(1)-release (x86_64-apple-darwin18.6.0)". I had to set the environment variable. – Glenn Dec 11 '20 at 19:29
  • 1
    Worked on Big Sur. I was a bit lazy and did: sh brew update && brew install bash && sudo chsh -s `which bash` $(whoami) But I wouldn't expect that to make any difference. I didn't need to set BASH_SILENCE_DEPRECATION_WARNING. – dlu Feb 20 at 23:49

I found that becoming root then adding the deprication suppression in /etc/profile was more reliable. I was already using ZSH and I was getting the warning every time I opened a new console. Terribly annoying. /etc/profile now reads as follows:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .