-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Hi!
Apple Reminders supports custom Sections inside a list (e.g. in list “Books”: sections “Non-fiction”, etc.). When using remindctl, the JSON output for an item (and list output) does not include any field that corresponds to the section, so it's impossible to read or place reminders into specific sections via the CLI.
Current behavior
remindctl uses EventKit (EKEventStore / EKReminder). ReminderItem currently includes:
- id, title, notes, isCompleted, completionDate, priority, dueDate, listID, listName
No section information is exposed.
Request
- Add an optional field to ReminderItem outputs (JSON/plain), e.g.:
- sectionName (string)
- sectionID (string)
- (Optional) allow setting/moving a reminder into a section, e.g.:
remindctl edit <id> --section "Non-fiction"
Investigation / feasibility notes
From what I can tell, EventKit's public EKReminder API does not expose list sections (no obvious property in EKReminder docs), so this likely means one of the following:
- The data is present but only accessible via private keys / KVC on EKReminder (e.g.
value(forKey:)), or via an undocumented property. - Sections are not represented in EventKit at all and require using a private Reminders framework/model (Reminders / ReminderKit / REM* classes) rather than EKReminder.
- As a last resort, sections could be read from the Reminders local store (SQLite in the group container), but that’s obviously less desirable and may be brittle/sandbox-restricted.
Possible approach (if you’re open to it)
- Add a best-effort optional field on ReminderItem, populated via:
- probing a small set of KVC keys on EKReminder (guarded, non-fatal), OR
- an optional compilation path using a private framework (if acceptable for the project), OR
- runtime introspection to discover a section identifier/name if it exists.
Even just reading the section name/identifier (without write support) would unlock a lot of automation workflows.
Happy to help test on a list with sections (macOS Reminders).