There was a recent thread about how someone executed $ git add foo().bar and was surprised to end up with three functions named "git", "add", and "foo". So I decided to add unsetopt multifuncdef to my ~/.zshrc as one person who replied suggested to avoid that surprising behavior. Imagine my surprise when a few days later I rebooted my computer and found that any attempt to perform tab-completion resulted in this error: _main_complete:143: parse error near `()' I'm sorry but that's the final straw to break this camel's back. I've either personally experienced, or read about others experiencing, too many problems of that nature. I'm going to switch to a shell whose behavior is not impossible to understand or predict. http://www.skepticism.us/2015/10/its-time-to-replace-zsh-with-a-saner-shell-because-unsetopt-multifuncdef-breaks-tab-completion/ P.S., Yes, I understand I could simply file a bug report to make the standard completion code robust in the face of a user unsetting that option. The point is that this is not an isolated incident. It reflects a fundamental problem with zsh trying to be all things to all people. -- Kurtis Rader Caretaker of the exceptional canines Junior and Hank