ajeetdsouza /zoxide

A smarter cd command. Supports all major shells.

★ 40,536⑂ 942👁 76⑃ 466● 758▤ 38◈ 108
RustMITCreated 2020-03-05crates.io/crates/zoxide
40,536
stars
+14
942
forks
76
watchers
466
prs
758
issues
38
releases
108
discussions

README

Special thanks to:


  
    
      
      
      Warp, built for coding with multiple AI agents.
      Available for macOS, Linux, and Windows.
      
        Visit
        warp.dev
        to learn more.
      
    
    
      
      
      Processing over 3TB/s of video at peak load,
      
      now hiring in SF.
    
  





  
    
    
    
  
  
  zoxide


[![crates.io][crates.io-badge]][crates.io]
[![Downloads][downloads-badge]][releases]
[![Built with Nix][builtwithnix-badge]][builtwithnix]

zoxide is a smarter cd command, inspired by z and autojump.

It remembers which directories you use most frequently, so you can "jump" to
them in just a few keystrokes.
zoxide works on all major shells.

Getting started •
Installation •
Configuration •
Integrations



 Getting started

![Tutorial][tutorial]

sh
z foo               cd into highest ranked directory matching foo
z foo bar           cd into highest ranked directory matching foo and bar
z foo /             cd into a subdirectory starting with foo

z ~/foo             z also works like a regular cd command
z foo/              cd into relative path
z ..                cd one level up
z -                 cd into previous directory

zi foo              cd with interactive selection (using fzf)

z foo   show interactive completions (bash 4.4+/fish/zsh only)


Read more about the matching algorithm [here][algorithm-matching].

 Installation

zoxide can be installed in 4 easy steps:

1. Install binary

   zoxide runs on most major platforms. If your platform isn't listed below,
   please [open an issue][issues].

   
   Linux / WSL

    The recommended way to install zoxide is via the install script:
   
    sh
    curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
    
   
    Or, you can use a package manager:
   
    | Distribution        | Repository              | Instructions                                                      |
    | ------------------- | ----------------------- | ----------------------------------------------------------------- |
    | _Any_           | [crates.io]         | cargo install zoxide --locked                                   |
    | _Any_               | [conda-forge]           | conda install -c conda-forge zoxide                             |
    | _Any_               | [guix]                  | guix install zoxide                                             |
    | _Any_               | [Linuxbrew]             | brew install zoxide                                             |
    | _Any_               | [nixpkgs]               | nix-env -iA nixpkgs.zoxide                                      |
    | Alpine Linux 3.13+  | [Alpine Linux Packages] | apk add zoxide                                                  |
    | Arch Linux          | [Arch Linux Extra]      | pacman -S zoxide                                                |
    | ~~Debian~~[^1]      | ~~[Debian Packages]~~   | ~~apt install zoxide~~                

Top issues

Discussions

Latest release

0.10.0 v0.10.0 2026-07-04
Added

- import now supports fetching entries from atuin.
- import now auto-detects database files.
- import now skips directories matching $_ZO_EXCLUDE_DIRS.
- POSIX: support for non-Cygwin Windows environments (e.g. Busybox).
- Fish: Space-Tab completions now display and run the selected command.
- Bash/POSIX/Zsh: z now honors $CDPATH.
- Bash: don't add to the database when history is disabled (set +o history).
- Nushell: export commands so the init script can be imported with use.
- Support for RISC-V (riscv64) Linux.

 Changed

- import now takes a subcommand instead of the -

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON