Tasks & Priority
Priority Levels
| Value | Level | Meaning |
|---|---|---|
| 0 | Unset | No priority assigned |
| 1 | Low | Background tasks |
| 2 | Medium | Normal importance |
| 3 | High | Important, should be done soon |
| 4 | Urgent | Hard 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.
| Priority | Due date means | Bulk snooze | "Overdue" significance |
|---|---|---|---|
| 0-1 (Unset/Low) | Reminder | Eligible | Normal |
| 2 (Medium) | Reminder | Eligible | Low |
| 3 (High) | Firm reminder | Eligible | Significant |
| 4 (Urgent) | Hard deadline | Never | Critical |
Completion Behavior
- One-off tasks: Marked as done and archived immediately.
- Recurring tasks: Advance in place — completing a daily task moves
due_atforward 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.
