The workshop · Edition No. 60 · 24 Oct 2026

eradman/entr

Runs a command again every time one of the files you named is saved.

← The workshopRead the whole edition →
entr: rerun a command on save. Watches the files you name and reruns.

5.7k stars · ISC-style, not named in the sidebar · no GitHub releases; the author's own page offers version 5.9 · Track this in Scout

Runs a command again every time one of the files you named is saved.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It reads a list of file names on its input, then waits. When one of those files is saved, it runs the command it was given. -c clears the screen first, so only the newest run is on display, and -p waits for the first change instead of running straight away. -r restarts a command that keeps running, rather than starting a second copy, which is how a development server is reloaded. -s runs the command through a shell, so pipes and && work, and -d exits when a new file appears in a watched folder. It hears about changes from the operating system instead of checking the files over and over, so it costs almost nothing while it waits. Two settings cover the places where that is imperfect: ENTR_INOTIFY_WORKAROUND on Windows Subsystem for Linux and Docker for Mac, and ENTR_FOLLOW_SYMLINK where a watched name points at another file. It watches files, not folders: a file created after it started is not watched until the list is built again, which is what -d is for.

Why it matters

Who it suits. Anyone who edits text and then runs a command to see the result, which covers most people who write code, documentation or stylesheets. It is most useful on a project with no watch mode of its own, because it adds one in a single line and needs no configuration file. It also suits anyone who wants something else to decide which files are watched, since the list is piped in and any tool that lists files can produce it. Skip it if the tools already in use rebuild on save, because a second watcher only causes confusion.

Verdict. Still the best two minutes in this edition, and it was checked again today. It qualifies easily: the repository is not archived, and code was pushed on 16 October 2026, eight days before this edition. It has more than 5,700 stars and has never published a release on GitHub at all, which is why it appears in today's headline. It has never needed one. The program is a small amount of C that does one thing, and the author's own page offers version 5.9 as a download with no date beside it, so the code date is what settles currency here rather than the download page. The second gap on the same repository is the licence, and it is the fact worth repeating. The About sidebar names no licence; the licence file was read in full again today and holds the standard ISC licence, granting use, copying, modification and distribution for any purpose, with no added conditions. That is as permissive as licences get. One practical limit has not changed: because the file list is supplied rather than discovered, a file created later is invisible until the list is rebuilt, and the usual fix is a loop with -d. Both alternatives find files themselves. watchexec/watchexec from Edition 41 has 7.2k stars, watches whole folders and reads .gitignore files; cortesi/modd is smaller at about 3,000 stars and keeps several background programs alive from one short configuration file.

Stars5.7k
LicenceISC-style, not named in the sidebar
Latestno GitHub releases; the author's own page offers version 5.9
Good
  • Small, in every package list, and nothing to configure before the first use.
  • The file list arrives from another command, so anything that lists files can choose what is watched.
  • -r restarts a program that keeps running, which turns it into a reload tool.
Watch for
  • It watches named files, not folders, so a file created later needs the list rebuilt.
  • No releases on GitHub and no licence in the About sidebar, so both have to be looked up elsewhere.
  • The options are terse single letters, and the manual page is the only real documentation.
Similar repositories
  • watchexec/watchexec

    Apache-2.0, covered in Edition 41; watches whole folders and respects version-control ignore rules, so new files are picked up without a loop, at the cost of being a larger program.

    Track this in Scout
  • cortesi/modd

    MIT, runs commands on change and also keeps long-running processes alive and restarts them, driven by a small configuration file rather than by a piped file list.

    Track this in Scout
Install
sudo apt install entr
Screenshots
eradman/entr: GitHub preview card

On Stack Radar: Build & Ship › Developer Environments › Local Development.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.