# Undraverse: Search Search is how you find your way around a workspace that has outgrown the sidebar. In the graph, search narrows what you see: type plain words to match titles and text, or stack **chips** like `type:note` and `tag:work` to filter precisely. (Ask an agent a question and it searches the same workspace by meaning, surfacing notes that are *about* what you asked even when the exact words don't match.) Use it to answer questions like: - "Show me notes in this project." - "Show me canvases but not plans." - "Find work items tagged important." - "Focus the graph on one area." :::note Two different "searches" The in-graph **chips** on this page are *filters*: they hide and show nodes that already exist by exact facet (tag, type, path, and so on). The CLI [`undra search`](/docs/reference/cli/) is the *semantic* engine: it ranks items by meaning using a vector index, which is how an agent finds notes that are about your question without the exact words. Same word, two jobs: chips narrow what is shown, semantic search finds what is relevant. ::: ## Simple version Type normal words to search. Add chips like `type:note` or `tag:work` when you want more control. ## Reference Undraverse search uses **chips** (small tokens). Press **Enter** to commit a chip. :::tip Quick rules - **AND** is the default: multiple chips mean "match all" (each chip you add makes the query more specific) - **OR** only works inside a single chip using `|` (example: `tag:work|personal`) - **NOT** uses `-` or `NOT` (example: `-tag:deprecated`) ::: This Quick rules block is the canonical explanation of chip grammar for the whole graph. The [Groups & Presets](/docs/undraverse/groups-and-presets/) page reuses the exact same rules for its group queries and links back here. ## Facets {#facets} | Facet | Meaning | Example | |-------|---------|---------| | `tag` | Match tag | `tag:work` | | `type` | Match type | `type:note` | | `path` | Folder contains | `path:projects/2026` | | `source` | Source contains | `source:slack` | | `id` | Exact ID | `id:plan-123` | ## Operators {#operators} | Operator | Meaning | Example | |----------|---------|---------| | **AND** | Multiple chips mean "match all" | `tag:work type:note` | | **OR** | Only works inside a single chip using a pipe | `tag:work\|personal` | | **NOT** | Prefix with `-` or `NOT ` | `-tag:deprecated`, `NOT type:canvas` | | **Quoted phrase** | Match phrase in name or ID | `"project alpha"` | ## OR lives inside one chip {#or-scope} This is the rule people trip over, so it gets its own section: **OR (`|`) only joins values *within a single facet*.** It cannot join two different chips, and it cannot join two different facets. The pipe lives next to a chip's value, so it can only ever offer alternatives *for that one facet*. There is no "either this chip or that chip" operator across chips, because separate chips are always combined with AND. **This works** (one chip, two values for the same `tag` facet, ORed): ``` tag:work|personal ``` **This does not do what you expect** (looks like "work tags OR notes," but it isn't): ``` tag:work | type:note ``` There is no way to say "either a work tag or a note" in one query. Written as two chips (`tag:work` and `type:note`), the space between them means **AND**, so you get only items that are *both* tagged work *and* of type note. Written as one run-together token (`tag:work|type:note`), the pipe stays inside the `tag` facet, so both halves (`work` and `type:note`) are matched as tag values: nothing is tagged literally `type:note`, so that half matches nothing. Either way, you never get the cross-facet "or" you were reaching for. The takeaway: keep `|` glued to one facet's values (`tag:a|b|c`, `type:note|canvas`, `source:slack|github`). The moment you want to mix *different* facets, AND is your only combiner, so narrow with it instead. ## Examples {#examples} Here are real-world queries you can use. **Work notes that aren't deprecated:** ``` tag:work type:note -tag:deprecated ``` **Slack or GitHub sources related to rendering:** ``` source:slack|github "render" ``` **Anything in 2026 projects folder:** ``` path:projects/2026 ``` **Important work items:** ``` tag:work tag:important ``` **Notes or canvases (not plans):** ``` type:note|canvas -type:plan ``` **Items with specific ID pattern:** ``` id:plan-123 ``` **Recent items from multiple sources:** ``` source:slack|github|email ``` **Exclude archived items:** ``` -tag:archived -path:archive ```