How to Change the Default Duration of New iCal Events

| MGG Answers


Karl writes: While in the month view of iCal, all new events default to an “all day” duration. Unchecking “all day” converts the event into an 8-hour block spanning from 10 a.m. to 6 p.m., a block of time that is rarely applicable to the majority of my events, especially when I’m on the go and only have a moment to enter a new event’s start time. Modifying the start time preserves the 8-hour block by adjusting the end time accordingly.

While I can obviously correct each event’s end time manually, there must be a better method. How can I modify iCal so that new events are a shorter duration by default?


In previous versions of iCal, all new events defaulted to a 1-hour duration. Starting with OS X Lion, however, new events created in iCal’s month view default to an all-day duration and then, if all-day is deselected, to an 8-hour block. New events created in the day or week views still default to 1-hour durations.

iCal Month View Default DurationNew events created in the month view of iCal in Lion default to an all-day duration or, if deselected, an 8-hour duration.

Unfortunately, Apple does not provide a way, via Preferences or the Terminal, to change iCal’s month view behavior. Switching to the day or week views is a workaround, as long as those views fit your workflow and personal preference.

If so, and if a 1-hour duration doesn’t fit your needs, the default duration can still be changed using a Terminal command. Quit iCal, launch Terminal, and enter the following command, replacing the “X” at the end with a number of minutes for the new default event duration, and hit Return:

defaults write 'Default duration in minutes for new event' X

For example, replacing “X” with “30” will result in all new events having a duration of half an hour.

If you prefer to stick with month view, however, you can force iCal to set a specific duration by adding more information to your event title. Starting with Lion, Apple introduced contextual input in iCal, which allows users to set the start and end time of an event by adding it to the event name.

iCal Contextual EntryEnter the start and end time of your event in the event’s name.

For example, to create a new event in month view, double-click on the desired day and type the event’s name. Before pressing Return, add the event’s duration at the end of the title. Pressing Return now creates the event with the specified duration. As in the screenshots above and below, entering “Meeting 2p to 4:30p” created an event, “Meeting,” with a start time of 2:00 p.m. and an end time of 4:30 p.m.

iCal Event Entry

By entering the start and end times for an event in the event name, iCal will automatically set the applicable duration.

Alternatively, new events that only identify a start time can be created via this same method. In that case, iCal’s default event duration, which is 1-hour unless changed with the Terminal command above, will apply to the event. As seen below, creating a new event with a title of “Party at 8p” creates a new event, “Party,” with a start time of 8:00 p.m. and an end time of 9:00 p.m. by default.

iCal Event Start Time Only

Entering only the start time in an event’s name will create an event with iCal’s default duration, which can be changed with a Terminal command.

While Apple may have made working in Lion’s iCal month view a tad more frustrating, we hope this new functionality eases the pain.

[Teaser graphic via Shutterstock]

This question was originally answered on MGG 402: Geeks Gabbing for 7 Years

About MGG Answers:

Each week Dave Hamilton and John F. Braun provide some great troubleshooting advice to listeners of the Mac Geek Gab podcast. Here with MGG Answers we share some of those tips with the rest of the world!

Popular TMO Stories



For those of us with 24 hour time this seems to work: “Meeting 14:00 - 16:00” and “Meeting 14:00”.

Dan Neesley

I like to have multiple alarms set for my events as I tend to be a little forgetful and need to be nagged.  Since there is no apparent way set multiple custom alarms as a default, I have found this procedure to be useful:

I create a repeating event for the first day of every month with all the alarms and email reminders I want. Then I just option drag the default to the day I want and edit the tile and time.


This was an awesome tip, it was very helpful and easy.  Thank you so much for posting the solution to this problem.

Paul Fawcus

Great! been driving me mad… wink


Great tip going to terminal to change default appointment duration, worked like a dream for me, thanks!

Kris Graffagnino

Going to Terminal is an awesome tip!

Nice job, I don’t care what the commenter above me said about you last week.

Log in to comment (TMO, Twitter or Facebook) or Register for a TMO account