rdmsm4x-changelog-20260905-2152-notes-publish-blocked-by-herdr-tcc-automation
rdmsm4x-changelog-20260905-2152-notes-publish-blocked-by-herdr-tcc-automation
[2026-09-05 21:52:32 EDT · rdmsm4x] · session 158c9525 (notes-republish-pending-changelog) · work window 21:27–21:53 EDT
Summary: A peer session's Apple Notes changelog
publish failed ("Notes never became responsive", rc=1) and so did mine;
the cause is not Notes but macOS TCC: every Claude session on this host
runs under herdr server, herdr 0.8.2 (installed 04:34
today, ad-hoc signed) holds no Automation grant, and the consent prompt
goes unanswered at an idle console. Published the queued changelog
through the launchd autopublish job instead, which holds its own
identity, and recorded the root cause on ISSUE-20260905-35.
Scope
- Host: rdmsm4x only. No files changed outside
~/dev/LLM/Claude/changelogs/(this record),~/dev/fleet/SESSION-STATE.md(appended), the ticket store, the agent bus, and Claude memory. - No system settings changed. No process killed or restarted. One
launchd job kicked (
com.rdm.claude-notes-autopublish, idempotent, ledger-driven).
Root cause (measured)
- Process ancestry of this session:
launchd -> /opt/homebrew/opt/herdr/bin/herdr server (pid 12065) -> zsh -> claude. herdr is therefore the TCC-responsible process for every AppleEvent the session sends. codesign -dvon/opt/homebrew/Cellar/herdr/0.8.2/bin/herdr:Identifier=herdr-c2fd8e7c703fc4e0,Signature=adhoc,TeamIdentifier=not set. Installed 2026-09-05 04:34 (same on rdmpw3265m). TCC keys an ad-hoc Mach-O by absolute path, so the upgrade revoked every grant the previous build held (already documented:fleet/herdr/ISSUES.mdHERDR-20260905-04 and -05).- tccd
com.apple.TCC.authorization_actionat 21:43:04:authorization_right=Denied,action=user-consent,subject_ID=/opt/homebrew/Cellar/herdr/0.8.2/bin/herdr,indirect_object_ID=com.apple.systemevents; at 21:45:04 the same forcom.apple.Notes. Each was recorded the moment the sending osascript timed out. - appleeventsd 21:37:55: the event reached Notes only after the sender
died; Notes answered
errAEEventNotPermitted (-1743)to a dead port. - Notes.app (pid 8129) main thread sampled in
mach_msginside the run loop, 0.0% CPU, 7 h uptime: Notes is idle, not wedged. Its log noise (60 s socket timeouts to one 443 endpoint, "Upload attempted while offline") is analytics on background threads. - Controls:
osascript … Terminal get versionanswered in under 1 s;Terminal do scripthung 20 s; System Events and Finder hung to 120 s. Console idle 12,084 s (3 h 21 m) at 21:38, so no human was there to click Allow.
What was done
- Read the queued file before publishing (no secret values; credentials named by key name and location only).
zsh ~/scripts/notes_changelog.zsh <peer file>from this session: rc=1 after the 600 s wait (same as the peer). Then five bounded probes (15–120 s) to Notes / System Events / Finder / Terminal to localise the layer. Stopped probing once the flags=1 trap was understood.launchctl kickstart gui/501/com.rdm.claude-notes-autopublishat 21:49:25. Its run log:21:52:06 PUBLISHED rdmsm4x-changelog-20260905-2114-thread-rename-fleet-pr-push-sweep.md,21:52:30 PUBLISHED rdmsm4x-changelog-20260905-2140-ramdisk-unmount-facade-settle-fix.md,run complete: published=2 … failed=0. Job-verified only: this session cannot read Notes to confirm independently.- Ticket: comment on ISSUE-20260905-35 (rdmpw3265m symptom ticket) with the root cause, evidence, trap, workaround and human step. Bus: high-priority advisory to all; unicast to claude@rdmbair15m5 (fleet/herdr owner). Peer dev-c5 told the outcome by session message.
Trap (do not repeat)
- Do NOT keep retrying
notes_changelog.zshfrom a herdr pane. Its readiness loop sends a 20 s probe every 30 s for 600 s; each is an unattended consent prompt, andherdr_tcc_grant.zshdocuments that a timed-out prompt can persistauth_value=0 flags=1, which greys the switch in System Settings (the 2026-08-30 sshd-keygen-wrapper lock on this host). Write the file copy and let the autopublish job publish it. - "Notes never became responsive" is the script's wording, not a
measurement of Notes. Check
launchctl managername, then the process ancestry, then tccd's log before touching Notes.
Outstanding (owner: Rich, physical console)
- At each Mac's keyboard: System Settings > Privacy & Security
> Automation: turn on herdr -> Notes (Finder / System Events
optional). If the row is greyed,
tccutil reset AppleEventsclears every client's Automation grants on that host: your call. - Durable fix for the herdr owner: sign herdr with the Apple
Development identity and a fixed
-i herdridentifier in a post-install step so TCC keys it by designated requirement rather than Cellar path; until then re-run the grant after every herdr upgrade. - rdmpw3265m's own changelog (21:07) still needs that host's autopublish job; rdmsm4x's job ignores other hosts' files by design.
Backups / undo
- Nothing to undo. No file outside the records above was modified.