Skip to content

Snooze & Time

Snooze Basics

Snoozing sets a task's due_at to a new time. The task reappears when that time arrives. For recurring tasks, the original recurrence schedule is preserved — snoozing only affects the current occurrence.

First snooze tracking

  • The first snooze saves the original due_at to original_due_at
  • Subsequent snoozes preserve the existing original_due_at
  • snooze_count increments on every snooze (including bulk) and is never reset

Bulk Snooze

The bulk snooze button is the primary workflow action. It sits in the top bar and snoozes all overdue tasks in one tap.

Filtering rules

ConditionIncluded in bulk snooze?
Has a due dateRequired
No due dateExcluded
Overdue (due_at < now)Required
Not yet dueExcluded
Priority 0-3Yes
Priority 4 (Urgent)Never — must be snoozed individually
Done / deleted / archivedExcluded

Default snooze duration

The default bulk snooze pushes tasks forward by the user's configured duration (default: 1 hour). Users can change this in Settings. Options include 30 minutes, 1 hour, 2 hours, or "tomorrow morning" (at the user's configured morning time).

Time Rounding

When snoozing by 1 hour or more, the target time is rounded to the nearest hour using a 35-minute threshold:

  • Minutes < 35: round down (truncate to current hour)
  • Minutes >= 35: round up (advance to next hour)

Examples (snooze +1 hour):

Current time+1 hourRounded to
2:15 PM3:15 PM3:00 PM
2:34 PM3:34 PM3:00 PM
2:35 PM3:35 PM4:00 PM
2:50 PM3:50 PM4:00 PM

Sub-hour snoozes (e.g., +30 minutes) use the exact time with no rounding.

Snooze Surfaces

OpenTask provides consistent snooze behavior across all interfaces:

SurfaceActions available
Dashboard top barBulk snooze all overdue (one tap)
Dashboard long-pressBulk snooze with custom duration
Task detail panelPreset times, hour increments/decrements
Multi-select action barBulk snooze selected tasks
iOS notification (banner)Done, +1hr, All +1hr
iOS notification (long-press)Interactive snooze grid
Apple WatchDone, +1hr, All +1hr

Recurring Task Snooze

Snoozing a recurring task only changes due_at — the recurrence rule (rrule) is preserved. When the snoozed task is completed, the next occurrence is computed from the original recurrence schedule, not the snoozed time.

Example: A daily 9:00 AM task snoozed to noon and then completed will regenerate as due at 9:00 AM tomorrow.