Expiring Tasks with Until

Expiring Tasks with Until

Overview

An until date is an expiration date for a task. If the task is still pending when its until date passes, WingTask deletes it, as if you had deleted it yourself, and tells you with a notification.

Use it for tasks that stop mattering after a certain point.


How It Works

What happens when a task expires

While its until date is in the future, a task behaves like any other task. The until date is shown on the task’s row in your lists, next to a clock-and-trash icon, and on the task’s detail page.

When the until date passes and the task is still pending:

  • WingTask deletes the task.
  • The task leaves your Pending lists and appears in Deleted, the same as a task you deleted by hand.
  • A notification tells you the task expired.

Only pending tasks expire. A task you have already completed or deleted keeps its status. Waiting tasks are pending, so they expire too.

An expired task is not erased. You can still find it in Deleted.

When tasks expire

WingTask checks for expired tasks when you open or reload a page, at most once a minute. A task whose until date passes while WingTask is closed is deleted the next time you open it.

A task whose until date is exactly now is kept. It expires once that moment has passed.

Setting an until date

You can set an until date in several ways.

From the task form:

  1. Open a task, or start a new one.
  2. In the Until field, choose a date, or a date and time.
  3. Save the task.

From a task list:

  1. Open the task’s action menu.
  2. Select Set until.
  3. Choose a date, then save.

When typing a task:

Add until: followed by a date to the task text.

Buy concert tickets until:2026-11-14

For several tasks at once:

Select the tasks with bulk edit and change their Until date together.

From Taskwarrior:

The until date is the same until attribute Taskwarrior uses, so an until date set in Taskwarrior appears in WingTask after you sync, and the other way around.

task add Buy concert tickets until:2026-11-14

To keep a task from expiring, clear its Until field or move the date later.

Notifications when a task expires

When WingTask deletes an expired task, it adds a notification.

  • The bell in the header fills in and shows a dot when you have notifications.
  • Select the bell to open the Notifications page.
  • Each notification shows the task and when it expired, such as “Expired and was deleted today” or “Expired and was deleted 2 days ago”.

From the Notifications page you can:

  • Select View task to open the task.
  • Select × to dismiss one notification.
  • Select Dismiss all to clear the page.

Dismissing a notification does not change the task.


Examples

Example: Tickets with a sale deadline

Task:

Buy concert tickets until:2026-11-14

Result:

If you haven’t completed the task by November 14, it is deleted and the bell shows “Expired and was deleted today”. Your list no longer shows a task you can’t act on.


Example: An offer that runs out

Task:

Use the bookstore coupon until:2026-12-31

Result:

The task stays on your list through December. If you use the coupon and complete the task, nothing else happens. If you don’t, it is deleted after December 31.


Example: Replying to an invitation

Task:

RSVP to Sam's party until:2026-11-07

Result:

Once the RSVP date passes, replying no longer matters, so the task removes itself.


Example: Waiting, then expiring

Task:

Register for spring classes wait:2027-01-10 until:2027-01-24

Result:

The task is hidden until registration opens on January 10. It then returns to your Pending lists. If you haven’t registered by January 24, it is deleted.


Notes

  • Expiring a task cannot be reversed with Undo.
  • An until date is not a deadline. A due date marks when something should be done. An until date marks when the task should go away.
  • Recurring tasks: each repeat of a recurring task can expire. The recurring template that creates them does not.
  • Taskwarrior also deletes tasks whose until date has passed. If you use both, whichever one checks first deletes the task, and the change syncs to the other.
  • WingTask always expires tasks. It cannot read Taskwarrior settings, so turning off cleanup in your Taskwarrior configuration (rc.gc=0) does not stop WingTask from deleting expired tasks.
  • The first time you open WingTask after this feature arrives, every pending task whose until date has already passed is deleted, no matter how old the date is.

Related Topics