I've noticed a bug in: zsh --version zsh 5.2 (x86_64-apple-darwin15.0.0) It drove me up the wall before I realized but it appears if in your $PATH variable you have a path that contains /./ or /../ the tab-completion for commands will not search that directory. For example *export PATH=/Users/jpolansky/test* which has a command *cmd_test* in it with +x permissions. $ cmd -- it finds cmd_test But if you have: *export PATH=/Users/jpolansky/./test* *or* *export PATH=/Users/jpolansky/../test* *#cmd* -- fails to find cmd_test While I realize it's unusual to have . or .. in a path.. it can happen through scripting and to me this seems like a bug which should be fixed. Hopefully you will agree. John