I installed new bash via brew

brew install bash
which bash # /opt/homebrew/bin/bash
chsh -s /opt/homebrew/bin/bash

I have added /opt/homebrew/bin/bash to /etc/shells

$ bash --version
GNU bash, version 5.1.8(1)-release (aarch64-apple-darwin20.4.0)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

however, in the terminal, I'm still staying in bash3.2.

echo ${BASH_VERSION} # still being 3.2.57(1)-release
  • 2
    If you did not restart the shell you are running in, it will still reflect the version of THAT shell. Restart Terminal.app. Nov 9, 2021 at 19:53
  • @MarcWilson The same in new terminal window
    – ddzzbbwwmm
    Nov 9, 2021 at 20:03
  • What does dscl . -read ~/ UserShell show?
    – mmmmmm
    Nov 9, 2021 at 21:06
  • 2
    Another thing to double-check is that "Terminal->Preferences->General->Shells open with" is set to "Default login shell".
    – NobodyNada
    Nov 9, 2021 at 23:05
  • @NobodyNada yeah, that's the point. Turn it to an A plz.
    – ddzzbbwwmm
    Nov 10, 2021 at 13:32

2 Answers 2


The solution is as described by @NobodyNada in the comments. But since he hasn't posted this as an answer for a long time, I paste it here:

Terminal -> Preferences -> General -> Shells open with should be set to "Default login shell".


What you've done -should- work.

Might want to verify the contents of /etc/shells:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.


and retry changing the shell:

Scot-MBP:~ sfederman$ chsh -s /opt/homebrew/bin/bash
Changing shell for sfederman.
Password for sfederman:
chsh: no changes made

then testing:

Scot-MBP:~ sfederman$ which bash
Scot-MBP:~ sfederman$ echo ${BASH_VERSION}

You must log in to answer this question.

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