# Quick Reference This table summarizes the filters and other options available inside a `tasks` block. <!-- NEW_QUERY_INSTRUCTION_EDIT_REQUIRED --> | [[Filters]] | [[Sorting\|Sort]] | [[Grouping\|Group]] | [[Layout\|Display]] | [[About Scripting\|Scripting]] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | **[[Filters#Filters for Dates in Tasks\|Status]]** | | | | | | `done`<br>`not done` | `sort by status` | `group by status` | | `task.isDone` | | `status.name (includes, does not include) <string>`<br>`status.name (regex matches, regex does not match) /regex/i` | `sort by status.name` | `group by status.name` | | `task.status.name` | | `status.type (is, is not) (TODO, DONE, IN_PROGRESS, CANCELLED, NON_TASK)` | `sort by status.type` | `group by status.type` | | `task.status.type`<br>`task.status.typeGroupText` | | | | | | `task.status.symbol` | | | | | | `task.status.nextSymbol` | | **[[Task Dependencies]]** | | | | | | `id (includes, does not include) <string>`<br>`id (regex matches, regex does not match) /regex/i`<br>`has id`<br>`no id` | `sort by id` | `group by id` | `hide id` | `task.id` | | `has depends on`<br>`no depends on` | | | `hide depends on` | `task.dependsOn` | | `is blocked`<br>`is not blocked` | | | | `task.isBlocked(query.allTasks)` | | `is blocking`<br>`is not blocking` | | | | `task.isBlocking(query.allTasks)` | | **[[Filters#Filters for Dates in Tasks\|Dates]]** | | | | | | `done (on, before, after, on or before, on or after) <date>`<br>`done (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has done date`<br>`no done date`<br>`done date is invalid` | `sort by done` | `group by done` | `hide done date` | `task.done` | | `created (on, before, after, on or before, on or after) <date>`<br>`created (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has created date`<br>`no created date`<br>`created date is invalid` | `sort by created` | `group by created` | `hide created date` | `task.created` | | `starts (on, before, after, on or before, on or after) <date>`<br>`starts (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has start date`<br>`no start date`<br>`start date is invalid` | `sort by start` | `group by start` | `hide start date` | `task.start` | | `scheduled (on, before, after, on or before, on or after) <date>`<br>`scheduled (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has scheduled date`<br>`no scheduled date`<br>`scheduled date is invalid` | `sort by scheduled` | `group by scheduled` | `hide scheduled date` | `task.scheduled` | | `due (on, before, after, on or before, on or after) <date>`<br>`due (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has due date`<br>`no due date`<br>`due date is invalid` | `sort by due` | `group by due` | `hide due date` | `task.due` | | `cancelled (on, before, after, on or before, on or after) <date>`<br>`cancelled (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has cancelled date`<br>`no cancelled date`<br>`cancelled date is invalid` | `sort by cancelled` | `group by cancelled` | `hide cancelled date` | `task.cancelled` | | `happens (on, before, after, on or before, on or after) <date>`<br>`happens (in, before, after, in or before, in or after) ...`<br>`... YYYY-MM-DD YYYY-MM-DD`<br>`... (last, this, next) (week, month, quarter, year)`<br>`... (YYYY-Www,YYYY-mm, YYYY-Qq, YYYY)`<br>`has happens date`<br>`no happens date` | `sort by happens` | `group by happens` | | `task.happens` | | **[[Filters#Recurrence\|Recurrence]]** | | | | | | `is recurring`<br>`is not recurring` | `sort by recurring` | `group by recurring` | | `task.isRecurring` | | `recurrence (includes, does not include) <string>`<br>`recurrence (regex matches, regex does not match) /regex/i` | | `group by recurrence` | `hide recurrence rule` | `task.recurrenceRule` | | **[[On Completion]]** | | | | | | | | | `hide on completion` | `task.onCompletion` | | **[[Filters#Priority\|Priority]]** and **[[Urgency\|urgency]]** | | | | | | `priority is (above, below, not)? (lowest, low, none, medium, high, highest)` | `sort by priority` | `group by priority` | `hide priority` | `task.priorityName`<br>`task.priorityNameGroupText`<br>`task.priorityNumber` | | | `sort by urgency` | `group by urgency` | `show urgency` | `task.urgency` | | **[[Filters#Filters for File Properties\|File properties]]** | | | | | | `path (includes, does not include) <path>`<br>`path (regex matches, regex does not match) /regex/i`<br>`path includes {{query.file.path}}`<br>`path includes {{query.file.pathWithoutExtension}}` | `sort by path` | `group by path` | | `task.file.path`<br>`task.file.pathWithoutExtension`<br>`query.file.path`<br>`query.file.pathWithoutExtension` | | `root (includes, does not include) <root>`<br>`root (regex matches, regex does not match) /regex/i`<br>`root includes {{query.file.root}}` | | `group by root` | | `task.file.root`<br>`query.file.root` | | `folder (includes, does not include) <folder>`<br>`folder (regex matches, regex does not match) /regex/i`<br>`folder includes {{query.file.folder}}` | | `group by folder` | | `task.file.folder`<br>`query.file.folder` | | `filename (includes, does not include) <filename>`<br>`filename (regex matches, regex does not match) /regex/i`<br>`filename includes {{query.file.filename}}`<br>`filename includes {{query.file.filenameWithoutExtension}}` | `sort by filename` | `group by filename` | | `task.file.filename`<br>`task.file.filenameWithoutExtension`<br>`query.file.filename`<br>`query.file.filenameWithoutExtension` | | `heading (includes, does not include) <string>`<br>`heading (regex matches, regex does not match) /regex/i` | `sort by heading` | `group by heading` | | `task.hasHeading`<br>`task.heading` | | | | `group by backlink` | `hide backlink` | | | **[[Obsidian Properties]]** | | | | `task.file.hasProperty('property name')`<br>`task.file.property('property name')` | | **[[Filters#Description\|Description]]**, **[[Filters#Tags\|Tags]]** and other odds and ends | | | | | | `description (includes, does not include) <string>`<br>`description (regex matches, regex does not match) /regex/i` | `sort by description` | | | `task.description`<br>`task.descriptionWithoutTags` | | `has tags`<br>`no tags`<br>`tag (includes, does not include) <tag>`<br>`tags (include, do not include) <tag>`<br>`tag (regex matches, regex does not match) /regex/i`<br>`tags (regex matches, regex does not match) /regex/i` | `sort by tag`<br>`sort by tag <tag_number>` | `group by tags` | `hide tags` | `task.tags` | | | | | `show tree` | | | | | | | `task.originalMarkdown` | | | `sort by random` | | | | | **[[About Scripting\|Scripting]]** | | | | | | `filter by function` | `sort by function` | `group by function` | | | | **[[Combining Filters]]** | | | | | | `(filter 1) AND (filter 2)` | | | | | | `(filter 1) OR (filter 2)` | | | | | | `NOT (filter 1)` | | | | | | `(filter 1) XOR (filter 2)` | | | | | | `(filter 1) AND NOT (filter 2)` | | | | | | `(filter 1) OR NOT (filter 2)` | | | | | | `(filter 1) AND ((filter 2) OR (filter 3))` | | | | | | **Other Filter Options** | | | | | | `exclude sub-items` | | | | | | `limit to <number> tasks`<br>`limit <number>` | | | | | | `limit groups to <number> tasks`<br>`limit groups <number>` | | | | | | **Other Layout Options** | | | | | | `hide edit button` | | | | | | `hide postpone button` | | | | | | `hide task count` | | | | | | `short mode` | | | | | | `full mode` | | | | | | **Other Instructions** | | | | | | `ignore global query` | | | | | | `explain` | | | | | | `# comment` | | | | |