Automic VaultAutomic Vault

brew

Install watchman with Homebrew, chocolatey, MacPorts, Nix, scoop, apt, winget

Watch files and take action when they change. Version 2026.07.06.00 via Homebrew; verified 2026-07-07.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install watchman

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install watchman

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

Linux

Nixverified · 92%
nix profile install nixpkgs#watchman

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

Ubuntu aptverified · 92%
sudo apt install python3-pywatchman

Ubuntu 24.04 LTS package indexes · python3-pywatchman · source: archive.ubuntu.com

Windows

Chocolateyverified · 92%
choco install watchman

Chocolatey community package catalog · watchman · source: community.chocolatey.org

Scoopverified · 92%
scoop install main/watchman

Scoop official bucket manifest trees · bucket/watchman.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id facebook.watchman -e

Windows Package Manager source index · facebook.watchman · source: cdn.winget.microsoft.com

overview

Package summary

Watch files and take action when they change

Commands and aliases

  • watchman
  • watchman-diag
  • watchman-make
  • watchman-replicate-subscription
  • watchman-wait
  • watchmanctl

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2015-06: Watchman 3.3.0 adds relative-root query and subscription support.
  • 2015-08: pywatchman 1.0.0 and Node fb-watchman BSER support appear in release notes.
  • 2015-09: Watchman 3.8.0 adds capabilities and client capability checks.
  • 2016-09: Watchman 4.7.0 reduces memory use, adds shared-lock queries, and notes Buck integration with the glob generator.
  • 2017-08-24: Watchman 4.9.0 adds content SHA-1 fields, experimental source-control-aware query mode, and promotes Windows support to beta.
  • 2020-05: Compatibility docs describe the move to continuous deployment and date-based tags.
  • 2023: Watchman documentation site identifies Meta Platforms as the site owner and README names Meta's source control team as primary maintainer.

Related projects

  • Watchman is related to Sapling and Meta source-control infrastructure, Jest's file crawling, Buck-style build tooling, React Native and Metro-era watch workflows, pywatchman, fb-watchman for Node, and simpler file-watching command runners such as watchexec and entr.

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 8 runtime dependencies.
  • Build metadata lists 10 build dependencies.

Recommended review

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

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
/etc/watchman.json.watchmanconfig

executables

Installed executables

CommandKindExposureNote
watchmancliglobal executable
watchman-diagcliglobal executable
watchman-makecliglobal executable
watchman-replicate-subscriptioncliglobal executable
watchman-waitcliglobal executable
watchmanctlcliglobal 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 version2026.07.06.00
manager updated2026-07-07
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/facebook/watchman

install metadata

Package metadata

Package keybrew:watchman
Version2026.07.06.00
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/watchman
Homepagehttps://facebook.github.io/watchman/
Repositoryhttps://github.com/facebook/watchman
Upstream docshttps://facebook.github.io/watchman
LicenseMIT
Source archivehttps://github.com/facebook/watchman/archive/refs/tags/v2026.07.06.00.tar.gz
Last updated2026-07-07T21:44:34Z
Pulseupdated
Dependenciesedencommon, fb303, fbthrift, fmt, folly, glog, pcre2, python@3.14
Build dependenciescmake, cpptoml, gflags, googletest, libevent, mvfst, openssl@4, pkgconf, python-setuptools, rust
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 Namewatchman
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.

Nix95%

watchman

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

python3-pywatchman 4.9.0-7build4

Python library for Watchman and related utilities

https://facebook.github.io/watchman

sudo apt install python3-pywatchman
  • Section: universe/python
  • Architecture: amd64
  • Source Package: watchman
  • 4 dependencies
  • normalized package name match
  • Matched by: Watchman
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-pywatchman from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

watchman 4.9.0-7build4

File watching service

https://facebook.github.io/watchman

sudo apt install watchman
  • Section: universe/utils
  • Architecture: amd64
  • 5 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Watchman
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: watchman from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
MacPorts95%

watchman

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

watchman

choco install watchman
  • normalized package name match
  • Matched by: Watchman
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: watchman from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','vscode'
Scoop95%

main/watchman

scoop install main/watchman
  • normalized package name match
  • Matched by: Watchman
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/watchman.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

facebook.watchman

winget install --id facebook.watchman -e
  • normalized package name match
  • Matched by: Watchman
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: facebook.watchman 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 configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment