macOS Tahoe 26.4: third-party app stamps com.apple.macl on files in ~/Documents, blocks Terminal/iTerm2 reads despite Full Disk Access
I'd like to confirm whether this is intended behavior in macOS Tahoe, and ask if there's any user-facing way to override it without disabling SIP.
What's happening:
I have a developer tool (a third-party Mac app) that edits files in folders I keep under ~/Documents/. After a recent update of that app, every file it writes — and every directory it operates inside — becomes unreadable from my own Terminal.app and iTerm2.
The terminals can't even list the directory:
$ ls ~/Documents/MyProject/
ls: ~/Documents/MyProject/: Operation not permitted
$ cat ~/Documents/MyProject/some-file.md
cat: ~/Documents/MyProject/some-file.md: Operation not permitted
$ cp ~/Documents/MyProject/script.sh /tmp/
cp: ~/Documents/MyProject/script.sh: Operation not permitted
What I've already verified:
- Both Terminal.app and iTerm2 have Full Disk Access, granted via System Settings → Privacy & Security → Full Disk Access. The toggles are on.
- Both also have explicit Documents Folder access under System Settings → Privacy & Security → Files & Folders. Confirmed via the TCC database (~/Library/Application Support/com.apple.TCC/TCC.db) — kTCCServiceSystemPolicyDocumentsFolder shows auth_value = 2 (allowed) for both com.apple.Terminal and com.googlecode.iterm2.
- The user that owns the files is me (uid 502, jj:staff), with mode -rwxr-xr-x. No restrictive ACL (/bin/ls -le shows no +), no chflags (stat shows flags=-).
- csrutil status = SIP enabled. (I'm not interested in disabling SIP just to fix this.)
- No macOS update happened between when this worked and when it broke — softwareupdate --history shows my last update was 2026-04-09 to 26.4.1. The breakage corresponds to a third-party app update, not an OS update.
- Files outside ~/Documents/ — for example, identical files in ~/MyProject/ (in my home root, not under Documents) — are NOT blocked. iTerm2 reads them fine. So the enforcement is specifically scoped to ~/Documents/, ~/Desktop/, ~/Downloads/.
What I think is happening:
When the third-party app writes files, it stamps two extended attributes:
- com.apple.provenance (11 bytes) on each written file
- com.apple.macl (72 bytes — looks like 4 × 16-byte UUIDs identifying app bundles) on the parent directory
/bin/ls -leO@ on an affected dir confirms:
drwxr-xr-x@ 14 jj staff - 448 ...
com.apple.macl 72
com.apple.provenance 11
The third-party app's bundle is in the macl list. Terminal.app's and iTerm2's bundles are NOT. Tahoe appears to be enforcing com.apple.macl as an exclusive-access list under the protected user folders — even when the user has explicitly granted Full Disk Access AND the per-folder grant for the protected folders to those other apps.
In other words: if any app in the macl list has stamped a parent dir under ~/Documents/, no other app gets in, regardless of the TCC grants the user has set. That's a much stricter behavior than I remember on macOS Sequoia 15.x — same xattrs existed there but FDA grants seemed to override.
Please find attached a more complete reporting (hit up against the word limit).
MacBook Air 15″, macOS 26.4