Skip to main content

Repeating Tasks

2Do has flexible recurrence rules for both regular schedules and chores that should restart when you actually finish them.

Adding Recurrence

Open a task → Recurrence → choose a preset or build a custom rule.

Presets

Daily, Weekday, Weekend, Weekly, Bi-weekly, Monthly, Yearly.

Custom Rules

Build from:

  • Interval — every N days / weeks / months / years.
  • Days of week — pick any combination.
  • Day of monththe 1st, the last day, the second Tuesday.
  • End condition — never, after N occurrences, or on a specific date.

Repeat From Due Date vs. Completion

  • Repeat from Due Date — next occurrence calculated from the previous due date. Best for fixed schedules.
  • Repeat from Completion — next occurrence calculated from the date you completed the task. Best for chores.

What Carries Over

Each new occurrence inherits title, notes (without timestamps), tags, location, action, alarms, recurrence rule, priority, and duration. Completion state and alarm fire history reset.

Editing a Repeating Task

A repeating task is one task that moves forward each time you complete it. There is no separate series to edit: whatever you change on the task is what the next occurrence inherits.

Dates matter most here, because the next occurrence is counted from the task's current date.

With Repeat from Due Date:

  • Due date changed: the next occurrence is counted from the new due date. Move a monthly task from September 21 to September 22, and its next occurrence is due October 22.
  • Start date changed, and the task also has a due date: the due dates keep their schedule, but the new gap between start and due carries into future occurrences.
  • Start date changed, and there is no due date: the start date is what the task repeats from, so the next occurrence moves with it.

With Repeat from Completion, the next occurrence is counted from the day you complete the task, so a date change affects only the current occurrence. The gap between start and due date still carries forward.

Skipping an Occurrence

Mark the current task complete to advance.

tip

To put a recurring task on hold without breaking the cycle, give it a status tag like @on-hold and pause that tag from the Tags view. The active occurrence steps out of view; resume the tag to bring it back. See Tags.