Hi - It looks like zsh's "compgen -W" (words) does not match the same behavior as bash's. For example in bash: $ compgen -W 'abc abe ab a def' ab compgen -W 'abc abe ab a def' ab abc abe ab $ versus zsh 4.3.10 (and git sources): $ autoload -Uz bashcompinit $ bashcompinit $ zmodload -ap zsh/parameter parameters $ compgen -W 'abc abe ab a def' ab abc abe ab a def $ Attached is a patch from git sources as of May 3rd, 2011 with a new test that I believe corrects this behavior. Since I do not consider myself a zsh language expert, the changes in Completion/bashcompinit might be shorted or made more zsh idomatic. For example simplicity, to match the beginning of a word, I used [[ $try =~ "^$find" ]] matching using == and substrings might be faster, not that I think speed is all that important here. Ditt ofo inlining a newly added _compgen_opt_words function; but I think that makes things uglier and harder to test.