Recurring Tasks
Recurring tasks repeat on a schedule you define. Daylight tracks each occurrence as a separate instance, so you can complete Tuesday’s “Weekly review” without affecting next Tuesday’s.
Why it matters
Section titled “Why it matters”- One definition, many instances. Create the task once; Daylight generates instances as needed.
- Instance-level tracking. Complete, skip, or reschedule individual occurrences without breaking the series.
- Plain-text rules. Uses iCalendar RRULE format—the same standard your calendar app uses.
Quick start
Section titled “Quick start”- Create a new task or open an existing one
- Tap the Edit button (pencil icon)
- In the Recurrence section, choose a frequency (daily, weekly, monthly)
- For weekly tasks, select which days
- Save
Daylight adds a recurrence block to your task file:
---title: Weekly reviewstatus: activecreated: 2026-01-28recurrence: rule: FREQ=WEEKLY;BYDAY=FR instances: - date: 2026-01-31 status: active---How it works
Section titled “How it works”The series vs. instances model
Section titled “The series vs. instances model”A recurring task has two parts:
- The series — The task file itself, containing the recurrence rule
- Instances — Individual occurrences tracked in
recurrence.instances
When you view your task list, Daylight expands the series into separate rows for each upcoming instance. Each row represents a specific date.
Instance states
Section titled “Instance states”| State | What it means |
|---|---|
active | Not yet done; shows in your task list |
completed | Done; moves to Wrapped for that day |
skipped | Intentionally skipped; won’t show again |
What happens when you complete an instance
Section titled “What happens when you complete an instance”- Daylight marks that instance as
completedinrecurrence.instances - The instance moves to Wrapped (if completed today)
- The next instance automatically appears based on the rule
The task file stays active—only the specific instance is marked done.
Common recurrence patterns
Section titled “Common recurrence patterns”recurrence: rule: FREQ=DAILYWeekly on specific days
Section titled “Weekly on specific days”# Every Mondayrecurrence: rule: FREQ=WEEKLY;BYDAY=MO
# Every Monday, Wednesday, Fridayrecurrence: rule: FREQ=WEEKLY;BYDAY=MO,WE,FREvery N weeks
Section titled “Every N weeks”# Every 2 weeks on Fridayrecurrence: rule: FREQ=WEEKLY;INTERVAL=2;BYDAY=FRMonthly
Section titled “Monthly”# 15th of every monthrecurrence: rule: FREQ=MONTHLY;BYMONTHDAY=15
# First Monday of every monthrecurrence: rule: FREQ=MONTHLY;BYDAY=1MOActions and their effects
Section titled “Actions and their effects”| Action | What changes in the file |
|---|---|
| Complete | Instance status → completed |
| Skip | Instance status → skipped |
| Reschedule instance | Instance date changes; new instance may be created |
| Reschedule series | scheduled field changes; affects future instances |
| Delete series | Entire task file deleted |
[!note] Rescheduling a recurring task to a future date hides past uncompleted instances. This prevents a backlog of “catch-up” tasks from accumulating.
Edge cases
Section titled “Edge cases”Past instances piling up
Section titled “Past instances piling up”If you haven’t opened Daylight in a while, you might see multiple past instances in the “Past” group. Options:
- Complete them if you actually did them
- Skip them if they’re no longer relevant
- Reschedule the series to today to reset
”Why did a new instance appear?”
Section titled “”Why did a new instance appear?””Daylight generates instances based on the rule when it needs to display them. If you see an unexpected instance:
- Check the
recurrence.rule— does it match your intended schedule? - Check
recurrence.instances— is there already an instance for that date? - Look at the
scheduledfield — instances only generate from this date forward
Moving a task with history
Section titled “Moving a task with history”If you change a recurring task’s rule (e.g., from weekly to daily), existing instance history is preserved. New instances follow the new rule.
[!warning] Manually editing
recurrence.instancescan cause issues. If you need to clean up instance history, it’s safer to:
- Note the task details
- Delete the task
- Create a fresh recurring task
Timezone and day boundaries
Section titled “Timezone and day boundaries”Daylight uses your device’s local date for all scheduling. If you travel across timezones:
- Instances are based on the calendar date, not a specific time
- A task scheduled for “Friday” means Friday in your current timezone
- Synced devices in different timezones may show different “today” tasks
Troubleshooting checklist
Section titled “Troubleshooting checklist”- Is the
recurrence.rulevalid RRULE syntax? - Does the task have
status: active? - Is there a
scheduleddate? (Instances generate from this date) - Check
recurrence.instancesfor duplicate or conflicting entries - Try restarting the app if instances seem stale
RRULE reference
Section titled “RRULE reference”Daylight uses standard iCalendar RRULE format. Key components:
| Component | Example | Meaning |
|---|---|---|
FREQ | FREQ=WEEKLY | Frequency: DAILY, WEEKLY, MONTHLY, YEARLY |
INTERVAL | INTERVAL=2 | Every N periods (default: 1) |
BYDAY | BYDAY=MO,WE,FR | Which days of the week |
BYMONTHDAY | BYMONTHDAY=15 | Which day of the month |
COUNT | COUNT=10 | Stop after N occurrences |
UNTIL | UNTIL=20261231 | Stop after this date |
For more complex rules, see the iCalendar RFC 5545 specification.
Related
Section titled “Related”- Task File Format — Full frontmatter reference
- Getting Started — Create your first task
- Limitations — What Daylight doesn’t do