Is it possible to change the user's shell system-wide without using chsh? Using chsh in Catalina is annoying because during a system update /etc/shells is reverted back to the default content. I use Fish as my shell and I don't want to keep an eye on that file. Is there a way to set the default shell system-wide (so I don't have to touch my terminal emulator preferences) for a given user without using chsh? Something like Linux's usermod would be nice
You should be able to use
sudo chsh -s /usr/local/bin/fish USERNAME

to change user USERNAME to a shell which isn't listed in /etc/shells.
PS: Might be worthwhile to create a second admin account first so you won't get locked out if the behaviour changes with future releases.