Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A cd command that learns - easily navigate directories from the command line

Subscribe to updates I use autojump

Statistics on autojump

Number of watchers on Github 6478
Number of open issues 139
Average time to close an issue about 1 month
Main language Python
Average time to merge a PR 7 days
Open pull requests 35+
Closed pull requests 17+
Last commit over 2 years ago
Repo Created over 11 years ago
Repo Last Updated about 2 years ago
Size 790 KB
Homepage http://wiki.githu...
Organization / Authorwting
Page Updated
Do you use autojump? Leave a review!
View open issues (139)
View autojump activity
View TODOs for autojump (3)
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating autojump for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


autojump - a faster way to navigate your filesystem


autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line.

Directories must be visited first before they can be jumped to.


j is a convenience wrapper function around autojump. Any option that can be used with autojump can be used with j and vice versa.

  • Jump To A Directory That Contains foo:

    j foo
  • Jump To A Child Directory:

    Sometimes it's convenient to jump to a child directory (sub-directory of current directory) rather than typing out the full name.

    jc bar
  • Open File Manager To Directories (instead of jumping):

    Instead of jumping to a directory, you can open a file explorer window (Mac Finder, Windows Explorer, GNOME Nautilus, etc.) to the directory instead.

    jo music

    Opening a file manager to a child directory is also supported:

    jco images
  • Using Multiple Arguments:

    Let's assume the following database:

    30   /home/user/mail/inbox
    10   /home/user/work/inbox

    j in would jump into /home/user/mail/inbox as the higher weighted entry. However you can pass multiple arguments to autojump to prefer a different entry. In the above example, j w in would then change directory to /home/user/work/inbox.

For more options refer to help:

autojump --help



  • Python v2.6+ except v3.2
  • Supported shells:
    • bash v4.0+
    • zsh
    • fish
    • tcsh (experimental)
    • clink (Windows, experimental)



autojump is included in the following distro repositories, please use relevant package management utilities to install (e.g. yum, apt-get, etc):

  • Debian testing/unstable, Ubuntu, Linux Mint

    All Debian-derived distros require manual activation for policy reasons, please see /usr/share/doc/autojump/README.Debian.

  • RedHat, Fedora, CentOS (install autojump-zsh for zsh, autojump-fish for fish, etc.)

  • ArchLinux

  • Gentoo

  • Frugalware

  • Slackware


Homebrew is the recommended installation method for Mac OS X:

brew install autojump

MacPorts also available:

port install autojump


Windows support is enabled by clink which should be installed prior to installing autojump.


Grab a copy of autojump:

git clone git://github.com/joelthelion/autojump.git

Run the installation script and follow on screen instructions.

cd autojump
./install.py or ./uninstall.py


  • autojump does not support directories that begin with -.

  • For bash users, autojump keeps track of directories by modifying $PROMPT_COMMAND. Do not overwrite $PROMPT_COMMAND:

    export PROMPT_COMMAND="history -a"

    Instead append to the end of the existing \$PROMPT_COMMAND:



For any questions or issues please visit:



autojump was originally written by Jol Schaerer, and currently maintained by William Ting. More contributors can be found in AUTHORS.


Copyright 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

autojump open issues Ask a question     (View All Issues)
  • over 3 years autojump same directory show multi times in search result
  • over 3 years autojump does not jump to correct directory
  • over 3 years Should jump to best directory, even when I'm already there
  • over 3 years Gracefully handle out of space error.
  • over 3 years autojump --purge is not working
  • over 3 years PyPI registry
  • almost 4 years autojump empties PROMPT_COMMAND and sets it to "autojump_add_to_database"
  • almost 4 years Uninstall not clean: autojump_match.py left behind
  • almost 4 years Crash on Windows due to improper backslash handling in autojump_match.py
  • almost 4 years Provide better error handling for invalid Unicode paths.
  • about 4 years Doesn't work on directories with spaces (WinXP)
  • about 4 years People are constantly confused on how to use autojump
  • about 4 years Change default behavior to show post-install message
  • about 4 years Add issue templates with common debug instructions
  • about 4 years autojump import file from my own directory causing exception
  • over 4 years Why not add profile into .*shrc in software
  • over 4 years Suggestion about guide.
  • over 4 years can not work in OS X with error: compinit:496: no such file or directory: /usr/local/share/zsh/site-functions/_go
  • over 4 years Error prompt when using with zsh
  • over 4 years Database entry(ies) regularly wiped
  • over 4 years autojump not working in Ubuntu
  • over 4 years ImportError: No module named autojump_argparse
  • over 4 years Fresh install with homebrew gives error message
  • almost 5 years #Mac#zsh#autojump unable to work,please help me
  • almost 5 years AttributeError: 'module' object has no attribute 'S_ISLNK'
  • almost 5 years macos autojump-22.2.4 already installed, it's just not linked
  • almost 5 years Filter paths
  • almost 5 years jump directory under git root dir
  • almost 5 years UnicodeDecodeError
  • about 5 years Support xonsh shell
autojump open pull requests (View All Pulls)
  • Fix issues URL
  • Add support for adding multiple directories simultaneously
  • Use flock instead of temporary files to avoid races/purge on ENOSPC/fsync time
  • Handling of directories with spaces in Windows and Portability fixes
  • Add more info about Debian installation
  • Autojump is repeatedly added to $PATH on repeated sourcing in Fish
  • Fix jumping to child directories.
  • Correct return from autojump_add_to_database in bash.
  • Fix "modify_autojump_sh" wrong behavior
  • Cache result of brew --prefix
  • Fixes for fish-shell script
  • Fix the path to .../share/... for custom installs
  • Working test for Darwin
  • bash: fixes slow prompt and not add dir upon return key
  • Idea: autocomplete for jc, jo, jco
  • Refactor code and add unit tests
  • install-py: add distribution argument
  • Regex characters cause breakage
  • Feature/issue 356 support git bash msysgit
  • Fix jumping to paths containing spaces on Windows
  • Improve handling of multiple directory arguments
  • Fix "too many args for cd command" with jc and FISH.
  • Use fish shell's autoloading functions for j command
  • README: note caveat when using with liquidprompt
  • {/usr/bin/ => }env to work with termux
  • fixes #436 - the suggested patch on the issue description
  • resolved issue #451
  • Mention that Void Linux has a package
  • more clever fuzzy match
  • Fix a offset by 1 error
  • Update README.md
  • Add AUTOJUMP_SOURCED to tcsh activation file
  • Fix autojump installation on fish 3.x
  • put temporary data file in the same directory as the data file itself
  • Use PWD variable rather than calling pwd in cd hooks
autojump questions on Stackoverflow (View All Questions)
  • Avoid/Disable autojump to inputfield
  • .local/share/autojump/autojump_errors: No such file or directory
  • j, jco, jc or jo don't exist after installing autojump on Mac OSX Yosemite
  • Autojump on mac OS X returning path, but not jumping to desired directory
  • autojump: /etc/profile.d/autojump.sh:.:20: no file :/etc/profile.d/autojump.zsh
  • Cannot source autojump script with zsh on archlinux
  • How does autojump capture visited path
  • Disable cscope autojump
  • javascript autojump to next form field
  • How to use the software autojump in Emacs's minibuffer?
autojump list of languages used
Other projects in Python