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.
Labels
Section titled “Labels”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.
Filters
Section titled “Filters”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 |
p1 … p4 |
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.
Operators
Section titled “Operators”| 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.
Examples
Section titled “Examples”today & p1Due today and most urgent.
overdue | todayThe Focus view, roughly.
7 days & !@waitingThe coming week, excluding anything you are blocked on.
#Work & (p1 | p2) & !no dateUrgent work with a date on it.
due after: friday & due before: next fridayThe week after this one.
no labels & no dateEverything you have captured but not yet triaged.
Semantics worth knowing
Section titled “Semantics worth knowing”- A task with no due date never matches a date term. Only
no dateand negations like!todaymatch it. due before:anddue after:are exclusive.due before: tomorrowmeans due today or earlier.overdueis 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
completedterm.
Errors
Section titled “Errors”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.
