# Search & Navigation

# Search & Navigation

Finding cards quickly becomes essential as your project grows. Codecks search does double duty: it filters the cards you're viewing _and_ lets you jump directly to any card or deck in your workspace. You can open it by pressing `/` anywhere in the app or by clicking the search field in the top navigation bar.

## How Search Works

When you type in the search field, Codecks suggests matching filters based on what you're typing. Select a suggestion and it becomes an active filter, appearing as a pill below the search bar. These filters narrow down which cards are displayed in your current view.

You can stack multiple filters to create precise queries. For example, you might filter for cards assigned to you, with high priority, in the current run - all at once.

> Press `Esc` to close the search overlay. If you have active filters, the first `Esc` clears them, and a second `Esc` closes the overlay entirely.

### Negating Filters

Sometimes it's easier to describe what you _don't_ want. Start a search with `!` to reveal all the filter options that can be negated — for example "not owned by Sarah" or "not done". Negated options also work for Smart Nodes on the [Vision Board](https://manual.codecks.io/vision-board/), so you can build boards that exclude certain cards just as easily as including them.

## Filter Categories

### Filtering by Users

Type `@` followed by a name to see user-related filters:

- **Owner** - Find cards assigned to a specific person. You can also select _"no owner"_ to find unassigned cards.
- **Creator** - Find cards created by a specific person.
- **Mentioned** - Find cards where someone is mentioned in conversations.
- **Bookmarked by** - Find cards that a specific user has bookmarked.

> The quick shortcut `q` toggles a filter for your own cards. This works from anywhere in the app (as long as you're not typing in a text field). It's a fast way to see _"just my stuff"_.

### Filtering by Tags

Type `#` followed by the tag name to filter by tags. Codecks recognizes three types of tags:

- **Project Tags** - Tags managed by admins, often with colors or emojis for visual distinction.
- **Personal Tags** - Your own private tags that only you can see.
- **Inline Tags** - Tags written directly in card text using `#tagname`.

When you filter by multiple tags, you can choose how they combine. By default, cards must match _all_ selected tags (AND logic). But when multiple tag filters are active, an _"or"_ pill appears - click it to switch to OR logic, showing cards that have _any_ of the selected tags.

### Filtering by Status

You can filter cards by their [workflow state](https://manual.codecks.io/workflow/):

- `unassigned` - Cards without an owner
- `assigned` - Cards with an owner but not yet started
- `started` - Cards currently being worked on
- `snoozing` - Cards that went quiet for too long
- `blocked` - Cards waiting on something
- `review` - Cards ready for feedback
- `done` - Completed cards
- `archived` - Archived cards (also enables the archive toggle automatically)
- `undone` - A handy filter for all cards _not_ marked as done

### Filtering by Card Type

Quickly narrow down to specific kinds of cards:

- `hero` - [Hero Cards](https://manual.codecks.io/hero-cards/) only
- `subcard` - Sub Cards (cards that belong to a Hero Card)
- `doc` - [Doc Cards](https://manual.codecks.io/doc-cards/)
- `private` - Private [Ghost Cards](https://manual.codecks.io/hand/#ghost-cards)
- `locked` - Cards that are dependency-[locked](https://manual.codecks.io/dependencies/), i.e. they still have undone incoming dependencies and can't be worked on yet
- `locking` - Cards that are dependency-locking others, i.e. they're holding up other cards until they're done
- `coverImage` - Cards that have a cover image set
- `beast` - Beast Cards (cards that have overstayed their welcome in a [Run](https://manual.codecks.io/runs/#beast-mode))

### Filtering by Priority and Effort

When filtering by [priority](https://manual.codecks.io/priority/) or [effort](https://manual.codecks.io/effort/), you can use comparison operators for more flexibility:

- Select a single value for an exact match
- `A+` means priority A or higher (i.e., A and above)
- `C-` means priority C or lower

This is particularly useful when you want to find _"all high priority cards"_ rather than just cards at one specific level.

### Filtering by Location

#### Deck, Project, and Space

You can filter to show only cards from a specific [deck](https://manual.codecks.io/decks/), [project](https://manual.codecks.io/projects/), or Space. Selecting _"no decks"_ shows Ghost Cards that haven't been placed in any deck yet.

#### Zone

If you're using [Manual order with Zones](https://manual.codecks.io/sorting/#manual-order-and-zones), you can filter by specific zones.

### Filtering by Run

[Runs](https://manual.codecks.io/runs/) have several specialized filters that help with sprint planning:

- **Specific Run** - Cards assigned to a particular Run
- **Current Run** - Cards in whatever Run is currently active
- **Future Run** - Cards scheduled for upcoming Runs
- **Past Run** - Cards from Runs that have already ended
- **Not in Run** - Cards that haven't been scheduled for any Run

> Combining _"not in run"_ with a [Milestone](https://manual.codecks.io/milestones/) filter is a great way to find cards that need to be scheduled. You'll see everything committed to the milestone but not yet planned for a specific sprint.

### Filtering by Milestone

Filter by a specific [Milestone](https://manual.codecks.io/milestones/) or select _"no milestone"_ to find cards that haven't been assigned to any milestone.

### Filtering by Hand Status

- `hand` - Cards currently in your [Hand](https://manual.codecks.io/hand/)
- `notHand` - Cards not in your Hand

### Filtering by Due Date

- `dueNow` - Cards due today
- `soon` - Cards due within the next 7 days
- `due` - Any card that has a [due date](https://manual.codecks.io/due-dates/) set

### Filtering by Upvotes

For cards created through community feedback (like [Discord](https://manual.codecks.io/discord/) integration), you can filter by upvote thresholds: `5+`, `10+`, `25+`, or `50+` upvotes.

### Searching Card Content

#### Title Search

Type `t:` followed by your search term to search specifically in card titles:

```
t:player movement
```

#### Full Text Search

Simply type any text without a special trigger to search across card content. This performs a full-text search through card descriptions.

> Search works across non-Latin scripts too. For Latin, Cyrillic, Greek, Arabic, and Hebrew text the search uses word-based matching; for Chinese, Japanese, Korean, and other scripts without spaces between words it automatically falls back to character-based matching.

### Finding Sub Cards

Type `sub:` followed by a card reference or title to find all sub cards of a specific [Hero Card](https://manual.codecks.io/hero-cards/).

## Navigation Commands

Beyond filtering, search provides powerful navigation commands that take you directly to cards and decks. These are especially useful once you get comfortable with them - they're faster than clicking through the UI.

### Jump to Card by ID

Every card in Codecks has a unique ID displayed as a short code like `$ABCD` (you'll see it on mini cards and in the card header). Type `$` followed by the code to jump directly to that card:

```
$CODE
```

This is the fastest way to open a specific card when someone shares a card ID with you or when you've noted one down.

### Jump to Deck

Type `gd:` (short for _"go to deck"_) followed by a deck name to navigate directly to that deck:

```
gd:backlog
```

This searches decks within your currently visible projects. If you need to find a deck in a hidden project, use `gad:` (_"go to any deck"_) instead:

```
gad:archive
```

### Jump to Card by Title

Type `gc:` (_"go to card"_) to search for cards by title and jump directly to one:

```
gc:main menu redesign
```

For searching across all projects including hidden ones, use `gac:` (_"go to any card"_).

> The navigation commands become second nature once you use them a few times. `gd:` and `gc:` in particular can dramatically speed up your workflow - no more clicking through the sidebar to find things.

## Combining Multiple Filters

Filters from different categories combine with AND logic by default. For example, if you select an owner _and_ a priority _and_ a status, you'll see cards matching all three criteria.

For certain categories - tags, titles, and content searches - adding multiple filters from the same category shows an _"or"_ pill. Click it to toggle between AND and OR logic for those specific filters.

## Including Archived Cards

By default, archived cards are hidden from search results to reduce clutter. To include them, look for the _"Archive"_ toggle in the search area and enable it.

When you filter specifically for `archived` status, this toggle is enabled automatically.

## Contextual Search

Search behaves slightly differently depending on where you are in the app:

- **In a Deck** - Filters apply only to cards in that deck
- **In a Milestone** - Filters apply to cards in that milestone
- **In a Run** - Filters apply to cards in that run
- **In the Hand tab** - Filters apply across all your visible projects

You don't need to manually add a deck filter when you're already viewing a specific deck - the context is implicit.

## Quick Reference

| Trigger | What it does       | Example        |
| ------- | ------------------ | -------------- |
| `@`     | Filter by user     | `@sarah`       |
| `#`     | Filter by tag      | `#bug`         |
| `$`     | Jump to card by ID | `$ABCD`        |
| `t:`    | Search card titles | `t:login`      |
| `sub:`  | Find sub cards     | `sub:player`   |
| `gd:`   | Go to deck         | `gd:backlog`   |
| `gad:`  | Go to any deck     | `gad:archive`  |
| `gc:`   | Go to card         | `gc:main menu` |
| `gac:`  | Go to any card     | `gac:settings` |

## Keyboard Shortcuts

| Shortcut    | Action                                      |
| ----------- | ------------------------------------------- |
| `/`         | Open search                                 |
| `Esc`       | Close search or clear filters               |
| `q`         | Toggle _"my cards"_ filter                  |
| `shift+o`   | Open order/sort options                     |
| `shift+t`   | Open tags filter sidebar                    |
| `Backspace` | Remove last filter (when search is focused) |
