Skip to content

Tasks & Priority

Priority Levels

ValueLevelMeaning
0UnsetNo priority assigned
1LowBackground tasks
2MediumNormal importance
3HighImportant, should be done soon
4UrgentHard deadline — excluded from bulk snooze

Due Dates: Reminders vs. Deadlines

This is the most important behavioral distinction in OpenTask. Due dates serve two different purposes depending on priority.

Priority 0-3: Due dates as reminders

For most tasks, due_at means "when to next remind me about this." It's aspirational — the time you intend to do it — but it's not a commitment. These tasks are bulk-snoozed routinely, often many times per day.

Being "overdue" simply means the due time has passed. For low-priority tasks, this is the normal state — not a problem.

Priority 4 (Urgent): Due dates as hard deadlines

Urgent tasks are exempt from bulk snooze. Every change to their due date requires an individual, conscious action. These represent real commitments: tax deadlines, appointments, filing windows.

Being overdue on an urgent task is critical and always surfaced prominently.

PriorityDue date meansBulk snooze"Overdue" significance
0-1 (Unset/Low)ReminderEligibleNormal
2 (Medium)ReminderEligibleLow
3 (High)Firm reminderEligibleSignificant
4 (Urgent)Hard deadlineNeverCritical

Completion Behavior

  • One-off tasks: Marked as done and archived immediately.
  • Recurring tasks: Advance in place — completing a daily task moves due_at forward and leaves the task active. See Recurrence.

Soft Delete

All deletions are soft-deletes. Trashed tasks are retained for 30 days (configurable via OPENTASK_RETENTION_TRASH_DAYS) before permanent deletion. The only hard-delete operation is "Empty Trash," which requires explicit confirmation.

Undo/Redo

Every mutation is logged and reversible. Undo restores the task to its exact state before the action. The undo stack is per-user and works as last-in-first-out.