Git fsmonitor daemon processes spawn detached on macOS 26 Tahoe and never terminate
- From
- Jono Spiro <jono@lostinrecursion.net>
- Date
- Nov 8, 2025, 21:55 UTC
- Message-ID
- <CAMqCmsYb409G0CuL+4xZit4V4wqOzD8DtNBe9hmRquBm0Xuevg@mail.gmail.com>
Thank you for filling out a Git bug report! Please answer the following questions to help us understand your issue.
What did you do before the bug happened? (Steps to reproduce your issue)
1. Enabled git fsmonitor: git config --global core.fsmonitor true 2. Used git applications (Xcode, VS Code, GitX, terminal with Starship) 3. Performed normal git operations (open repository, stage files, navigate directories) 4. Quit applications
What did you expect to happen? (Expected behavior)
fsmonitor--daemon processes should terminate when no longer needed, or at minimum when parent applications quit. Expected one daemon per active repository or so. I am seeing dozens and some users of gitx (which I am a maintainer on) are seeing thousands of orphaned git processes pile up after upgrading to Tahoe.
What happened instead? (Actual behavior)
fsmonitor--daemon processes spawn detached (not as children of parent application) and never terminate. They accumulate indefinitely (dozens to hundreds over time). All show: git fsmonitor--daemon run --detach --ipc-threads=8
Processes must be manually killed: pkill -f fsmonitor-daemon
What's different between what you expected and what actually happened?
Daemons are spawning detached with no parent-child relationship. They never receive termination signals when parent applications quit, causing accumulation and git index.lock files to remain locked, blocking further git operations.
Anything else you want to add:
- Only occurs on macOS 26.0+ (Tahoe) - not present on earlier macOS versions - Affects ALL git builds: /usr/bin/git, Homebrew 2.51.2, Xcode Command Line Tools - Affects ALL git applications: Xcode, VS Code, GitX, Starship, any git client - Side effects: system resource exhaustion, locked repositories - Workaround: git config --global core.fsmonitor false - Related issue: https://github.com/gitx/gitx/issues/485 - Apple Feedback: FB20956467
Please review the rest of the bug report below. You can delete any lines you don't wish to share.
[System Info] git version: git version 2.51.2 cpu: arm64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh feature: fsmonitor--daemon libcurl: 8.7.1 zlib: 1.2.12 SHA-1: SHA1_DC SHA-256: SHA256_BLK default-ref-format: files default-hash: sha1 uname: Darwin 25.2.0 Darwin Kernel Version 25.2.0: Sat Nov 1 18:04:14 PDT 2025; root:xnu-12377.60.50.0.2~95/RELEASE_ARM64_T6000 arm64 compiler info: clang: 17.0.0 (clang-1700.3.19.1) libc info: no libc information available $SHELL (typically, interactive shell): /bin/zsh
[Enabled Hooks]