% cat ~/.zshrc
# .zshrc is sourced in interactive shells.
# It should contain commands to set up aliases,
# functions, options, key bindings, etc.
autoload -U compinit
#allow tab completion in the middle of a word
## keep background processes at full speed
## restart running processes on exit
## for sharing history between zsh processes
## never ever beep ever
## automatically decide when to page a list of completions
## disable mail checking
# autoload -U colors
Not sure if it help. Usually I just go to Gnome Terminal setting. On the left list, select the profile then on the top right tab, select “Command”. Select “Run a custom command instead of my shell” then type zsh and reopen the terminal.
Incase you missed to try what @grumpey suggested above.
If it not work, may be you also want to try by creating clean new user and change the default shell again in case something in dot file preventing to change the shell default. After that logout and login again.
This thread is tagged as feodra-linux-35 & silverblue and the OP has not said which is actually in use. I guessed at the most restrictive, and noted that fedora 35 workstation does not install zsh by default.
I have tested with both commands presented by @grumpey, on my Silverblue system, and they both change my default shell as I intend. The only other thing I could note is that if you don’t specify a user for the lchsh command it defaults to the root user and will assign the default for that (usually /bin/bash). Another thing of note may be that your install of ZSH is somehow broken, when you layered it onto Silverblue, were there errors given at the time?