Recurrence
Recurrence Rules
OpenTask uses RFC 5545 RRULE strings (the iCalendar recurrence standard) to define repeating schedules.
Examples
| Pattern | RRULE |
|---|---|
| Every day | FREQ=DAILY |
| Every weekday | FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR |
| Every Monday | FREQ=WEEKLY;BYDAY=MO |
| Every month on the 1st | FREQ=MONTHLY;BYMONTHDAY=1 |
| Every 2 weeks | FREQ=WEEKLY;INTERVAL=2 |
Completion Behavior
Recurring tasks advance in place rather than being archived:
- You complete a daily 9 AM task
- The task stays active with
done = 0 due_atadvances to tomorrow at 9 AM- The completion is logged for history and stats
This means your recurring tasks always stay in your active list. You never need to recreate them.
Timezone Handling
Recurring tasks preserve their intended local time across DST (Daylight Saving Time) transitions. A task due at 9 AM stays at 9 AM local time when clocks change.
Snooze Interaction
Snoozing a recurring task only affects the current occurrence — it changes due_at without modifying the recurrence rule. When completed, the next occurrence is always computed from the RRULE, not the snoozed time.
