How can I change Terminal.app's default shell to BASH?

For some reason, my friend's Mac (10.6.6) defaults to using TCSH instead of BASH. The obvious remedy is to choose /bin/bash as the command to open shells with (as below), but then it fails to load .bashrc and .bash_profile (even if I give a --source or --rcfile parameter). /bin/bash

How can I switch it to use bash the right way?

  • 2
    Re "For some reason…": The default shell used to be tcsh. Now it's bash, but existing user accounts are not changed when upgrading to a newer Mac OS X. Users with older accounts will need to switch shells themselves.
    – Chris Page
    Aug 14, 2011 at 1:07

3 Answers 3


Open System Preferences, select user and right click on its name. "Advanced options..." will appear. Change shell there. If you're die hard Apple user, you probably will have to enable right click first. Depending on your computer model, it can be done under Trackpad or Mouse Preferences.

  • This is most likely the best way to do it. Easy, permanent, and doesn't conflict with anything else. Feb 9, 2011 at 2:54
  • Great. I didn't know about this. I'm coming from unix word where chsh is the way to go, but I would surely recommend using built-in Mac OS X tool instead. Feb 9, 2011 at 7:27
  • 2
    You can always control click instead of right click, which is the traditional way to access context menus. Feb 9, 2011 at 18:26
  • I don't see the 'user' icon in System Preferences
    – Alex
    Dec 6, 2011 at 14:36
  • 2
    I had to "Click the lock to make changes" in order to coerce the context menu to reveal itself. This was on Lion. Dec 29, 2011 at 19:24

By using chsh from Terminal. It changes default shell for user. Alternatively you may setup Terminal to use /bin/bash -l ... this will cause BASH to behave as login shell, i.e. it will read .bash_profile.

  • No go for chsh; it still gave me tcsh as the default shell. However, /bin/bash -l does work. I'd like to hear other opinions before I accept it as the right answer, thought.
    – Merchako
    Feb 8, 2011 at 17:08

As of Mac OS X Lion 10.7, Terminal will create login shells even if you choose a custom shell in Startup preferences. So your initial problem should no longer be an issue on Lion. (Although I recommend setting the shell via System Preferences to ensure it's set for the user account and not just for the Terminal application.)

You must log in to answer this question.

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