macOS - EventKit - One CLI

Apple Reminders in your terminal

A fast macOS CLI for Apple Reminders, built for terminals, scripts, and agents.

brew install steipete/tap/remindctl
  1. Ship docs polishWork - due today
  2. Run e2e proofTerminal - JSON ready
  3. Review release notesOpen - synced by iCloud

#Try it

brew install steipete/tap/remindctl

remindctl add "Buy milk"
remindctl add "Call mom" --list Personal --due tomorrow
remindctl add "Meeting" --due "2026-01-03 09:00" --alarm "2026-01-03 08:55"

remindctl today
remindctl overdue
remindctl open
remindctl list Work Errands
remindctl list --list-id 7A12
remindctl search "milk"
remindctl info 1
remindctl doctor --for-agent
remindctl export --list Work --export-format csv
remindctl link 1

remindctl edit 1 --title "New title" --due 2026-01-04
remindctl complete 1 2 3
remindctl delete 4A83 --force

Indexes such as 1 come from the default reminder listing. Most commands also accept an ID prefix such as 4A83.

#What remindctl does

  • Uses Apple's public EventKit APIs, so changes sync through the normal Reminders and iCloud path.
  • Reads and updates reminders from scripts, terminals, CI helpers, and local agents.
  • Supports due dates, alarms, recurrence, priorities, notes, exact list IDs, completion, deletion, and location triggers.
  • Emits JSON for automation, TSV with --plain, tables with --format table, and compact human output by default.
  • Includes doctor, export, link, open, and shell completion helpers for agent workflows.
  • Stays inside public EventKit limits. Private Reminders.app features such as tags, sections, smart lists, attachments, and the "Urgent" toggle are not exposed.

#Pick your path

Released under the MIT license. Not affiliated with Apple.