A minimal, customizable cross-shell prompt written in Rust that shows relevant project and environment info.
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
Install the binary with the install script
Install with the official instructions in the README - 2
Or install via crates.io with Cargo
cargo install zoxide --locked - 3
Add zoxide to the end of your Bash config file (usually ~/.bashrc)
eval "$(zoxide init bash)" - 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
CLI proxy that filters and compresses shell command output before it reaches an AI coding agent's context, cutting token use.
A user-friendly interactive command line shell for macOS, Linux and other Unix-like systems, with syntax highlighting and autosuggestions out of the box.
A terminal directory navigator that shows trees with unlisted content collapsed, with fuzzy search, file operations, previews and git status.
A command-line log viewer that turns JSON and logfmt logs into human-readable output, with filtering, sorting and live follow mode.
A shell-like, text-based terminal file manager where you manage files by typing commands instead of using a TUI or GUI.