Repeating Tasks
Real life is full of things that come back. 2Do has flexible recurrence rules to match.
Adding Recurrence
In the task editor, click the Repeat button, or press ⌘; (Task > Edit Recurrence), then pick a preset or build a custom rule from the Repeat menu. The task doesn't need a date first: if it has no start or due date, 2Do gives it a due date automatically as soon as you set a rule.
For a new task you can type the rule instead, in phrases such as every day, every weekday, every Monday, every 2 weeks, every month on the 15th, or every year on September 5. Put a date in the title too when the rule needs something to count from, as in Take vitamins tomorrow every day. See Natural Language Input.
Presets
Six presets cover the common schedules. They're listed under a Presets heading in the Repeat menu, and while the rule is still Never they also appear as chips you can trigger with ⌥1–⌥6:
| Preset | Shortcut | Repeats |
|---|---|---|
| Daily | ⌥1 | Every day |
| Weekly | ⌥2 | Every week, on the same weekday as the task's date |
| Every 2 weeks | ⌥3 | Every second week |
| Monthly | ⌥4 | Every month, on the same date |
| Quarterly | ⌥5 | Every three months |
| Yearly | ⌥6 | Every year, on the same date |
Once a rule is set the chips step out of the way; reach the presets from the Repeat menu instead.
Custom Rules
Above the presets, the same Repeat menu offers three rule shapes. Picking one swaps in its own set of controls:
- On every given period: every N days, weeks, months, or years (N from 1 to 999).
- On some days of the week: tick any combination of Mon through Sun, so Monday, Wednesday, Friday or a weekdays-only or weekends-only rule is a few clicks away.
- On a day of each month: the 1st, 2nd, 3rd, 4th, 5th, or Last of a chosen weekday, for rules like the second Tuesday of every month.
An Ends row finishes the rule: Never, After a number of occurrences (up to 99), or On date. A separate after completion checkbox switches the rule to count from completion rather than the task's date. See below.
There's no single-click Weekday or Weekend preset. Build either with On some days of the week: tick Mon–Fri, or tick Sat and Sun.
Repeat From Due Date vs. Completion
This trip-up is worth understanding clearly.
- Repeat from Due Date: the next occurrence is calculated from the previous due date, regardless of when you completed the task. Best for fixed schedules: paying rent on the 1st, weekly status reports.
- Repeat from Completion: the next occurrence is calculated from the date you marked the task complete. Best for chores and maintenance where the cycle restarts when you actually finish: changing your car's oil every 3 months, watering the plants every few days, or going to the gym every other day, whenever you actually got around to it.
Examples:
- A task due on the 1st of every month and completed on the 3rd still repeats from the 1st when set to Repeat from Due Date.
- A task to change your car's oil every 3 months repeats 3 months from the day you complete it when set to Repeat from Completion, so if you finish it a couple of weeks late, the next one shifts with you instead of stacking up.
Switch modes with the after completion checkbox in the Repeat popup, where ticking it means the rule counts from completion.
Use Repeat from Due Date for promises tied to the calendar. Use Repeat from Completion for maintenance, chores, exercise, reviews, and anything where the next cycle should begin when you actually finished the last one.
What Happens When You Complete One
When you complete a repeating task and another occurrence remains, 2Do keeps a completed copy for your history and moves the active task to the next occurrence. This means your Done list still shows the completed occurrence, while the task you continue working with becomes the next one.
If the task has reached its End after count or End on date, the final occurrence simply completes.
The dates move forward using the same shape you gave the task:
| Original task | Next occurrence |
|---|---|
| Only a due date | The due date moves to the next due date. |
| Only a start date | The start date moves to the next start date, and the task stays Scheduled until then. |
| Start date + due date | The due date moves forward, and 2Do keeps the same gap between start and due. A task that starts 2 days before it is due keeps that 2-day planning window next time. |
| Due time | The same due time is kept on the next occurrence. |
| Duration | The same duration is kept, so lead-time reminders continue to work. |
For projects and checklists, the next occurrence starts fresh so you can work through the sub-tasks again. The completed occurrence remains in your history with the work you already checked off.
If a repeating task uses End after, each completion uses up one occurrence. If it uses End on, 2Do stops creating new occurrences once the next one would be beyond that end date.
What Carries Over
When the next occurrence is generated, the new task inherits:
- The title, notes (without timestamps), tags, location, action, alarms, recurrence rule, priority, and duration.
- A fresh completion state, alarm fire history, and (if applicable) sub-task progress. Your notes timestamps and any per-occurrence completed sub-tasks do not carry over.
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, such as its list, tags, alarms, or dates, is what the next occurrence inherits.
Dates deserve a closer look, because the next occurrence is counted from the task's current date. This applies whether you change a date in the editor, use Task > Defer... or Task > Schedule..., or nudge it from the Task > Due Date and Task > Start Date submenus and their keyboard shortcuts.
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.
To put off an alert without touching the task's dates, snooze the notification instead of moving the task.
Skipping an Occurrence
To skip a single occurrence without breaking the cycle, mark the current task complete (or use Task > Mark > As Completed). The next occurrence appears as scheduled. To move the whole cycle to a new date, change the task's due date (or its start date, if it has no due date) as described in Editing a Repeating Task.
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 panel. The active occurrence steps out of view; resume the tag to bring it back. See Tags.
Examples
- Weekly review: Repeat: Weekly on Friday at 4pm. Repeat from Due Date.
- Change car oil: Repeat: Every 3 months. Repeat from Completion.
- Pay insurance premium: Repeat: Quarterly. Ends: Never.
- Stand-up: Repeat: Mon, Tue, Wed, Thu, Fri at 9:30am.
For chores like Weekly review, set a relative alert and keep sound alerts repeating in 2Do > Settings > Alerts if you need a stronger reminder.