Automic VaultAutomic Vault

brew

Install fswatch with Homebrew, apt, dnf, MacPorts, Nix, winget, zypper

Monitor a directory for changes and run a shell command. Version 1.21.0 via Homebrew; verified 2026-06-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install fswatch

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install fswatch

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

Linux

Debian aptverified · 92%
sudo apt install fswatch

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

Fedora dnfverified · 92%
sudo dnf install fswatch

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

Nixverified · 92%
nix profile install nixpkgs#fswatch

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

openSUSE zypperverified · 92%
sudo zypper install fswatch

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

Windows

Windows Package Managerverified · 92%
winget install --id emcrisostomo.fswatch -e

Windows Package Manager source index · emcrisostomo.fswatch · source: cdn.winget.microsoft.com

overview

Package summary

Monitor a directory for changes and run a shell command

Commands and aliases

  • fswatch

history

Project history and usage

fswatch is a cross-platform file-change monitor and libfswatch frontend with backends for macOS, BSD, Linux, Solaris/Illumos, Windows, and portable polling.

Project history

The fswatch README traces the project to Alan Dipert's 2009 OS X implementation using Apple's FSEvents API. At the end of 2013 Enrico M. Crisostomo wrote fsw as a cross-platform replacement and front end for multiple filesystem event APIs.

In April 2014, the authors of fswatch and fsw agreed to merge the programs, with future development continuing in the fswatch repository under Crisostomo's maintenance. The current README describes fswatch as a frontend for libfswatch, with C, C++, and Go bindings noted.

Adoption history

The official README tells users to obtain fswatch from their operating-system or third-party package manager when available, and gives examples for MacPorts, Homebrew, and FreeBSD pkg. The supplied package data shows packages across Homebrew, Debian, Fedora, MacPorts, Nix, Ubuntu, winget, and openSUSE families.

The project has continued as a packaged command-line utility while also exposing libfswatch for programs that need filesystem events without maintaining per-platform watcher code.

How it is used

fswatch accepts paths and streams events for changes to files or directories. Its output can be piped to shell loops or to xargs, and the -o mode supports running one command per batch of changes.

By default fswatch chooses the best available monitor for the platform, while users can select monitors explicitly. The README recommends FSEvents on macOS, File Events Notification on Solaris derivatives, inotify on Linux, the Windows monitor on Windows, kqueue for small BSD/macOS watch sets, and polling as the fallback.

Why package nerds care

fswatch is important to package users because it provides one CLI and one library abstraction over the incompatible filesystem notification APIs that build tools, static-site generators, test runners, and shell automation frequently need.

For maintainers, fswatch is also a classic portability package: it wraps native APIs where possible, keeps a poll fallback, publishes Texinfo/man/PDF/API documentation, and ships through many Unix and Windows package channels.

Timeline

  • 2009: First fswatch implementation written for OS X FSEvents.
  • 2013: fsw written as a multi-backend replacement effort.
  • 2014: fsw and fswatch merged, with development continuing in fswatch.
  • 2024: fswatch 1.18.0 adopted C++17 and updated FSEvents/inotify rename-correlation support.
  • 2026: fswatch 1.21.0 documented conjunctive filters, pruning, and CMake package configuration files for libfswatch.

Related projects

  • fsw is the predecessor project that merged into fswatch.
  • libfswatch is the library layer behind the fswatch frontend.
  • The project is related to native event systems including FSEvents, kqueue, File Events Notification, inotify, fanotify, ReadDirectoryChangesW, and stat-based polling.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

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
fswatchcliglobal 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 version1.21.0
manager updated2026-06-15
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/emcrisostomo/fswatch

install metadata

Package metadata

Package keybrew:fswatch
Version1.21.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/fswatch
Homepagehttps://emcrisostomo.github.io/fswatch/
Repositoryhttps://github.com/emcrisostomo/fswatch
Upstream docshttps://emcrisostomo.github.io/fswatch/documentation.html
LicenseGPL-3.0-or-later AND Apache-2.0
Source archivehttps://github.com/emcrisostomo/fswatch/releases/download/1.21.0/fswatch-1.21.0.tar.gz
Last updated2026-06-15T10:20:16-04:00
Pulseupdated
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 Namefswatch
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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%

fswatch 1.14.0+repack-13.1+b1

file change monitor based on inotify

http://emcrisostomo.github.io/fswatch

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

fswatch

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

fswatch 1.14.0+repack-13.1

file change monitor based on inotify

http://emcrisostomo.github.io/fswatch

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

fswatch 1.17.1-6.fc44

A cross-platform file change monitor

https://github.com/emcrisostomo/fswatch

sudo dnf install fswatch
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: fswatch
  • 6 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Fswatch
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: fswatch from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

fswatch-devel 1.17.1-6.fc44

Development files for fswatch

https://github.com/emcrisostomo/fswatch

sudo dnf install fswatch-devel
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: fswatch
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Fswatch
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: fswatch-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

fswatch-static 1.17.1-6.fc44

Static library for fswatch

https://github.com/emcrisostomo/fswatch

sudo dnf install fswatch-static
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: fswatch
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Fswatch
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: fswatch-static from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
zypper95%

fswatch 1.21.0-1.1

Multi platform file change monitor

https://github.com/emcrisostomo/fswatch

sudo zypper install fswatch
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: fswatch
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Fswatch
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: fswatch from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

fswatch-doc 1.21.0-1.1

Documentation for fswatch

https://github.com/emcrisostomo/fswatch

sudo zypper install fswatch-doc
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: fswatch
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Fswatch
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: fswatch-doc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

fswatch-lang 1.21.0-1.1

Translations for package fswatch

https://github.com/emcrisostomo/fswatch

sudo zypper install fswatch-lang
  • License: GPL-3.0-or-later
  • Category: System/Localization
  • Architecture: noarch
  • Source Package: fswatch
  • 1 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Fswatch
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: fswatch-lang from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

libfswatch-devel 1.21.0-1.1

Development files for fswatch

https://github.com/emcrisostomo/fswatch

sudo zypper install libfswatch-devel
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: fswatch
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Fswatch
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: libfswatch-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

libfswatch15 1.21.0-1.1

Shared library for fswatch

https://github.com/emcrisostomo/fswatch

sudo zypper install libfswatch15
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: fswatch
  • 5 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Fswatch
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: libfswatch15 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

fswatch

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

emcrisostomo.fswatch

winget install --id emcrisostomo.fswatch -e
  • normalized package name match
  • Matched by: Fswatch
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: emcrisostomo.fswatch from https://cdn.winget.microsoft.com/cache/source.msix

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