{"repo":"NousResearch/hermes-agent","public_id":"43365","display_label":"macOS signing and TCC permission persistence issues","summary":"These items concern macOS app signing identity (switching to Developer ID) and the resulting problem of TCC permissions—microphone, accessibility, automation, and full disk access—being revoked after each rebuild or update. The common thread is that an unstable or ad-hoc signing identity causes macOS to treat each build as a new app, resetting granted permissions.","subsystem":"apps/desktop","counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":5,"merged_prs":1,"attempt_prs":0},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":73681},"resolution":{"state":"partially_resolved","by":"pr-73681"},"freshness":{"state":"verified","last_verified_at":"2026-07-28T22:41:57+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.25866666666666666},"fix_edges":[{"issue_number":49110,"pr_number":73681,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":43365,"title":"[Bug]: macOS TCC permissions (Accessibility/Automation) reset after every Hermes Desktop update","url":null,"state":"closed"},{"kind":"issue","number":43788,"title":"fix(desktop): preserve macOS microphone permission across updates","url":null,"state":"closed"},{"kind":"issue","number":49110,"title":"feat: sign Hermes.app with Apple Developer ID for stable macOS TCC permissions","url":null,"state":"closed"},{"kind":"issue","number":52010,"title":"[Bug]: macOS Full Disk Access (Files & Folders) revoked after every Hermes Desktop update","url":null,"state":"closed"},{"kind":"issue","number":68618,"title":"[macOS] Switch from adhoc to Developer ID signing for TCC permission persistence","url":null,"state":"closed"},{"kind":"pr","number":73681,"title":"fix(desktop): stable macOS signing identity so TCC grants survive local rebuilds","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/config.py","hermes_cli/main.py","scripts/install.sh","tests/hermes_cli/test_gui_command.py","tests/hermes_cli/test_set_config_value.py","website/docs/user-guide/desktop.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}