From 6b4448df439fa86993707a88c6d4ada1247539d9 Mon Sep 17 00:00:00 2001 From: Rune Olsen Date: Wed, 26 Aug 2026 11:48:29 +0200 Subject: [PATCH] Fix Mail Automation permission: missing entitlement, not an OS bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Confab.entitlements was missing com.apple.security.automation.apple-events, so tccd's hardened-runtime policy silently refused to even prompt for Automation consent to Mail.app — confirmed via tccd's own log, the same failure class as the earlier Calendar/Contacts entitlement bug. Unhides the Mail integration (MailTools.isHiddenPendingAppleFix = false). Live-verified: Request Access now grants successfully on macOS 27 beta 7. --- oAI/Confab.entitlements | 2 ++ oAI/Services/SettingsService.swift | 14 ++++++++------ oAI/Views/Screens/SettingsView.swift | 5 ++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/oAI/Confab.entitlements b/oAI/Confab.entitlements index a86f180..264eafa 100644 --- a/oAI/Confab.entitlements +++ b/oAI/Confab.entitlements @@ -16,5 +16,7 @@ com.apple.security.personal-information.location + com.apple.security.automation.apple-events + diff --git a/oAI/Services/SettingsService.swift b/oAI/Services/SettingsService.swift index 72aea9e..5c2e4c3 100644 --- a/oAI/Services/SettingsService.swift +++ b/oAI/Services/SettingsService.swift @@ -32,13 +32,15 @@ enum PersonalDataTools { static let isHiddenPendingAppleFix = false } -/// Kill switch for the Mail integration, hidden while blocked by a confirmed macOS 27 beta bug: -/// first-time Automation consent grants never show a dialog or create a TCC record at all (not -/// fixable in-app — see feature_mail_applescript_integration in memory for the full investigation). -/// Same shape as `PersonalDataTools` above. Flip back to `false` once Rune confirms a newer beta/RC -/// fixes it — the tool code itself is complete and doesn't need changes, just re-enabling. +/// Kill switch for the Mail integration. Was hidden after first-time Automation consent grants +/// appeared to fail on macOS 27 beta with no dialog and no TCC record — turned out to be a real +/// Confab bug, not an OS bug: `Confab.entitlements` was missing `com.apple.security.automation. +/// apple-events`, so `tccd` refused to even prompt (confirmed via `tccd`'s own log, same failure +/// class as the earlier Calendar/Contacts entitlement bug on `PersonalDataTools`). Fixed and +/// live-verified granting successfully on beta 7 (2026-08-26). Same shape as `PersonalDataTools` +/// above — kept as infrastructure, not deleted, in case a future regression needs it again. enum MailTools { - static let isHiddenPendingAppleFix = true + static let isHiddenPendingAppleFix = false } @Observable diff --git a/oAI/Views/Screens/SettingsView.swift b/oAI/Views/Screens/SettingsView.swift index 7f7c181..aca2165 100644 --- a/oAI/Views/Screens/SettingsView.swift +++ b/oAI/Views/Screens/SettingsView.swift @@ -1140,9 +1140,8 @@ It's better to admit "I need more information" or "I cannot do that" than to fak @ViewBuilder private var mailSection: some View { - // Hidden while MailTools.isHiddenPendingAppleFix is true — blocked by a confirmed macOS 27 - // beta bug (first-time Automation consent grants never work), not an app bug. See - // feature_mail_applescript_integration in memory. Flip the switch back once fixed. + // MailTools.isHiddenPendingAppleFix: was a missing entitlement, not an OS bug — fixed, see + // feature_mail_applescript_integration in memory. Kill switch kept as infrastructure. if !MailTools.isHiddenPendingAppleFix { VStack(alignment: .leading, spacing: 8) { HStack(spacing: 8) {