Skip to content

zoxide

A faster way to change directories that learns the folders you visit most.

Stars
40.4k
Forks
939
Licence
MIT
Language
Rust
Last update
4 days ago
Type
Dev tool

What it is

zoxide is a replacement for the cd command that remembers which directories you use most often. You type a few letters of a folder name and it jumps there, instead of typing the full path. It is inspired by the tools z and autojump and works with all major shells, according to the project's description.

  • Type z foo to jump to the highest-ranked directory matching foo
  • Type zi foo to pick from matching directories interactively using fzf
  • Type z - to return to the previous directory
  • Use z .. to go up one level, the same way as a regular cd

Great for

  • Developers who move between many project folders in a terminal
  • People who regularly type long paths and want shorter jumps
  • Users of bash, zsh, fish, PowerShell, or xonsh who want one tool across shells
  • People who want an interactive picker for folders via fzf

Not ideal for

  • People who rarely use the terminal, since the benefit comes from repeated use and the directory history it builds
  • Users who need a cd replacement that behaves exactly like the built-in command in every edge case, since it ranks directories by frequency and recency rather than by typed path
Step-by-step guide: how to use zoxideInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    Install via Cargo (any platform with Rust)

    cargo install zoxide --locked

    Install via Homebrew (macOS/Linux)

    brew install zoxide

    Install via winget (Windows)

    winget install ajeetdsouza.zoxide
  2. 2

    Run it

    • Install zoxide using one of the package manager commands in the README
    • Add zoxide's shell integration to your shell config file (the README's Configuration section covers this and was not included in the provided text)
    • Restart your shell or reload its config
    • Visit a few directories with cd so zoxide can learn them
    • Run z followed by part of a folder name you visited
  3. 3

    Get the most out of it

    • Use zi for interactive selection when several directories match, as the README shows (requires fzf)
    • Enable tab completion with z followed by space and tab in bash 4.4+, fish, or zsh
    • Use z with multiple words, such as z foo bar, to narrow matches
    • Check the Integrations section of the README for third-party tools built on zoxide

Downloads

Strengths

  • Installs as a single binary and is available through many package managers, including winget, Homebrew, and cargo
  • Supports many shells, as stated in the README
  • Has an optional interactive selection mode using fzf

Trade-offs

  • Its jumps depend on a history it builds over time, so results are less predictable when you are new to it
  • Some features, such as tab completion, are limited to specific shells (bash 4.4+, fish, and zsh, per the README)
  • The README is truncated here, so setup details for each shell were not fully verified

How it compares

ProjectStarsTypeLevelUpdatedBest for
zoxide (this)40.4kDev toolbeginner4 days agoDevelopers who move between many project folders in a terminal
oh-my-posh23.7kDev toolintermediate4 days agoDevelopers who want their terminal prompt to show extra context
fzf83.9kDev toolbeginner8 days agoCommand-line users who often search file names or command history
atuin32.2kDev toolbeginner4 days agoDevelopers who work in a terminal and often need to find past commands
asdf25.6kDev toolbeginner5 days agoDevelopers who work on several projects that need different language versions
direnv15.5kDev toolbeginner11 days agoDevelopers who juggle several projects with different environment variables

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.