I'm on the latest public beta of macOS Catalina and it's supposed to use zsh as the default shell and it even shows that it is pointing to zsh in the users settings but whenever I open a new terminal window it says:

enter image description here

and even when I run that specified command, it says: no changes made

What do I do?

  • I upgraded to Catalina from Mojave. I expect that the default shell is still Bash because of the upgrade. It's not a fresh install. – CommandZ Oct 14 '19 at 16:21

Turns out the terminal app has its own settings for which shell to use. I had to go to terminal preferences and change the option for Shells open with to Default login shell:

enter image description here

|improve this answer|||||

I've personally not used MacOS Catalina. It may or may not require you to run chsh altogether as the superuser (i.e. root).

Try executing chsh -l (lowercase L) to see a list of the shells available to you.

As changing a user's shell modifies /etc/passwd, you'll only be able to modify your own user's shell if you don't run chsh with sudo or as the root user.

Running chsh interactively (i.e. Without any arguments) should then prompt you for the pathname to the shell you'd like to set as your default shell.

Additional arguments that you could use include

  1. -l / --list-shells which displays the list of available shells located in /etc/shells. This is useful to see the full pathname of the available shells that are accepted when designating a default shell with chsh.

  2. -s shell / --shell shell , where shell is the path to the shell you wish to designate as your default shell.

|improve this answer|||||
  • On 10.15.1 chsh -l says usage: chpass [-l location] [-u authname] [-s shell] [user] which seems very weird... – thoni56 Nov 27 '19 at 8:44
  • @thoni56 Hmm, check the man page and see if you can find an option that lists available shells. – waxwing Nov 29 '19 at 8:19
  • My comment was rather on the fact that chsh announces itself as chpass... – thoni56 Nov 29 '19 at 8:31

New user accounts will be created with zsh as the default shell. Existing accounts will keep whatever settings they already have in place.

|improve this answer|||||
  • True, but not sure how this answers the question. The OP tried to change shells apparently, but it didn't work as expected. – nohillside Oct 17 '19 at 10:09

You must log in to answer this question.

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