Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions surfaces/gui/src-tauri/Info.plist
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- Merged into the bundle's Info.plist by Tauri. These usage strings appear inside the macOS
permission prompts (Desktop/Documents/Downloads/Photos), so a prompt the user didn't expect
at least explains itself — the agent's tool runs are what touch these folders, and only when
a task needs them. -->
permission prompts (Desktop/Documents/Downloads/Photos/Calendars/Reminders), so a prompt the
user didn't expect at least explains itself — the agent's tool runs are what touch these, and
only when a task needs them.

Calendars/Reminders (#302): without these keys macOS' TCC blocks EventKit access OUTRIGHT
rather than prompting, so a calendar/reminders MCP tool silently fails. macOS 14 split the
key: apps built against the 14+ SDK read the ...FullAccessUsageDescription variant, older
systems read the legacy key, so both are declared. Like Photos above (and unlike the mic,
a hardened-runtime *device* resource that also needs an entitlement), these personal-
information resources are gated by the usage string alone on this non-sandboxed app. -->
<plist version="1.0">
<dict>
<key>NSMicrophoneUsageDescription</key>
Expand All @@ -16,5 +23,13 @@
<string>A task you run may need to read or save files in Downloads. OpenWorker never scans this folder on its own.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>A task you run may need to read an image from your photo library. OpenWorker never scans your photos on its own.</string>
<key>NSCalendarsUsageDescription</key>
<string>A task you run may need to read or manage events in your calendar, for example a calendar MCP tool. OpenWorker never reads your calendar on its own.</string>
<key>NSCalendarsFullAccessUsageDescription</key>
<string>A task you run may need to read or manage events in your calendar, for example a calendar MCP tool. OpenWorker never reads your calendar on its own.</string>
<key>NSRemindersUsageDescription</key>
<string>A task you run may need to read or manage your reminders, for example a reminders MCP tool. OpenWorker never reads your reminders on its own.</string>
<key>NSRemindersFullAccessUsageDescription</key>
<string>A task you run may need to read or manage your reminders, for example a reminders MCP tool. OpenWorker never reads your reminders on its own.</string>
</dict>
</plist>