Automic VaultAutomic Vault

brew

Install entr with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Run arbitrary commands when files change. Version 5.8 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install entr

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install entr

MacPorts ports tree · sysutils/entr/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add entr

Alpine Linux edge package indexes · entr · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install entr

Debian stable package indexes · entr · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install entr

Fedora Rawhide package metadata · entr · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#entr

nixpkgs package indexes · pkgs/by-name/en/entr/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S entr

Arch Linux sync databases · entr · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install entr

openSUSE Tumbleweed package metadata · entr · source: download.opensuse.org

overview

Package summary

Run arbitrary commands when files change

Commands and aliases

  • entr

history

Project history and usage

entr is a small Unix command that runs arbitrary commands when input files change. Its appeal comes from staying close to shell pipelines: users pipe a file list into `entr`, and the tool uses kqueue or inotify to avoid polling.

Project history

The README describes entr as an Event Notify Test Runner written to facilitate rapid feedback on the command line. Its implementation deliberately relies on native operating-system event facilities, using kqueue on BSD/macOS-style systems and inotify on Linux.

The release history shows steady maintenance across portability, process-control, and file-notification edge cases. Version 4.3 in 2019 moved hosting from Bitbucket to GitHub and replaced Mercurial with Git in its system-test workflow, a useful marker in the project's packaging history.

Adoption history

entr is broadly packaged for Unix-like systems. The input package facts list Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE package names, and Homebrew formula analytics showed thousands of annual installs during this run.

Its adoption is helped by having no project-specific build system assumptions: examples use standard shell pipelines with `ls`, `find`, `make`, `psql`, Node, Ruby, and web servers, so it fits into many language ecosystems without becoming part of any one of them.

How it is used

Common uses include rebuilding a project when source files change, running tests after successful builds, restarting a development server, clearing a terminal before command output, and re-running database scripts. The web documentation explains restart mode, directory watching for new files, status filters, and the `/_` placeholder for the changed file.

entr's design leaves file discovery to other tools and command execution to the shell. That keeps the package small, but it also means users compose it with `find`, `ls`, `ag`, `ack`, `make`, or language-specific commands depending on the project.

Why package nerds care

entr is a classic package-manager tool: tiny, portable, scriptable, and more powerful because it composes with everything else. It occupies the space between ad hoc shell loops and heavier file-watcher daemons, which is why it shows up in many Unix package collections.

For maintainers, the interesting bits are platform event semantics and terminal/process behavior, not dependency management. The NEWS file is mostly a chronicle of inotify, kqueue, signals, file limits, child processes, and terminal handling.

Timeline

  • 2015: 3.x releases document directory watching and release-number display.
  • 2018: 4.0 refines restart mode and terminal restoration.
  • 2019: 4.3 moves hosting from Bitbucket to GitHub and switches test workflow dependency from Mercurial to Git.
  • 2020: 4.4 adds a single inotify queue and an inotify workaround mode for limited platforms.
  • 2021: 5.0 ships, continuing Linux and macOS event-handling refinements.
  • 2026: 5.8 adds a help flag, symlink monitoring changes, and more file-limit handling on macOS.

Related projects

  • entr is often compared operationally with file-watcher tools, test runners, and reloaders, but it remains intentionally shell-oriented.
  • Its documentation explicitly suggests pairing it with source listing tools such as ag or ack and build commands such as make.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
entrcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version5.8
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://eradman.com/entrproject/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://eradman.com/entrproject/none confidence

install metadata

Package metadata

Package keybrew:entr
Version5.8
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/entr
Homepagehttps://eradman.com/entrproject/
Repositoryhttps://github.com/eradman/entr
Upstream docshttps://eradman.com/entrproject
LicenseISC
Source archivehttps://eradman.com/entrproject/code/entr-5.8.tar.gz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameentr
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

entr 5.7-1

Run arbitrary commands when files change

https://eradman.com/entrproject/

sudo apt install entr
  • Section: misc
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Entr
Debian stable package indexes · deb.debian.org · Debian stable package indexes: entr from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

entr

nix profile install nixpkgs#entr
  • normalized package name match
  • Matched by: Entr
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/en/entr/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

entr 5.5-1

Run arbitrary commands when files change

https://eradman.com/entrproject/

sudo apt install entr
  • Section: universe/misc
  • Architecture: amd64
  • 2 dependencies
  • normalized package name match
  • Matched by: Entr
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: entr from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

entr 5.8-r0

Event Notify Test Runner: Run arbitrary commands when files change

https://eradman.com/entrproject

sudo apk add entr
  • License: ISC
  • Architecture: x86_64
  • Source Package: entr
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Entr
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: entr from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

entr-doc 5.8-r0

Event Notify Test Runner: Run arbitrary commands when files change (documentation)

https://eradman.com/entrproject

sudo apk add entr-doc
  • License: ISC
  • Architecture: x86_64
  • Source Package: entr
  • normalized package name match
  • Matched by: Entr
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: entr-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

entr 5.8-1.fc45

Run arbitrary commands when files change

http://eradman.com/entrproject/

sudo dnf install entr
  • License: ISC AND BSD-2-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: entr
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Entr
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: entr from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

entr 5.8-1

Run arbitrary commands when files change

http://eradman.com/entrproject

sudo pacman -S entr
  • License: MIT
  • Architecture: x86_64
  • 1 dependencies
  • normalized package name match
  • Matched by: Entr
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: entr from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

entr 5.8-1.2

A utility for running arbitrary commands when files change

https://eradman.com/entrproject/

sudo zypper install entr
  • License: ISC
  • Category: Development/Tools/Other
  • Architecture: x86_64
  • Source Package: entr
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Entr
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: entr from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

entr

sudo port install entr
  • normalized package name match
  • Matched by: Entr
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/entr/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment