Repolode
ajeetdsouza

ajeetdsouza/zoxide

A smarter cd command that learns your most-used directories and lets you jump to them with a few keystrokes, across all major shells.

Stars
40,192
Forks
929
Open issues
160
Last commit
3 days ago

What is it?

zoxide is a replacement for the cd command that tracks the directories you visit and ranks them by how often and how recently you use them. Typing z followed by a partial name, such as z foo, jumps to the highest-ranked matching directory, so you rarely need to type full paths.

It works with Bash, Zsh, Fish, PowerShell, Nushell, Elvish, Xonsh, Tcsh and any POSIX shell. Installation is available through crates.io, Homebrew, winget, Scoop, conda and many Linux distribution repositories. Its zi command opens an interactive selector when fzf is installed, and it can import history from z, autojump, fasd, atuin and similar tools.

The matching behavior and database aging are configurable through environment variables, including exclusion globs, database location and maximum entry count. The project is written in Rust and released under the MIT license.

Key features

  • 01Ranks directories by frequency and recency so jumps match what you actually use.
  • 02Works with Bash, Zsh, Fish, PowerShell, Nushell, Elvish, Xonsh and other shells.
  • 03Interactive selection through fzf with the zi command.
  • 04Imports history from z, autojump, fasd, atuin and other tools.
  • 05Configurable exclusions, database location and aging limits via environment variables.

Use cases

  • Jumping between frequently used project folders in a terminal without typing full paths.
  • Migrating from z, autojump or fasd while keeping existing directory history.
  • Using a consistent directory-jumping command across Windows PowerShell, Linux and macOS shells.

Quick start

  1. 1

    Install the binary with the install script

    Install with the official instructions in the README
  2. 2

    Or install via crates.io with Cargo

    cargo install zoxide --locked
  3. 3

    Add zoxide to the end of your Bash config file (usually ~/.bashrc)

    eval "$(zoxide init bash)"
  4. 4

    Restart your shell, then jump to a directory with z

    z foo

Things to know

  • Shell setup requires editing your shell config file manually.
  • Tab completions and interactive selection (zi) need fzf installed separately.

Topics

FAQ

What is zoxide?
A smarter cd command that learns your most-used directories and lets you jump to them with a few keystrokes, across all major shells. zoxide is a replacement for the cd command that tracks the directories you visit and ranks them by how often and how recently you use them. Typing z followed by a partial name, such as z foo, jumps to the highest-ranked matching directory, so you rarely need to type full paths.
Is zoxide free to use? What license does it have?
zoxide is open source under the MIT license. Check the license terms before using it in commercial products.
Is zoxide still maintained?
Actively maintained. The last commit to zoxide was on Oct 18, 2026.
What can I use zoxide for?
Jumping between frequently used project folders in a terminal without typing full paths. Migrating from z, autojump or fasd while keeping existing directory history. Using a consistent directory-jumping command across Windows PowerShell, Linux and macOS shells.
How do I install zoxide?
Install the binary with the install script Or install via crates.io with Cargo: cargo install zoxide --locked Add zoxide to the end of your Bash config file (usually ~/.bashrc): eval "$(zoxide init bash)" Restart your shell, then jump to a directory with z: z foo
Where can I get zoxide?
The source code and installation instructions are on GitHub: https://github.com/ajeetdsouza/zoxide

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects