Here's my contribution to the functions available for tracking directories across sessions. It includes a chpwd hook function that maintains a list of recently used directories (in order) in a file, and the function "cdr" that uses it; then there are a couple of helper functions. Configurable completion is provided so you can decide how you want to complete the directories in the list. If you define or add to zsh_directory_name as indicated in the comments you can use ~[1] etc. to refer to the directories and completion after ~[ will work. There are numerous styles to configure various aspects, including the file where the directories are saved, so you can tie this to a particular session as detected in ~/.zshrc. See comments at the top of cdr for documentation. Very roughly, it's like a more configurable pushd with a persistent stack, and most-recent-first ordering (like pushd used to have until the mid nineties at which point I had to introduce a function front end). Note a couple of aspects work best with the latest version of the shell, not yet released (I've said 4.3.11 but the current top of tree is OK). I'm posting it here rather than zsh-users in case anyone wants to make tweaks to it before it goes further. It's fairly straightforward shell code. pws Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom