The definition of setopt AUTO_CD should be changed from If a command is issued that can't be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory. to If a command is issued that can't be executed as a normal command, and the command is the name of a directory, then instead execute dirCommand dir and zsh should provide a new builtin function function dirCommand { cd "$1" } Personally, I would redefine this function to call a function that does a pushd. Thanks Dave