Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Apple Reminders via remindctl: add, list, complete.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 26% | 0% |
Use remindctl to manage Apple Reminders directly from the terminal. Tasks sync across all Apple devices via iCloud.
brew install steipete/tap/remindctlremindctl status / Request: remindctl authorizebashremindctl # Today's reminders remindctl today # Today remindctl tomorrow # Tomorrow remindctl week # This week remindctl overdue # Past due remindctl all # Everything remindctl 2026-01-04 # Specific date
bashremindctl list # List all lists remindctl list Work # Show specific list remindctl list Projects --create # Create list remindctl list Work --delete # Delete list
bashremindctl add "Buy milk" remindctl add --title "Call mom" --list Personal --due tomorrow remindctl add --title "Meeting prep" --due "2026-02-15 09:00"
--due and --alarm are different fields:
--due sets the reminder's due date/time.--alarm sets the EventKit alarm/notification trigger. Timed due reminders may default to an alarm at the due time, but pass --alarm explicitly when the user asks for an earlier nudge.For a reminder due at 2:00 PM with a notification 30 minutes earlier:
bashremindctl add --title "Hairdresser" --due "2026-05-15 14:00" --alarm "2026-05-15 13:30"
To edit an existing reminder:
bashremindctl edit 87354 --due "2026-05-15 14:00" --alarm "2026-05-15 13:30"
The Reminders UI may show or group the item by the alarm time because that is when the notification fires. Verify with JSON instead of assuming the due time moved:
bashremindctl today --json
Expected shape:
dueDate: actual due timealarmDate: notification / early nudge timeApple's public EKReminder docs list only reminder-specific properties. Alarm support comes from inherited EKCalendarItem behavior exposed by remindctl's --alarm flag.
bashremindctl complete 1 2 3 # Complete by ID remindctl delete 4A83 --force # Delete by ID
bashremindctl today --json # JSON for scripting remindctl today --plain # TSV format remindctl today --quiet # Counts only
Accepted by --due and date filters:
today, tomorrow, yesterdayYYYY-MM-DDYYYY-MM-DD HH:mm2026-01-04T12:34:56Z)--json for programmatic parsingOther measured skills in the registry, with their headline benchmark lift.