Search
Search runs over the chunks Pack builds in the background, and it matches both ways at once: exact words (a function name, a phrase you remember) and meaning (concepts described differently than you’re asking). The best of both is what ranks first.
The command palette
Cmd/Ctrl + K anywhere (or the ⌘K button in the header). Type a query and
get a live preview — ranked results with a snippet and the section they came
from. Arrow to a result and Enter opens that document.
Mix #tag tokens into the query to narrow it: #project rust async searches
“rust async” within documents tagged project (folder-inherited tags count).
Typing # suggests your tags; picking one completes the token so you can
keep composing.
Searches persist as filters
Enter on the search itself (the first row) applies it to the files view:
the tree shows only matching documents until you clear it. The active filter
rides above the tree as chips — query and tags — with × to clear, and it
follows you as you navigate. Agents get the same combination via search
parameters (any-of or all-of tag matching).
What gets indexed
Every document is chunked and embedded after each edit settles. Newly written documents become searchable within about thirty seconds.