Is it possible to programmatically set macOS notification preferences for an app in Swift?

Hi,

I’m working on a Safari extension for macOS, and I’d like the app to use specific system notification settings right after installation. I’m wondering if there’s a way in Swift to programmatically configure the default notification preferences (as seen in System Settings > Notifications > [my app]).

Here are the desired settings:

  • Only Desktop – without “Notification Center” or “Lock Screen”
  • Alert Style: Temporary
  • Badge App Icon: Enabled
  • Play Sound for Notifications: Disabled
  • Show Previews: When Unlocked
  • Notification Grouping: Off (I don’t want them to accumulate in Notification Center)

Here is the code I’m currently using to display a basic notification:

    private func handleNotificationRequest(_ message: [String: Any]) {
        guard let title = message["title"] as? String,
              let body = message["body"] as? String else {
            return
        }

        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
            if granted {
                self.showNotification(title: title, body: body)
            }
        }
    }

    private func showNotification(title: String, body: String) {
        let content = UNMutableNotificationContent()
        content.title = title
        content.body = body
        content.sound = nil // No sound for subtle notification
        
        // Create notification that doesn't persist in notification center
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.1, repeats: false)
        let request = UNNotificationRequest(identifier: "fast-url-copy-notification", content: content, trigger: trigger)
        
        UNUserNotificationCenter.current().add(request) { error in
            if let error = error {
                os_log(.error, "Failed to show notification: %@", error.localizedDescription)
            }
        }
    }

OS: macOS 26.0

Thanks in advance, Mateusz

Notification preferences are meant to be controlled by the users. You cannot override their preferences from your app.