Skip to content

Labels and filters

Labels cut across projects. Filters are saved queries over every task you own. Both are managed from Organize in the sidebar, and both can be pinned.

A label has a name (1–120 characters) and one of the thirteen project colours. A task can carry any number.

Apply them by typing @name into a task name, from the Labels submenu on a row’s menu, from the label picker in the task view, or in bulk from the selection toolbar.

Clicking a label in the sidebar opens a page listing every incomplete task carrying it, across all your projects.

Labels are yours, not the project’s. In a shared project, each member sees only their own labels on a task, and an export only carries links to your own labels.

A filter is a name plus a query, up to 500 characters. The query is validated when you save it, so an unparseable filter cannot be created. If a filter’s query later becomes invalid, its page tells you what is wrong instead of showing an empty list.

Filters run over your own incomplete tasks in projects that are not deleted.

Term Matches
today Due today
tomorrow Due tomorrow
overdue Due before today
7 days Due between today and today + 7, inclusive
no date No due date
no labels No labels
no priority Priority 4, identical to p4
p1p4 That priority
#Project That project, matched case-insensitively by name
@label Carries that label, matched case-insensitively
due before: <phrase> Due strictly before that date
due after: <phrase> Due strictly after that date

Date phrases after due before: and due after: use the quick-add vocabulary: today, tomorrow, weekday names, next week, next friday, in 3 days, 2026-03-01, 1.3.

The space after the colon is optional. due before:tomorrow and due before: tomorrow are the same.

Operator Meaning
& And
| or , Or
! Not
( ) Grouping

& binds tighter than |, so today & p1 | overdue reads as (today & p1) | overdue. Use parentheses when you mean otherwise.

today & p1

Due today and most urgent.

overdue | today

The Focus view, roughly.

7 days & !@waiting

The coming week, excluding anything you are blocked on.

#Work & (p1 | p2) & !no date

Urgent work with a date on it.

due after: friday & due before: next friday

The week after this one.

no labels & no date

Everything you have captured but not yet triaged.

  • A task with no due date never matches a date term. Only no date and negations like !today match it.
  • due before: and due after: are exclusive. due before: tomorrow means due today or earlier.
  • overdue is date-only. The due time is ignored, so a task due at 09:00 today is not overdue at 17:00.
  • Project and label names are single tokens. They cannot contain spaces or any of & | ! ( ) ,. A project called “Home Repairs” cannot be matched by name; use a label instead.
  • Completed tasks are already excluded, so there is no completed term.

A bad query is reported with the offending token and its position:

unknown token at "yesterday" (position 8)

Fix it in the filter editor on the Organize page and save again.