Apple Reminders Plus

approved

by zakin

View and manage Apple Reminders from a sidebar panel. macOS only. - This plugin has not been manually reviewed by Obsidian staff.

86 downloadsUpdated 14d agoMIT

Apple Reminders Plus for Obsidian

View and manage your Apple Reminders from a sidebar panel in Obsidian.

macOS only. Nothing is sent over the network — the plugin talks to the Reminders app directly through Apple's EventKit framework, entirely on your machine.

Features

  • Sidebar panel — see one Reminders list at a time, switch via the dropdown
  • Search — filter the current list by name or notes
  • Sort — Default, A → Z, Z → A, or Due date, from the sort icon next to search
  • Add — type a name and press Enter (or click Add) to create a reminder
  • Complete — check a reminder off; it's removed from the list immediately
  • Delete — hover a reminder to reveal the delete button, or swipe it with a trackpad, like a native swipe-to-delete list
  • Priority & due dates — high/medium priority reminders are marked (!!/!), overdue reminders are highlighted
  • Settings — choose which lists show up in the panel, pick a default list to load first, and set list order (same as Apple Reminders, or alphabetical)

Installation

From the Community Plugins browser

Once this plugin is available in Obsidian's Community Plugins directory:

  1. Open Settings → Community plugins → Browse
  2. Search for "Apple Reminders Plus"
  3. Install and enable it

Manual installation

  1. From the latest release, download main.js, manifest.json, styles.css, and reminders-cli-macos-universal.zip
  2. Unzip reminders-cli-macos-universal.zip — it contains a bin/reminders-cli executable
  3. Copy everything into <your-vault>/.obsidian/plugins/apple-reminders-plus/, so the folder looks like:
    <your-vault>/.obsidian/plugins/apple-reminders-plus/
      ├── main.js
      ├── manifest.json
      ├── styles.css
      └── bin/
          └── reminders-cli
    
  4. If macOS complains the helper isn't executable, run chmod +x bin/reminders-cli in that folder
  5. Reload Obsidian and enable Apple Reminders Plus under Community plugins

Grant permissions

The first time the plugin talks to Reminders, macOS will ask if it can access Reminders — click OK. You can review or change this later at:

System Settings → Privacy & Security → Reminders

How it works

The plugin bundles a small, pre-compiled command-line helper (bin/reminders-cli) built from the Objective-C source in objc/reminders-cli.m. It links against Apple's EventKit framework — the same API Apple's own Reminders app and Shortcuts use — and exposes a handful of subcommands (lists, fetch, create, delete, complete) that read and write reminders, printing JSON to stdout.

The Obsidian plugin (main.ts) calls this helper via Node's child_process.execFile and renders the result. There is no AppleScript, no network access, and no data leaves your machine. The helper ships as a universal binary (Intel and Apple Silicon).

You can inspect and rebuild the helper yourself — see Development below.

Development

Requirements

  • Node.js — for the plugin itself (main.js)
  • macOS with Xcode Command Line Tools (for clang and the EventKit/AppKit frameworks) — only needed to (re)build the reminders-cli helper

Setup

npm install

Build

npm run build              # type-checks and bundles main.js (production) — cross-platform, no macOS needed
npm run dev                # watches and rebuilds main.js on change
npm run build:cli-helper   # (re)compiles the reminders-cli helper from objc/reminders-cli.m — macOS only

The plugin's TypeScript/JavaScript build (npm run build) doesn't touch the native helper — that's what keeps it runnable in any CI environment. To actually use the plugin locally you still need a compiled bin/reminders-cli, which npm run build:cli-helper produces.

Lint

This project uses eslint-plugin-obsidianmd, the same linter used by Obsidian's plugin review process:

npm run lint

Try it in a vault

Copy main.js, manifest.json, styles.css, and bin/ into <vault>/.obsidian/plugins/apple-reminders-plus/, then reload Obsidian (or use a tool like hot-reload during development).

Roadmap / ideas

  • Code block renderer (embed a reminder list inline in a note)
  • Due date picker when creating reminders
  • Natural language date parsing ("tomorrow", "next Monday")
  • Auto-refresh on an interval

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.