cd /news/ai-agents/show-hn-cmdfound-run-any-missing-lin… · home › topics › ai-agents › article
[ARTICLE · art-159684] src=javier.io ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Cmdfound – run any missing Linux command

Developer Javier Lopez released cmdfound, a single 541 KB POSIX sh file that resolves missing Linux commands across 7 native channels (github, aqua, pkgx, nix, AppImages, Rust crates and conda-forge) and 11 distro catalogs run under 2 container runtimes, reaching roughly 133,000 distinct commands and about 93% of the commands tldr-pages documents for Linux. Built between September 14 and October 27, 2026 with Claude Code across 82 sessions and subagents, the tool ran 78 of 100 random tldr commands from an empty home directory, with most of the remainder being names that map to more than one program. Lopez said the code was written by agents but that "every function went through a careful human review," and the project ships with 3,205 lines of tests over 44 fake channels and tools.

by read3 min views3 publishedOct 28, 2026

cmdfound #

27 Oct 2026

The fragmentation of Linux installers is one of its strengths and one of its weaknesses: a garden to try new ideas, and at the same time a lot of duplicated work. The reality is that there is probably a way to install the program you are looking for, but it is hidden behind one or several wrappers, containers, distros, etc. Before AI, and even now, it is hard to keep track of all those channels and to put them together.

cmdfound is an attempt at that, packed into one POSIX sh file. No daemon, no package manager of its own, nothing extra: just upstream, minus the friction.

Get it, and hook it to your shell:

$ wget -qO ~/.local/bin/cmdfound https://raw.githubusercontent.com/javier-lopez/cmdfound/master/cmdfound
$ chmod +x ~/.local/bin/cmdfound
$ echo 'eval "$(cmdfound --hook bash)"' >> ~/.bashrc

From then on a missing command goes through it.

cmdfound tries to answer one question: what is the shortest path, in time and in network, to run that missing command, given all the software that already exists for Linux. And it tries to answer it with as little code as possible.

Although the code was written by agents, every function went through a careful human review, and that is where code-freeze came from.

Every route, priced

A name usually lives in more than one place. nmap is a native binary in pkgx and nix, and a package in every distro. -n shows them all without installing anything, cheapest first:

Native beats a container, then fewer bytes, then less time.

Name the channel

When you know where it lives, say it, eg: github:owner/repo:

Distros as catalogs

fdfind is what Ubuntu calls fd. No native channel knows that name, so cmdfound reads Ubuntu’s own command index, installs the package in an ubuntu image and runs it there:

Eleven catalogs are read this way: alpine, ubuntu, fedora, etc. The images run under docker when it is there, and under udocker, rootless, when it is not.

Leave no trace

-e runs the program from a throwaway root that is gone when it exits. -l lists what is installed and what each channel keeps; -p removes the leftovers.

How far it reaches

Not every distro made it in, and not every catalog either; most of them are redundant. With the current ones it reaches:

  • ~133,000 distinct commands.
  • ~93% of the commands tldr-pages documents for linux.
  • 7 native channels (github, aqua, pkgx, nix, AppImages, Rust crates and conda-forge) and 11 distro catalogs, run under 2 container runtimes.
  • 78 of 100 random tldr commands, run from an empty home, just ran; most of the rest are names that mean more than one program, and it asks which.

Some more numbers

Built between September 14 and October 27, 2026, pairing with Claude Code:

  • 82 sessions and subagents, ~14,500 model responses.
  • 8.9 million output tokens; 96 million written to the prompt cache and 4.56 billion read back from it (the same context, reused turn after turn); 39,000 of fresh input. These count whole sessions that touched cmdfound, so they are an upper bound.
  • cmdfound.in : 5,298 lines, 201 functions. 27 channel, format and row files, 6,409 lines. Built into one 541 KB file.
  • 3,205 lines of tests over 44 fake channels and tools; 33 sources ruled out, each with the measurement that ruled it out.

That’s it, happy hacking! 😊

── more in #ai-agents 4 stories · sorted by recency
── more on @cmdfound 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-cmdfound-run…] indexed:0 read:3min 2026-10-28 · —