Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I know I can set "Shells open with" in the Terminal preferences, but I'm curious if there's any system-wide way of setting this (similar to updating /etc/passwd in some Unixes).

share|improve this question

3 Answers 3

up vote 14 down vote accepted

Use the chsh utility like so:

chsh -s bash

Apple has changed chsh a bit on Mac OS X compared to the chsh you'd see in Linux for example. You can read up on theirs in the chsh Mac OS X Man Page.

share|improve this answer
And here I figured it was something complicated with some OSX-specific utility, heh. Thanks. –  nall Sep 29 '09 at 0:11
@john - nicely learned :) –  akira Sep 29 '09 at 4:42
Yeah I knew the answer last time too, I was just beaten to it! :( –  John T Sep 29 '09 at 5:02

Note that you will only be allowed to change to a shell listed in /etc/shells. This is normally fine, but it means that if you want to install Bash 4 (from MacPorts or compiling your own), you need to add a line to /etc/shells. (I ran into this a few weeks ago, and figured it might help others to know...)

share|improve this answer

To do this using the Mac OS X GUI:

  1. Open System Preferences
  2. Open the Accounts Preference Pane. Unlock the preference pane if applicable.
  3. On the user you wish to change the shell, control or right click on the user and choose "Advanced Options..."
  4. Where it says Login Shell - change this to the shell you wish to use.

Of note, this location is where you can change your home directory, UUID, User ID, Group ID, and short name if you're uncomfortable with the Terminal. There is an identical question on Server Fault (ID: 21044) as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.