Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Once in a while it may be useful to add some reminders to from the command line — especially because they are synced to iCloud. Is there any way to do so?

A solution that does not rely on AppleScript is preferred: a) for performance reasons (probably silly) and b) AppleScript solutions often feel clumsy or overly verbose to me.

share|improve this question
Why do you prefer not to use AppleScript? – Daniel Oct 11 '12 at 1:24
up vote 7 down vote accepted
osascript - title <<END
on run a
tell app "Reminders"
tell list "Reminders" of default account
make new reminder with properties {name:item 1 of a}

You could also create an Automator workflow with just an empty New Reminders Item action and then run it with automator -i title test.workflow.

See also this post at Mac OS X Hints.

share|improve this answer
Thank you for your answer. Unfortunately, this does not run in either a shell script or in Script Editor. What am I missing? – myhd Oct 11 '12 at 7:27
Either add #!/usr/bin/env bash as the first line and run chmod +x /path/to/script, or run bash /path/to/ Or remove the first and last lines and save it AppleScript Editor. – user495470 Oct 11 '12 at 15:43
The Automator hint did the trick! In contrast to the AppleScript solution it does not need to launch the, which is exactly what I wanted. – myhd Oct 16 '12 at 9:00

Here's another version that allows you to set the title, end date and time via command line arguments.

#!/usr/bin/env bash                                                                                                               
# Make a new reminder via terminal script                                                                                         
# args: remind <title> <date> <time>                                                                                                                                                                                 

osascript - "$1" "$2" "$3" <<END                                                                                                        
on run argv                                                                                                                       
    set stringedAll to date (item 2 of argv & " " & item 3 of argv)                                                               
    tell application "Reminders"                                                                                                  
        make new reminder with properties {name:item 1 of argv, due date:stringedAll}                                             
    end tell                                                                                                                      
end run                                                                                                                           

So if you were to name this script "remind" and give it executing privileges (chmod 755 remind), you could do this:

$ ./remind "Go to grocery store" 12/15/2013 10:00:00PM                              
share|improve this answer
tell application "Reminders"
    show list "Reminders"
end tell
set stringedDate to "12/11/2015"
set stringedHour to "10:00:00PM"
set stringedAll to date (stringedDate & " " & stringedHour)
tell application "Reminders" to tell list "Reminders" of default account to make new reminder with properties {name:"this is just test remainder", remind me date:stringedAll, due date:stringedAll, priority:1}
share|improve this answer
Hi, thanks! This does only work on Systems where English is the User Interface language. In other Languages, a the list names are localized, e.g. "Reminders" becomes "Erinnerungen" in German – myhd Apr 7 '15 at 13:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.