iCloud Reminders
by @tarekbecker
Manage Apple iCloud Reminders via CloudKit API. Use for listing, adding, completing, deleting reminders, managing lists, and hierarchical subtasks. Works wit...
clawhub install icloud-remindersπ About This Skill
name: icloud-reminders description: Manage Apple iCloud Reminders via CloudKit API. Use for listing, adding, completing, deleting reminders, managing lists, and hierarchical subtasks. Works with 2FA-protected accounts via cached sessions. version: 0.1.1 metadata: openclaw: requires: bins: - reminders install: - kind: brew tap: tarekbecker/tap formula: icloud-reminders bins: [reminders] emoji: "β " homepage: https://github.com/tarekbecker/icloud-reminders-cli
iCloud Reminders
Access and manage Apple iCloud Reminders via CloudKit API. Full CRUD with hierarchical subtask support.
Pure Go β no Python or pyicloud required. Authentication, 2FA, session management and CloudKit API calls are all implemented natively in Go.
Installation
Homebrew (Recommended)
brew tap tarekbecker/tap
brew install icloud-reminders
Upgrade to the latest version:
brew upgrade icloud-reminders
Setup
1. Authenticate (interactive β required on first run):
reminders auth
Credentials are resolved in this order:
1. ICLOUD_USERNAME / ICLOUD_PASSWORD environment variables
2. ~/.config/icloud-reminders/credentials file (export KEY=value format)
3. Interactive prompt (fallback)
2. Session file (~/.config/icloud-reminders/session.json) is created automatically and reused. Run reminders auth again when the session expires.
Commands
# First-time setup / force re-auth
reminders auth
reminders auth --forceList all active reminders (hierarchical)
reminders listFilter by list name
reminders list -l "π Groceries"Include completed
reminders list --all # or: -aShow only children of a parent reminder (by name or short ID)
reminders list --parent "Supermarket"
reminders list --parent ABC123DESearch by title
reminders search "milk"Search including completed
reminders search "milk" --all # or: -aShow all lists (with active counts and short IDs)
reminders listsAdd reminder (-l is REQUIRED)
reminders add "Buy milk" -l "Groceries"Add with due date and priority
reminders add "Call mom" -l "Groceries" --due 2026-02-25 --priority highAdd with notes
reminders add "Buy milk" -l "Groceries" --notes "Get the organic 2% stuff"Add as subtask (-l is REQUIRED even for subtasks)
reminders add "Butter" -l "π Groceries" --parent ABC123DEAdd multiple at once (batch; -l is REQUIRED)
reminders add-batch "Butter" "Cheese" "Milch" -l "Groceries"Add multiple as subtasks
reminders add-batch "Butter" "Cheese" -l "Groceries" --parent ABC123DEEdit a reminder (update title, due date, notes, or priority)
reminders edit abc123 --title "New title"
reminders edit abc123 --due 2026-03-01 --priority high
reminders edit abc123 --notes "Updated notes"
reminders edit abc123 --priority noneComplete reminder
reminders complete abc123Delete reminder
reminders delete abc123Export as JSON
reminders jsonForce full resync
reminders syncExport session cookies (share without password)
reminders export-session session.tar.gzImport session from export
reminders import-session session.tar.gzVerbose output (any command)
reminders list -v
Troubleshooting
| Issue | Solution |
|-------|----------|
| "not authenticated" | Run reminders auth |
| "invalid Apple ID or password" | Check credentials file |
| "2FA failed" | Re-run auth, enter a fresh code |
| "Missing change tag" | Run reminders sync |
| "List not found" | Check name with reminders lists |
| Binary not found | Run bash scripts/build.sh or check your PATH |
βοΈ Configuration
1. Authenticate (interactive β required on first run):
reminders auth
Credentials are resolved in this order:
1. ICLOUD_USERNAME / ICLOUD_PASSWORD environment variables
2. ~/.config/icloud-reminders/credentials file (export KEY=value format)
3. Interactive prompt (fallback)
2. Session file (~/.config/icloud-reminders/session.json) is created automatically and reused. Run reminders auth again when the session expires.
π Tips & Best Practices
| Issue | Solution |
|-------|----------|
| "not authenticated" | Run reminders auth |
| "invalid Apple ID or password" | Check credentials file |
| "2FA failed" | Re-run auth, enter a fresh code |
| "Missing change tag" | Run reminders sync |
| "List not found" | Check name with reminders lists |
| Binary not found | Run bash scripts/build.sh or check your PATH |