Changing default shell

Im trying to changing default shell from fish to zsh. But it didn’t work for reguler user, but using sudo its working. If im using without sudo, it gave me this output

chsh -s /usr/bin/zsh
Changing shell for rifqilub.
Password:
chsh: Shell not changed.

chsh -s /usr/bin/zsh rifqilub

❯ chsh -s /usr/bin/zsh rifqilub ─╯
Changing shell for rifqilub.
Password:
chsh: Shell not changed.

This typically indicates that the shell path is not listed in the /etc/shells file, which is a common requirement for the chsh command to accept a new shell.
Please check first in /etc/shells
Mine is intentional:

# Pathnames of valid login shells.
# See shells(5) for details.

/bin/sh
/bin/bash
/bin/rbash
/usr/bin/sh
/usr/bin/bash
/usr/bin/rbash
/usr/bin/systemd-home-fallback-shell
/usr/bin/git-shell

I just turn off my computer. And in the morning when i turn it on. It’s just change the default to zsh.

Thanks for answering my problem.