Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have noticed two ways to the change default shell in Mac OS X.

  • Open up Terminal preference and set "Shells open with" to "Command". Then type the path to the shell program such as /usr/local/bin/zsh.
  • Another way is to turn on System Preferences and pick "Accounts". Unlock the preference so that you can make a change. Find your username under which you want to change the default shell. Then right click it to go to "Advanced Options...". Then I can find the setting for "Login shell".

What's the difference between the two ways I mentioned above? Which could be good for what purpose?

share|improve this question
up vote 2 down vote accepted

The terminal preference only affects the terminal the other way affects all processes that use a shell (e.g. if you ssh into the machine only the latter will have changed the shell)

Note that applications launched from the dock/finder etc are not affected by either.

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.