zsh is recommended all over the place and is supposed to be one of the more advanced shells out there. Why then I find it that zsh autocompletion lacking in many areas that I'm used to with bash?

in particular git autocompletion in zsh is very bad:

  • in bash it knows to complete branches and command options. not so in zsh
  • in zsh it doesn't even complete filenames after many 'git' commands (for example git diff). duh!

3 Answers 3


Try upgrading to at least Zsh 4.3.10. It fixes the problems with Git aliases.


Autocompletion for git is not a bash-builtin functionality, but an additional "third-party plugin" using the basic autocomplete system of the shell, which you happen to have installed (AFAIK it is a part of the git install).

For zsh there either exists no similar autocomplete file or you don't have it installed.

Nevertheless, this says nothing about the quality of either shell, it just means that someone took the effort to create this for the bash, but for zsh no one wanted to (or you just don't have it installed).


I'm a really new user of zsh but one of the first things I installed was oh-my-zsh. It is a community-driven collection of plugins, themes and other awesome stuff. It has a solid set of default settings that have "just worked" for me.

It makes for a fun experience since with zsh's awesome completion system managing local and remote branches is a lot clearer.

My version is from the standard Ubuntu repositories: zsh 4.3.11 (x86_64-unknown-linux-gnu). I suggest you try oh-my-zsh out to see if it works for you out of the box like it did for me.

Not the answer you're looking for? Browse other questions tagged or ask your own question.