Manage Apple Reminders via remindctl CLI (list, add, complete, delete reminders). Use when: user wants to create personal to-dos with due dates that sync to iOS/macOS Reminders app, manage reminder lists, or track tasks with native Apple ecosystem integration.
Manage Apple Reminders directly from the terminal using remindctl. Create, view, edit, complete, and delete reminders that sync across all your Apple devices.
✅ USE this skill when:
❌ DON'T use this skill when:
cron or schedule-taskgccli (Google Calendar)notion, gh-issues, or task queuepush-notify or discord-notify# Install via Homebrew
brew install steipete/tap/remindctl
# Verify installation
remindctl --version
Grant Reminders permission when prompted:
# Check connectivity and permissions
remindctl status
# Request access if needed
remindctl authorize
remindctl # Today's reminders
remindctl today # Today only
remindctl tomorrow # Tomorrow only
remindctl week # This week
remindctl overdue # Past due reminders
remindctl all # All reminders
remindctl 2026-02-25 # Specific date (YYYY-MM-DD)
remindctl list # List all lists
remindctl list "Work" # Show reminders in specific list
remindctl list "Projects" --create # Create new list
remindctl list "Old Project" --delete # Delete list (careful!)
# Basic reminder
remindctl add "Buy groceries"
# With notes
remindctl add "Call dentist" --notes "Ask about teeth whitening"
# With due date
remindctl add "Submit tax return" --due "2026-04-15"
# With priority (1=high, 5=low)
remindctl add "URGENT: Pay electricity bill" --priority 1
# Into specific list
remindctl add "Finish proposal" --list "Work"
# With start date (don't show until)
remindctl add "Pack bags" --start "2026-03-01" --due "2026-03-05"
# Repeating reminder
remindctl add "Water plants" --repeat "weekly"
# Complete by title (fuzzy match)
remindctl complete "Buy groceries"
# Complete by list
remindctl complete "Call dentist" --list "Personal"
# Uncomplete (mark as pending)
remindctl uncomplete "Buy groceries"
# Delete by title (fuzzy match)
remindctl delete "Old reminder"
# Force delete (no confirmation)
remindctl delete "Old reminder" --force
# Edit interactively
remindctl edit "Buy groceries"
# Change due date
remindctl edit "Submit report" --due "2026-03-01"
# Change list
remindctl edit "Call client" --list "Work"
# Update priority
remindctl edit "Review PR" --priority 2
# ISO format (recommended)
remindctl add "Task" --due "2026-02-25"
# Relative dates
remindctl add "Task" --due "tomorrow"
remindctl add "Task" --due "next monday"
remindctl add "Task" --due "in 2 weeks"
# With time
remindctl add "Call at 3pm" --due "today 15:00"
remindctl add "Pay rent" --repeat "monthly"
remindctl add "Water plants" --repeat "weekly"
remindctl add "Team standup" --repeat "daily"
remindctl add "Quarterly review" --repeat "quarterly"
remindctl add "Annual checkup" --repeat "yearly"
# Search by text
remindctl all | grep "groceries"
# High priority only
remindctl all --priority 1
# Overdue only
remindctl overdue --list "Work"
# Get reminders as JSON
remindctl today --json
# Parse with jq
remindctl all --json | jq '.[] | select(.priority == 1)'
// When user says "remind me to call John tomorrow"
remindctl add "Call John" --due "tomorrow" --list "Personal"
# Get today's reminders for morning briefing
remindctl today --json | jq -r '.[] | "- [ ] \(.title)"'
# Check for overdue reminders
OVERDUE=$(remindctl overdue --json | jq 'length')
if [ "$OVERDUE" -gt 0 ]; then
echo "⚠️ You have $OVERDUE overdue reminders!"
remindctl overdue
fi
# Check permissions
remindctl status
# Reset permissions
tccutil reset Reminders com.apple.Terminal
# List all available lists
remindctl list
# Create if missing
remindctl list "NewList" --create
# Morning routine
remindctl add "Take vitamins" --due "today 08:00" --repeat "daily"
remindctl add "Check email" --due "today 09:00" --list "Work"
# Shopping
remindctl add "Milk" --list "Shopping"
remindctl add "Eggs" --list "Shopping"
remindctl add "Bread" --list "Shopping"
# Project deadlines
remindctl add "Submit Q1 report" --due "2026-03-31" --priority 1 --list "Work"
remindctl add "Team retrospective" --due "2026-03-15" --list "Work"
# Meeting prep
remindctl add "Prepare slides" --due "2026-02-28" --notes "Focus on Q4 metrics"
# Medication reminders
remindctl add "Take medication" --due "today 08:00" --repeat "daily" --priority 1
remindctl add "Take medication" --due "today 20:00" --repeat "daily" --priority 1
# Exercise
remindctl add "Gym session" --due "tomorrow 18:00" --repeat "weekly" --list "Health"