Recurring tasks
Recurring tasks create future work from a repeating pattern, so routines, reviews, and maintenance do not need manual duplication. In Operon, recurrence is more than a reminder: it generates fresh occurrences that carry useful structure forward while resetting the parts that belong to each run.
MEDIA-DOCS-033-1: A recurring task and its upcoming occurrences projected on the Calendar.

How it works
A recurring task carries a repeat field describing the pattern:
- [ ] Weekly release review {{operonId:: {{operonId}}}} {{status:: Project.Planned}} {{dateScheduled:: 2026-06-12}} {{repeat:: mode=schedule|freq=week|interval=1}}
The rule is a set of key=value pairs joined by |. Three are always present: mode (schedule, done, or count), freq (day, week, month, or year), and interval (a positive number, so interval=1 is every week and interval=2 is every other week). Optional parts add detail, such as days=mo,we,fr for specific weekdays or monthdays=15 for a day of the month. You rarely type this yourself, since the recurrence control writes it for you.
A few more patterns, ready to paste. Each pastes as its own recurring task:
- [ ] Stand-up notes {{operonId:: {{operonId}}}} {{dateScheduled:: 2026-06-15}} {{repeat:: mode=schedule|freq=week|interval=1|days=mo,we,fr}}
- [ ] Pay the rent {{operonId:: {{operonId}}}} {{dateScheduled:: 2026-07-01}} {{repeat:: mode=schedule|freq=month|interval=1|monthdays=1}}
- [ ] Water the plants {{operonId:: {{operonId}}}} {{repeat:: mode=done|freq=day|interval=5}}
- [ ] Six-week course check-in {{operonId:: {{operonId}}}} {{repeat:: mode=count|freq=week|interval=1|count=6}}
In order: every Monday, Wednesday, and Friday; the first of every month; five days after each time you finish it; and weekly for six runs, then stop. See Recurrence rules and modes for the full grammar.
The modes matter most, because they change how the routine behaves: schedule keeps a fixed calendar rhythm, done paces the next run from when you finish, and count stops after a set number. For each mode with examples and guidance on which to use, see Recurrence rules and modes.
Behind the scenes, Operon tracks a recurrence series so that future occurrences inherit the right state and timing. The most recent occurrence is usually the best source for carrying state forward, which lets your edits survive into the next run. Because of this, a single task line does not hold the whole recurrence model; the series does.
The date of this occurrence
Task Occurrence Date tells you when this particular saved task was meant to occur. It reads the task's recorded repeatOccurrenceDate; it does not calculate the date of a future successor. If a monthly task belongs to 9 October, it continues to show 9 October even when its next run would be 9 November.
The repeat chip shows this date in your preferred Date format. Hover for the Recurrence Rule, or click to open the recurrence picker. With a valid rule but no valid recorded date, the chip says No occurrence date rather than borrowing a scheduled, due, or creation date.
Repeat reference date remains available in filters and Tables. For a valid recorded date, it and Task Occurrence Date read the same saved field; they are not two independently stored dates. The Reference date control in the recurrence picker edits that field. Calculating the next run is a separate recurrence operation.
To find missed saved occurrences, combine Task Occurrence Date → before today with Operon Task → is open using All. This excludes completed, cancelled, future, and undated tasks. It finds existing task records, not every uncreated date in a repeating schedule. See Filter conditions and operators.
Completing a recurring task safely
When completing a recurring inline or File Task should create another occurrence, Operon first makes sure that exactly one valid, open successor can be prepared. Only then does it keep the terminal change. If the source changed or disappeared, the recurrence rule is invalid, or the successor cannot be created safely, the task remains open and a short notice explains that the next occurrence could not be prepared. A series that has genuinely reached its configured end completes normally without creating another occurrence.
For a File Task, Mark done in the contextual menu uses the same protected completion flow as Finish in Task Editor, including creating the next occurrence when required. A genuine source change still requires refreshing and reviewing the task before retrying.
On Calendar, a successfully created successor is resolved after it is saved. If it matches the active Calendar filter, it can appear normally. If the task exists but the filter excludes it, Operon keeps the completion and tells you that the next occurrence was created but is hidden by the current Calendar filter; it does not bypass the filter to force the card into view.
For mode=done, the next occurrence is based on the date you actually complete the task. Completing an overdue daily task today therefore creates the next run for tomorrow, rather than replaying or backfilling every missed day. Existing time-of-day and duration information still carry forward according to the normal recurrence inheritance rules. This matches the done-mode definition in Recurrence rules and modes.
Set it in the editor
The simplest way to add or change recurrence is the Task Editor, which gives you a recurrence control rather than asking you to write the repeat rule by hand. You can also type a rule directly in the field if you prefer.
MEDIA-DOCS-033-2: The recurrence control in the Task Editor building a weekly rule.

What carries forward, what resets
When a new occurrence is created, structure that should persist (the task's shape, its body for a file task) carries forward, while per-occurrence parts reset: completion state, tracked time, and progress start fresh. Relative ReminderRules carry forward and resolve against the new occurrence's dates when their reference date is available; fixed ReminderDatetimes stay with the occurrence where you created them. This is what stops a recurring task from being a stale copy of the last run. For the exact field-by-field list of what carries forward and what resets, see Operon inheritance rules and Reminders.
Recurring file tasks
Recurrence works especially well for file tasks with a stable structure, like a weekly review or a publishing checklist that needs the same sections every time. A recurring file task can create a new note for each occurrence, giving each run its own working space. See File tasks.
Skipping an occurrence
If a single run does not apply, open the task's contextual menu and choose Skip this occurrence. The series continues; only that one instance is skipped.
FAQ
Where do I set the recurrence rule? In the Task Editor's recurrence control, or directly in the repeat field.
Will my edits be lost on the next occurrence? No. Operon carries state forward from the latest occurrence, so meaningful changes persist while per-run fields reset.
Can a recurring task make a new file each time? Yes. A recurring file task can create a fresh note per occurrence.
Why did the next occurrence not appear on my current Calendar? If completion succeeded, the new occurrence may not match the active Calendar filter. Operon reports this case without changing the filter.
What happens if the next occurrence cannot be created? Operon leaves the current task open rather than saving a completion with no successor.
Settings
Operon settings for this live in Settings → Operon → Tasks → Recurrence, under Occurrence placement for the inline occurrence position and file occurrence destination. Recurring file task YAML/frontmatter cleanup manages per-series rules that clear selected property values in newly created file occurrences. Enter raw YAML property names exactly as stored in the file; these cleanup rules do not apply to inline tasks.