Introducing RemCTL: The Power-User Reminders CLI for macOS and AI Agents - MacStories
Become a Club MacStories Member
Exclusive stories and features, weekly newsletters, Discord, and more
CLUB
MENU
SECTIONS
Introducing the All-New MacStories Shortcuts Archive
Shortcuts Playground Remote: The Generative Shortcut That Makes Other Shortcuts
Introducing Shortcuts Playground: Create Apple Shortcuts with Claude Code or Codex
This Week's Sponsor:
Mindspace<br>A Private All-in-One Journal App Made for iPad, Offering 50% Off Your First Year.
RemCTL in the macOS Terminal app.
Today, I’m pleased to release my latest free and open source project: RemCTL, a power-user Reminders CLI that, unlike others, exposes all the latest Reminders features as of iOS and macOS 26. RemCTL supports reading and writing subtasks, tags, sections, rich links, image attachments, grocery lists, and even templates.
It’s available on GitHub here, and it comes bundled with a skill for desktop agents.
A couple of months ago, I decided to move back to Reminders for a variety of reasons. For starters, I was using Claude and Perplexity’s voice assistant heavily at the time, and Reminders was natively integrated with both on iOS and iPadOS. More importantly, however, I was missing the ease of capture for new tasks thanks to Siri, Control Center, and Apple Watch; I also figured that, come WWDC, I’d be able to hit the ground running on day one with iOS 27 and – I’m assuming – its integration between Reminders and the new Siri powered by Gemini-backed Apple Intelligence. Considering that I’m going to work on another in-depth review of iOS and iPadOS this summer, getting familiar with Reminders again seemed like a good idea.
As most of my work and agentic setup moved to Codex, though, I hit a roadblock: my agent had no idea how to work with Reminders and manage my tasks. I started doing some research, and I found a variety of third-party CLIs for macOS that were able to communicate with Reminders using the public EventKit API and allowed agents such as Claude Code and Codex to read and create tasks in the Reminders app for Mac. I took those CLIs for a spin, and while they worked, they only supported the basic set of features exposed by Reminders to third-party apps; modern features of Reminders such as sections, tags, subtasks, and early reminders were still locked behind a private API, and those CLIs – just like Reminders clients on the App Store – could not access those functionalities at all.
So I decided to take matters into my own hands and build the Reminders CLI of my dreams with Codex. After about two months of work and everyday tests, the result is RemCTL (short for “Reminders Control”): to the best of my knowledge, it’s the only Reminders CLI that can read and write any kind of reminder and Reminders metadata based on private APIs in a fast and secure fashion using a combination of EventKit, Reminders’ read-only SQLite database on macOS, and the native (but private) ReminderKit framework. Combined with an agent and its bundled skill, RemCTL lets you create and manage tasks with Reminders’ complete feature set as of iOS and macOS 26.
A variety of RemCTL commands in cmux for Mac.
If you can do something in Apple’s Reminders app, you – or your agent – can do it with RemCTL.
Here’s a simple way to think about RemCTL: if you can do something in Apple’s Reminders app, you – or your agent – can do it with RemCTL. Want to create basic reminders in a list with a recurring schedule? Not a problem. Want to see what’s due today? Just run remctl today, and you’ll get a pretty list of tasks due today with symbols for dates, alarms, and more. How about creating a task with some subtasks in a specific section of a list? RemCTL can also do that. The urgent reminders introduced in iOS 26? Those are supported. What about creating tasks with rich links, or turning lists into Reminders templates, or using tags? Check, check, and check. Thanks to its combination of public and private API access – which is only possible thanks to the open nature of macOS – RemCTL is the all-in-one Reminders CLI that Apple never made.
Want to know more about how to install and use RemCTL, and also how I built it? Let’s dive in.
Install and Use RemCTL
RemCTL is free and open source. You can inspect its code at this repo and run the following commands to install it on your Mac:
git clone https://github.com/viticci/remctl.git<br>cd remctl<br>./install.sh --bootstrap<br>remctl onboard<br>remctl permissions full-disk-access<br>remctl doctor<br>remctl today
(The following commands assume you have git set up on your Mac. I recommend cloning repos in a dedicated folder on your Mac.)
As you run these commands, you’ll immediately notice two things: you’ll get a native permission prompt to automate the Reminders app, and – I’m pretty proud of this one – you’ll be presented with a guided permission flow via a dedicated ‘Permissions’ window:
The native permission flow of RemCTL.
The...