zshでタブ補完のときにエラーが出る

zshでタブ補完をしようとすると,

(eval):setopt:3: no such option: NO_warnnestedvar

のようにエラーが出る.補完自体はできるのだが,補完するたびに出力されるので困る.

$ /bin/zsh --version
zsh 5.2 (x86_64-apple-darwin16.0)
$ /usr/local/bin/zsh --version
zsh 5.4.1 (x86_64-apple-darwin16.7.0)

/usr/local/bin/zshを起動させたところ,タブ補完でエラーメッセージは出なかった.tab-completionで認識してるzshとログインしているzshにバージョンに食い違いがある,ということだろうか?
試しにログインシェルを/usr/local/bin/zshに変更しようとしたが,エラーが出て失敗.

$ chsh -s /usr/local/bin/zsh
Changing shell for user.
Password for user:
chsh: /usr/local/bin/zsh: non-standard shell

OS X refuses to setting fish as default shell(installed via Homebrew)を参考に,上記のエラーを解決.ログインシェルとして認識されていないのが問題だったらしく,/usr/local/bin/zsh/etc/shellsに追加してやれば上手くいった.

$ sudo vim /etc/shells  # /usr/local/bin/zsh をリストに追加
$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh
$ chsh -s /usr/local/bin/zsh  # シェルを再起動

で問題は解決した.