finds.dev← search

// the find

ajeetdsouza/zoxide

★ 37,915 · Rust · MIT · updated Jul 2026

A smarter cd command. Supports all major shells.

zoxide is a frecency-based directory jumper written in Rust — it tracks which directories you visit and lets you jump to them by typing fragments instead of full paths. It's the spiritual successor to z and autojump, but faster and with first-class support for basically every shell including Nushell, Elvish, and PowerShell. If you spend serious time in a terminal, this replaces cd in a week and you never go back.

The frecency algorithm (frequency + recency combined) is genuinely smarter than pure frequency tracking — a directory you visited yesterday beats one you visited 500 times six months ago. Shell integration is generated at init time via templates rather than runtime scripts, which means no shell startup overhead and easy auditing of what it actually injects. The `zi` interactive mode with fzf integration handles the ambiguous-match case cleanly instead of guessing. Import paths from autojump/fasd/z mean you don't lose your history when switching.

The database is a flat binary file with no concurrent-write protection — if you run multiple terminal sessions that all try to update it simultaneously, you can get corruption or lost entries. There's no way to weight directories manually; if you cd into a temp directory 50 times debugging something, it pollutes your jump list and the aging algorithm takes a while to clear it. The `--cmd cd` option to replace the built-in cd sounds appealing but breaks muscle memory in subtle ways (cd - behavior, CDPATH, etc.) and the docs don't warn you about the edge cases.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →