Side by side
| Feature | ukrop | zoxide |
|---|---|---|
| Language | Rust | Rust |
| Directory jumping | ✓ | ✓ |
| Command history search | ✓ | – |
| SSH host picker | ✓ | – |
| Unified TUI | 3-panel | CLI |
| Frecency scoring | ✓ | ✓ |
| Two-tier search (substring + fuzzy) | ✓ | – |
| Match highlighting | ✓ cyan+underline | – |
| Built-in fuzzy | nucleo | requires fzf |
Drop-in cd replacement | – | ✓ |
| Favorites | ✓ | – |
| Edit before execute | ✓ | – |
| Copy to clipboard | ✓ | – |
| Auto-cleanup stale dirs | ✓ configurable | ✓ 90 days |
| Config file | TOML + in-TUI editor | – |
| Imports from autojump/fasd/z | – | ✓ |
| Shell support | zsh, bash, fish | 8+ shells |
| License | MIT | MIT |
Where ukrop wins
- Built-in command history search and SSH host picker — zoxide only handles directories.
- Three-panel TUI shows cd, run, and ssh results simultaneously.
- Two-tier search: substring matches rank above fuzzy-only matches, with highlighting.
- Favorites system to pin frequently used entries.
- CWD-scoped command filtering.
- Edit before execute (Shift+Enter / F5) and copy to clipboard (Ctrl+Y).
- Exit code tracking for commands.
- SSH config import alongside shell history import.
- Interactive setup wizard (
ukrop setup). - Configuration file with ignore patterns, scoring weights, theme presets, and an in-TUI editor (F9).
- No external dependency for fuzzy search (zoxide's interactive mode requires fzf).
Where zoxide wins
- Larger community and ecosystem (vim, emacs, ranger, tmux integrations).
- Supports more shells (PowerShell, Nushell, Elvish, Xonsh, Tcsh, ksh).
- Drop-in
cdreplacement (z foo bar) without ever opening a TUI. - Imports from autojump, fasd, z, z.lua, zsh-z databases.
- Battle-tested in production for years.
Bottom line
If you only need directory jumping, zoxide is a great choice. If you want directory jumping plus command history plus SSH in one tool, ukrop covers all three.