Skip to content

Ingest calendar

Read this if you want OMem to ingest your calendar events. On macOS it reads Apple Calendar’s local store (calendar-app) directly — so Exchange, iCloud, and CalDAV accounts all flow through one source, symmetric with how mail works.

  1. Grant access. Calendar needs a macOS permission — the wizard handles it, or run it directly:

    Terminal window
    omem setup --grant-tcc

    Which permission depends on your macOS version (see the note below): older macOS grants a Calendars privacy permission (a normal prompt), while macOS 26+ needs Full Disk Access — the same as mail.

  2. Set the time window. Calendar uses a symmetric window — recent past and near future (defaults: 3 months back, 3 months forward):

    Terminal window
    omem config set kinds.calendar.scope.time_window.since 6m_ago
    omem config set kinds.calendar.scope.time_window.until 6m_from_now
  3. Enable and ingest:

    Terminal window
    omem config set kinds.calendar.enabled true
    omem ingest --kind calendar

If you subscribe to noisy calendars (holidays, birthdays, a shared team calendar), restrict ingest to the ones you care about. null (the default) means all sub-calendars:

Terminal window
omem config set kinds.calendar.scope.calendars '["Calendar", "Work"]'
SettingDefaultWhat it does
kinds.calendar.scope.include_recurring_instancestrueExpand each occurrence of a recurring event.
kinds.calendar.scope.max_events_per_account5000Cap per account.
kinds.calendar.scope.include_attachmentstrueIngest meeting-agenda attachments (PDFs, etc.).
kinds.calendar.scope.max_attachment_size_mb50Skip larger attachments (metadata-only line kept).
Terminal window
omem query "the offsite planning meeting" --kind calendar
omem wiki ls --kind calendar

Each event page carries its time, location, organizer, and attendees, plus any attached agenda.