---
title: Search and Filters
description: Search tasks by text or ID and narrow them with filter keys such as status, priority, label, due, and cycle.
---

Every task list has a search bar. Type plain text to search, add filter keys to narrow the results, and save a search as a [filter](/tasks/projects#saved-filters) to keep it as a tab. Press `/` in a list to jump to the search bar. With the search empty, the suggestions list every filter key.

The same syntax is used by saved filters, the [CLI's](/cli/tasks-and-projects#task-filter-create-update-and-delete) `task filter --query`, and Ask Octarine.

## Searching Text And IDs

- Plain words match task titles, descriptions, and IDs.
- A task ID such as `WEB-24` matches that task, including by an old ID it had before moving project.
- `#24` matches task number 24 in any project.

## Filter Syntax

| Form | Meaning | Example |
| --- | --- | --- |
| `key:value` | Match a field | `status:todo` |
| `-key:value` | Exclude matches | `-label:Bug` |
| `key:a,b` | Match any of several values | `priority:urgent,high` |
| `key:"two words"` | Quote values with spaces | `label:"Needs review"` |

Combine filters and text freely. All of them must match:

```text
is:open label:Bug priority:urgent,high sync
```

## Filter Keys

| Key | Values |
| --- | --- |
| `status` (or `state`) | `backlog`, `todo`, `in-progress`, `in-review`, `done`, `cancelled`, or a custom status name in lowercase with hyphens. `review`, `started`, `canceled`, and `completed` also work. |
| `priority` (or `p`) | `urgent`, `high`, `medium`, `low`, `none`, or `0` to `4` (`1` is urgent, `0` is none) |
| `label` (or `tag`) | A label name, ignoring case |
| `bucket` | A bucket name, or `none` |
| `cycle` | `current`, `upcoming`, `previous`, `none`, or a cycle number or name. Matches nothing while cycles are off. |
| `is` | `open`, `closed`, `overdue`, `archived` |
| `has` | `due`, `labels`, `description`, `priority`, `bucket`, `cycle` |
| `due` | `overdue`, `today`, `none`, `<Nd` (due within N days, including overdue), `>Nd`, or `week` (same as `<7d`) |
| `created` | `<Nd` or `>Nd`, such as `created:<7d` |
| `completed` | `<Nd` or `>Nd`. Matches only tasks that are currently completed. |

Durations use `h` (hours), `d` (days), `w` (weeks), and `m` (30 days), so `completed:<2w` means "completed in the last two weeks".

Archived tasks are left out unless the query includes `is:archived`.

## Examples

| Goal | Query |
| --- | --- |
| Open bugs | `is:open label:Bug` |
| Urgent or high, not started | `priority:urgent,high status:todo,backlog` |
| Due this week, not already overdue | `is:open due:<7d -due:overdue` |
| Planned for this cycle | `cycle:current is:open` |
| Open tasks with no due date | `is:open due:none` |
| Done in the last week | `completed:<7d` |
| Archived tasks mentioning "pricing" | `is:archived pricing` |

## Finding Tasks From Anywhere

You don't need to be in the Tasks view to find a task. Press `Cmd/Ctrl + K` and type an ID, an old ID, a title, or a project name, or switch to the Command Bar's **Tasks** tab. See [Command Bar](/core-concepts/command-bar-and-shortcuts#tasks).

#### Quick Answers

### How do I find all open bugs?

Search `is:open label:Bug`. Save it as a filter to keep it as a tab on a project.

### How do I exclude something from a task search?

Put a minus before the filter, such as `-label:Bug` or `-due:overdue`.

### Why don't archived tasks show up in search?

They're left out unless the query includes `is:archived`.
