# Natural-Language Search

Filter your team's Issues board by typing a plain-English sentence instead of clicking through dropdown menus. Type what you're looking for, press **Apply**, and the board narrows to the matching issues — across your whole backlog, not just what's currently on screen.

## Where to find it

Open any team's **Issues** page (**iKanban → Issues** in the sidebar). At the top, above the board, is the **✨ sparkle bar** — that's the natural-language search box.

## Your first search

1. Click the sparkle bar and type a request, for example:

   > `urgent issues tagged backend assigned to me`

2. Press **Enter** (or click **Apply**).
3. The board updates to show only matching issues. A chip appears below the box showing your applied query.
4. To clear it, click the **✕** on the chip — the board returns to showing everything.

That's the whole loop: **type → Apply → read the board → ✕ to clear.**

Not sure what to type? Click one of the example chips under the box (`urgent & unassigned`, `my in-progress work`, `tagged backend`, `stale > 14 days`) to prefill it, then Apply.

## What you can ask for

Everything below works, and you can **combine any of them in one sentence** — the parts are AND-ed together.

| Type something like… | And it filters to… |
|---|---|
| `urgent`, `high priority`, `P1 and P2` | Issues at that priority |
| `assigned to veronica`, `my issues`, `mine` | A person's issues (including your own) |
| `unassigned`, `no assignee` | Issues nobody owns yet |
| `in the backend project`, `tagged backend` | A project (a topic word can match a project **or** a tag) |
| `tagged Bug`, `labeled Feature` | Issues with that tag |
| `bugs`, `chores`, `feature work` | Issues of that type |
| `in progress`, `backlog`, `done`, `cancelled` | A status |
| `stale`, `stale > 30 days`, `idle more than 7 days` | Issues untouched for N days |
| `overdue`, `past due`, `late` | Past-due issues that are still open |
| `due today`, `due this week`, `due this month` | Issues with an upcoming due date |
| `created last week`, `opened this month` | Recently created issues |
| `issues about login`, `mentioning OAuth` | A free-text search of the title **and** description |

### Examples that combine several at once

- `my urgent bugs in backend idle more than 14 days`
- `unassigned features tagged Bug`
- `overdue high-priority work assigned to veronica`
- `done issues about billing`

## Fine-tuning with Refine and Sort

Some things read better as a control than a sentence. Right next to the sparkle bar:

- **Refine** — a dropdown for priority, type, assignee, project and tags, plus two extras:
  - **Match any tag** — when you've picked more than one tag, switch from "must have *all* of them" to "has *any* of them."
  - **Has sub-issues** — show only parent issues that have child issues.
- **Sort** — reorder the board: Newest, Oldest, Priority, Recently updated, or Due soon.

Natural-language search and the Refine dropdown share the same filter, so you can start with a sentence and then adjust it with the dropdown.

## Choosing which AI reads your query

To the right of the search box are two small pickers:

- **Provider** — **Auto** (default) uses whatever AI your workspace has set up. You can also pick **Claude**, **ChatGPT**, **Gemini**, or **GitHub Models** for a single search.
- **Model** — appears once you pick a specific provider; leave it on **Default** unless you have a reason to change it.

For everyday use, leave both alone — **Auto** just works.

## Good to know

- **A search that shows nothing is still a valid answer.** If a filter empties a column, there genuinely are no matching issues — for example, `overdue` shows nothing when every past-due issue is already Done.
- **Free-text search looks at the description too.** `issues about login` finds issues with "login" in the **title or the body**, so you may occasionally see one whose title looks unrelated but whose description mentions the word. Use a more specific phrase to narrow it.
- **Results cover your entire backlog**, not just the issues currently loaded on the board.
- **Repeat searches are instant** — a query you've run before comes back immediately, without re-asking the AI.
- **Anything it can't map turns into a gentle hint.** If part of your sentence can't become a filter, you'll see an amber "Couldn't map: …" note instead of a wrong guess. Rephrase that part, or use the Refine dropdown.

## What it can't do (yet)

A few requests fall outside the filter model and will show up in the "Couldn't map" hint rather than being guessed at:

- **Exact calendar months** — `opened in June`. Use a relative window instead (`created last week`, `created this month`).
- **Sorting by engagement** — `most commented`.
- **Relationship filters** — `blocked by IKA-42`.

For any of these, rephrase your request or reach for the **Refine** dropdown and the **Sort** control.
