git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Git fsmonitor daemon processes spawn detached on macOS 26 Tahoe and never terminate

From
JSJono 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]
Next: Koji Nakamaru
Message 1 of 2 in “Git fsmonitor daemon processes spawn detached on macOS 26 Tahoe and never terminate”
  1. Jono SpiroNov 8, 2025
  2. Koji NakamaruNov 14, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.