The best command-line tools, according to Hacker News commenters
57 command-line tools were recommended on Hacker News between November 2025 and October 2026. We rank them by how many separate people recommend each one, and 14 earn the Hacker Approved badge.
On Hacker News, the most recommended command-line tool that earns the badge is fzf: 68 people recommended it, 7 had mixed feelings and 5 criticized it between November 2025 and October 2026. Next is grep (53 recommend, 9 mixed, 19 criticize), most often for “Decades-old and stable”.
Top picks
The three most recommended command-line tools with the badge. Each figure is 5 people. RecommendsMixed feelingsCriticizes One comment
Fuzzy history search with Ctrl-R
“I always install fzf now, including the shell integrations like fuzzy history search bound to ctrl-r.”
Comment from 19 Oct 2026 in “Faster command recall with substring search” Fast fuzzy finder that adds interactive search to shell history, files and scripts. Caveat: slow on very large directories.
Decades-old and stable
“I use grep multiple times per day, works great, I've seen no need to change.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” Fast, decades-old command-line text search that composes well in scripts and agent workflows. Critics say it is lexical and floods context on large codebases.
Syncs history across multiple machines
“After using atuin with nix, each new machine became a carbon copy and I could spin up and instance and continue working seemlessly.”
Comment from 16 Aug 2026 in “Tracking down a Zsh history data loss bug” Syncs and searches shell history across machines, with context-aware search by directory and host. Critics worry about added AI features and growing bloat.
All 57 command-line tools, ranked
Select a column heading to sort. Mixed counts the people with mixed feelings, who count toward neither side. Approval share is recommenders out of recommenders and critics; the tick on each bar marks the 2 to 1 line the badge needs. Months counts the months, out of 12, in which someone recommended it. Had for is the median time people say they have had or used it, shown when 10 or more said.
| Rank | ||||||||
|---|---|---|---|---|---|---|---|---|
| 1 | fzf | 68 | 7 | 5 | 93% | 12 | — | Approved |
| 2 | GitHub CLI | 66 | 10 | 45 | 59% | 12 | — | — |
| 3 | grep | 53 | 9 | 19 | 74% | 12 | — | Approved |
| 4 | Atuin | 51 | 6 | 21 | 71% | 9 | — | Approved |
| 5 | jq | 49 | 18 | 30 | 62% | 11 | — | — |
| 6 | ImageMagick | 28 | 7 | 23 | 55% | 11 | — | — |
| 7 | sudo | 27 | 5 | 38 | 42% | 6 | — | — |
| 8 | sed | 26 | 7 | 11 | 70% | 11 | — | Approved |
| 9 | Google Workspace CLI | 23 | 6 | 29 | 44% | 2 | — | — |
| 10 | less | 22 | 8 | 8 | 73% | 8 | — | Approved |
| Tied 11 | fd | 19 | 1 | 3 | 86% | 9 | — | Approved |
| Tied 11 | GNU find | 19 | 6 | 9 | 68% | 8 | — | Approved |
| 13 | xargs | 17 | 5 | 7 | 71% | 4 | — | Approved |
| 14 | zoxide | 16 | 1 | 1 | 94% | 6 | — | Approved |
| Tied 15 | AWS CLI | 15 | 6 | 11 | 58% | 6 | — | — |
| Tied 15 | GNU Parallel | 15 | 0 | 10 | 60% | 6 | — | — |
| 17 | bat | 13 | 3 | 3 | 81% | 7 | — | Approved |
| Tied 18 | Cloudflare Wrangler | 12 | 2 | 11 | 52% | 8 | — | — |
| Tied 18 | llm by Simon Willison | 12 | 2 | 1 | 92% | 7 | — | Approved |
| Tied 18 | socat | 12 | 2 | 1 | 92% | 6 | — | Approved |
| 21 | ADB (Android Debug Bridge) | 11 | 4 | 6 | 65% | 8 | — | — |
| Tied 22 | xdotool | 10 | 1 | 4 | 71% | 8 | — | Approved |
| Tied 22 | ExifTool | 10 | 2 | 1 | 91% | 7 | — | Approved |
| Tied 22 | dd | 10 | 5 | 7 | 59% | 6 | — | — |
| Tied 22 | Chafa | 10 | 1 | 0 | 100% | 4 | — | — |
| Tied 26 | cat (Unix command) | 9 | 0 | 3 | 75% | 5 | — | — |
| Tied 26 | chronic (moreutils) | 9 | 0 | 0 | 100% | 4 | — | — |
| 28 | ls | 8 | 0 | 6 | 57% | 6 | — | — |
| Tied 29 | lsof | 7 | 1 | 3 | 70% | 6 | — | — |
| Tied 29 | asciinema | 7 | 1 | 0 | 100% | 5 | — | — |
| Tied 29 | jira-cli by ankitpokhrel | 7 | 0 | 0 | 100% | 5 | — | — |
| Tied 29 | finger | 7 | 2 | 2 | 78% | 4 | — | — |
| Tied 29 | rlwrap | 7 | 0 | 0 | 100% | 4 | — | — |
| Tied 29 | Biff | 7 | 3 | 3 | 70% | 2 | — | — |
| Tied 35 | dig | 6 | 1 | 0 | 100% | 5 | — | — |
| Tied 35 | gg | 6 | 1 | 0 | 100% | 5 | — | — |
| Tied 35 | gron | 6 | 0 | 0 | 100% | 5 | — | — |
| Tied 35 | xsv | 6 | 0 | 0 | 100% | 5 | — | — |
| Tied 35 | diff | 6 | 0 | 1 | 86% | 4 | — | — |
| Tied 35 | units | 6 | 2 | 3 | 67% | 4 | — | — |
| Tied 35 | kubectl | 6 | 2 | 2 | 75% | 4 | — | — |
| Tied 35 | Obsidian CLI | 6 | 2 | 2 | 75% | 4 | — | — |
| Tied 35 | pv (pipe viewer) | 6 | 0 | 0 | 100% | 4 | — | — |
| Tied 35 | osxphotos | 6 | 0 | 0 | 100% | 2 | — | — |
| Tied 35 | Burn, Baby, Burn | 6 | 0 | 0 | 100% | 1 | — | — |
| Tied 35 | OfficeCLI | 6 | 0 | 1 | 86% | 1 | — | — |
| Tied 35 | uhubctl | 6 | 0 | 0 | 100% | 1 | — | — |
| Tied 48 | caffeinate | 5 | 0 | 2 | 71% | 5 | — | — |
| Tied 48 | z directory jumper | 5 | 0 | 1 | 83% | 5 | — | — |
| Tied 48 | Atlassian acli | 5 | 0 | 3 | 63% | 4 | — | — |
| Tied 48 | Showboat | 5 | 0 | 0 | 100% | 4 | — | — |
| Tied 48 | tail | 5 | 1 | 1 | 83% | 4 | — | — |
| Tied 48 | VHS by Charmbracelet | 5 | 1 | 0 | 100% | 4 | — | — |
| Tied 48 | ss | 5 | 0 | 4 | 56% | 3 | — | — |
| Tied 48 | Cloudflare CLI | 5 | 2 | 5 | 50% | 2 | — | — |
| Tied 48 | Stinkpot | 5 | 0 | 1 | 83% | 2 | — | — |
| Tied 48 | Once | 5 | 3 | 1 | 83% | 1 | — | — |
How we rank
Rank is the number of separate people who recommend a product in a Hacker News comment between November 2025 and October 2026. Someone who praises the same command-line tool in five threads counts once, in the column of their latest opinion.
A command-line tool earns the badge when at least 10 people recommend it, recommenders outnumber critics at least 2 to 1 (mixed feelings count toward neither side), it was recommended in at least 4 of the 12 months and in at least 5 different threads, and no single thread supplies more than half of the people who recommend it.
Rankings are never for sale. We may earn a commission when you buy through our links. It never changes the order.
Counts come from Hacker News comments labeled by Claude, with data through October 31, 2026. Counts updated 2 Nov 2026. How it works