Modern Windows finally has a terminal experience that rivals macOS. The magic is in a handful of CLI tools — Rust-rewrites of classic Unix utilities, plus a few new ones. Here are the 20 best, all installable with one winget command each.
TL;DR — install everything
winget install BurntSushi.ripgrep.MSVC -e
winget install sharkdp.fd -e
winget install junegunn.fzf -e
winget install sharkdp.bat -e
winget install GitHub.cli -e
winget install jqlang.jq -e
winget install Starship.Starship -e
winget install eza-community.eza -e
winget install dbrgn.tealdeer -e
winget install Schniz.fnm -e
winget install dandavison.delta -e
winget install ducaale.xh -e
winget install sxyazi.yazi -e
winget install Casey.Just -e
winget install ajeetdsouza.zoxide -e
winget install lsd-rs.lsd -e
winget install gsass1.NTop -e
winget install ClementTsang.bottom -e
winget install pemistahl.grex -e
winget install voidtools.Everything -e
Or pick and choose below.
File search & navigation
1. ripgrep — the grep replacement
winget install BurntSushi.ripgrep.MSVC -e
Search file contents 100× faster than grep or findstr. Respects .gitignore, parallelises across cores, handles binary files smartly.
rg "TODO" --type js
rg -i "function" src/
2. fd — the find replacement
winget install sharkdp.fd -e
Finds files by name. 10× faster than Windows' dir /s /b. Regex by default.
fd "\.log$"
fd test --exec wc -l
3. fzf — fuzzy finder
winget install junegunn.fzf -e
Interactive selector. Pipe anything in, get a searchable picker out.
cat file.txt | fzf
fd | fzf | code -
4. zoxide — smarter cd
winget install ajeetdsouza.zoxide -e
z foo jumps to the most-frecent folder matching "foo" — even from anywhere in the filesystem.
z proj # jumps to your project folder
z down # jumps to ~/Downloads
5. yazi — terminal file manager
winget install sxyazi.yazi -e
Like ranger but newer, faster, with image preview. Navigate the filesystem visually in your terminal.
6. Everything — instant filesystem search
winget install voidtools.Everything -e
GUI, but worth listing. Indexes every file on every drive and searches in milliseconds. Pair with the es.exe CLI for blazing-fast scripted file search.
Better outputs
7. bat — cat with syntax highlighting
winget install sharkdp.bat -e
cat file.js shows raw text. bat file.js shows it with syntax highlighting, Git diff markers, and line numbers.
8. eza (or lsd) — modern ls
winget install eza-community.eza -e
# alternative:
winget install lsd-rs.lsd -e
ls with colors, icons, tree view, Git status. eza is a fork of exa with active maintenance.
eza --tree --level=2 --icons
eza -la --git
9. delta — better Git diffs
winget install dandavison.delta -e
Pipe git diff through delta for syntax-highlighted, side-by-side diffs. Add to your ~/.gitconfig:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
10. tealdeer (tldr) — sane man pages
winget install dbrgn.tealdeer -e
tldr <command> shows practical examples instead of a 500-line man page. Bookmark for "I know there's a flag for that but I forget which."
tldr tar
tldr rsync
Shell + prompt
11. Starship — cross-shell prompt
winget install Starship.Starship -e
A fast, configurable, minimal prompt that works in PowerShell, Bash, Nu, Fish — anywhere. Shows Git status, language version, command duration, exit code.
Add to your PowerShell $PROFILE:
Invoke-Expression (&starship init powershell)
12. Just — better Makefile
winget install Casey.Just -e
Run project commands from a justfile. Simpler than Make, no tab/space anxiety.
# justfile
build:
npm run build
test:
npm test
deploy: build test
./deploy.sh
Run with just build.
Network / API
13. xh — minimal curl replacement
winget install ducaale.xh -e
Sane curl syntax for daily use. JSON request shortcut, syntax-highlighted output.
xh httpbin.org/get
xh POST httpbin.org/post name=alice age:=30
14. GitHub CLI
winget install GitHub.cli -e
gh lets you create PRs, view CI status, clone repos, and SSH-key dance, all from the terminal.
gh pr create
gh pr checkout 42
gh repo clone owner/repo
gh release upload v1.0 ./dist/*
15. jq — JSON processor
winget install jqlang.jq -e
Manipulate JSON from the command line. Indispensable for API debugging.
curl api.example.com/users | jq '.[].name'
cat data.json | jq '.users | length'
Process / system
16. bottom — better top
winget install ClementTsang.bottom -e
Resource monitor with mouse support, graphs, and process search. Run with btm.
17. NTop — Windows task manager TUI
winget install gsass1.NTop -e
Native Windows process viewer that runs in your terminal.
Misc gems
18. fnm — Node version manager
winget install Schniz.fnm -e
Like nvm but instant. Switch Node versions per project automatically (via .nvmrc).
fnm install 20
fnm install 22
fnm use 22
Detailed setup: Node.js with winget guide.
19. grex — regex generator
winget install pemistahl.grex -e
Give it example strings, get a regex that matches all of them.
grex hello world foobar
# Output: ^(?:foobar|hello|world)$
20. UniGetUI — GUI for everything
winget install MartiCliment.UniGetUI -e
Bonus: a graphical front-end that manages winget + Chocolatey + Scoop + npm + pip + Cargo in one window. See Best winget GUI clients.
Suggested setup
If you only install 5, get these:
winget install BurntSushi.ripgrep.MSVC -e
winget install sharkdp.fd -e
winget install junegunn.fzf -e
winget install Starship.Starship -e
winget install GitHub.cli -e
Plus configure Starship in your $PROFILE and you've got 80% of the daily QoL improvement.
What's next?
- Best winget packages for developers → — full dev list
- Fresh Windows 11 setup → — full setup
- Winget commands cheatsheet → — full reference
- Node.js setup with winget → — fnm + pnpm + bun
