Skip to content

Goose Desktop missing Calendar and Reminders entitlements #7099

@blackgirlbytes

Description

@blackgirlbytes

Summary

Goose Desktop silently fails when running commands that access Calendar or Reminders (e.g., icalBuddy calendars). The command returns exit code 0 but with empty output. The same command works fine from the CLI.

Root Cause

The TCC (Transparency, Consent, and Control) logs reveal the issue:

tccd: Prompting policy for hardened runtime; service: kTCCServiceCalendar requires entitlement com.apple.security.personal-information.calendars but it is missing for responsible={com.electron.goose}, accessing={icalBuddy}
tccd: Refusing authorization request for service kTCCServiceReminders...without NSRemindersUsageDescription key

The Goose Desktop app is missing:

  1. Calendar and Reminders entitlements in ui/desktop/entitlements.plist
  2. Usage description keys in the Info.plist (via forge.config.ts)

Why CLI Works

When running from Terminal, icalBuddy inherits the terminal app's calendar permissions. When running from Goose Desktop, the Electron app is the "responsible" process and lacks the required entitlements.

Proposed Fix

1. Add to ui/desktop/entitlements.plist:

<key>com.apple.security.personal-information.calendars</key>
<true/>
<key>com.apple.security.personal-information.reminders</key>
<true/>

2. Add to ui/desktop/forge.config.ts in the extendInfo section:

NSCalendarsUsageDescription: "Goose needs calendar access to help manage your schedule",
NSRemindersUsageDescription: "Goose needs reminders access to help manage your tasks",

Reproduction Steps

  1. Install icalBuddy (brew install ical-buddy)
  2. Run /opt/homebrew/bin/icalBuddy calendars in Goose Desktop
  3. Observe empty output with exit code 0
  4. Run the same command in Terminal - works correctly

Environment

  • Goose Desktop v1.23.2
  • macOS (tested on multiple machines)

Related

This follows the same pattern as the microphone fix in #4571 (commit 32fb6e8).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions