macOS
brew install watchmanlocal Homebrew formula metadata
sudo port install watchmanMacPorts ports tree · sysutils/watchman/Portfile · source: api.github.com
brew
Watch files and take action when they change. Version 2026.07.06.00 via Homebrew; verified 2026-07-07.
install
brew install watchmanlocal Homebrew formula metadata
sudo port install watchmanMacPorts ports tree · sysutils/watchman/Portfile · source: api.github.com
nix profile install nixpkgs#watchmannixpkgs package indexes · pkgs/by-name/wa/watchman/package.nix · source: api.github.com
sudo apt install python3-pywatchmanUbuntu 24.04 LTS package indexes · python3-pywatchman · source: archive.ubuntu.com
choco install watchmanChocolatey community package catalog · watchman · source: community.chocolatey.org
scoop install main/watchmanScoop official bucket manifest trees · bucket/watchman.json · source: api.github.com
winget install --id facebook.watchman -eWindows Package Manager source index · facebook.watchman · source: cdn.winget.microsoft.com
overview
Watch files and take action when they change
history
Watchman is Meta's file-watching service for recording file changes, querying watched roots, and triggering actions. Unlike single-shot command rerunners, Watchman is a daemon-like service with clients, subscriptions, clocks, queries, triggers, and source-control-aware behavior for very large working trees.
The Watchman documentation says the project has been used in production since a few weeks after it was first written, which explains its emphasis on backward compatibility and conservative behavior. The README states that Watchman is primarily maintained by Meta's source control team and supports Windows, macOS, Linux on recent Ubuntu and Fedora releases, and Python, Rust, and JavaScript clients.
Release notes show a mature 3.x and 4.x era by 2015. In 2015, Watchman added relative-root query support, BSER support for the Node client, official PyPI release machinery for pywatchman, server capabilities, recursive glob query improvements, and significant macOS and Linux recrawl/crawl-speed improvements. In 2016, the 4.x line continued with configuration and performance work, including source-control-settling behavior and the 4.7 release's shared-lock queries and Buck-oriented glob-generator integration.
The 4.8 notes describe a major internal transition: Watchman was converted from C to C++, subscriptions and triggers became more concurrent, BSERv2 was implemented, Python 3 support improved, and macOS launchd socket-activation behavior changed for Homebrew users. The 4.9.0 release in 2017 added content SHA-1 hashing, experimental source-control-aware query mode, Windows beta status, and several Windows reliability improvements. Since May 2020, the compatibility docs say Watchman is continuously deployed inside Facebook/Meta and public tags became date-based rather than manually versioned.
Watchman's adoption is strongest where file watching must scale across large repos and developer tools. The official docs describe recursive roots, subscriptions, queries since a clock, triggers, and conservative handling of uncertain state. The Jest CLI still exposes a `--watchman` option for file crawling, defaulting to true, which is a visible example of Watchman becoming infrastructure under JavaScript test tooling.
The installation docs also reflect a split between Meta's upstream releases and community packaging. Homebrew and MacPorts are documented for macOS, Chocolatey for Windows, and upstream release packages for Fedora and Ubuntu are recommended over stale distro packages. That history fits Watchman's role: users often install it not because they plan to call it directly every day, but because another tool wants a reliable file-change indexer.
A basic Watchman workflow establishes a watch root and then adds a trigger, for example watching a source directory and running a minifier when CSS files change. More advanced users issue file queries, subscribe to changes, configure roots with `/etc/watchman.json` or `.watchmanconfig`, and tune OS-specific limits such as Linux inotify watch counts.
The service model is the key distinction. Clients ask what changed since a clock, subscribe to a stream, or defer events during source-control operations. Source-control-aware subscriptions can defer during Mercurial updates, and the 4.9 release notes describe source-control-aware queries as a way to keep responses closer to the size of the user's changes rather than the size of the entire repository.
Watchman matters to package nerds because it is a serious answer to the unreliable, platform-specific, resource-limited world of filesystem notifications. It sits underneath build systems, test runners, source-control tooling, and editor-adjacent workflows, exposing stable APIs while hiding inotify, FSEvents, Windows, recrawl, overflow, and large-tree behavior behind a service boundary.
security posture
No matching local secret-handling manifest was found for watchman. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
/etc/watchman.json.watchmanconfigexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
watchman | cli | global executable | |
watchman-diag | cli | global executable | |
watchman-make | cli | global executable | |
watchman-replicate-subscription | cli | global executable | |
watchman-wait | cli | global executable | |
watchmanctl | cli | global executable |
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.
https://github.com/facebook/watchman
install metadata
| Package key | brew:watchman |
|---|---|
| Version | 2026.07.06.00 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/watchman |
| Homepage | https://facebook.github.io/watchman/ |
| Repository | https://github.com/facebook/watchman |
| Upstream docs | https://facebook.github.io/watchman |
| License | MIT |
| Source archive | https://github.com/facebook/watchman/archive/refs/tags/v2026.07.06.00.tar.gz |
| Last updated | 2026-07-07T21:44:34Z |
| Pulse | updated |
| Dependencies | edencommon, fb303, fbthrift, fmt, folly, glog, pcre2, python@3.14 |
| Build dependencies | cmake, cpptoml, gflags, googletest, libevent, mvfst, openssl@4, pkgconf, python-setuptools, rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | watchman |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
watchman
nix profile install nixpkgs#watchmanpython3-pywatchman 4.9.0-7build4
Python library for Watchman and related utilities
https://facebook.github.io/watchman
sudo apt install python3-pywatchmanwatchman 4.9.0-7build4
File watching service
https://facebook.github.io/watchman
sudo apt install watchmanwatchman
sudo port install watchmanwatchman
choco install watchmanmain/watchman
scoop install main/watchmanfacebook.watchman
winget install --id facebook.watchman -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.