Skip to main content

Search operators

One grammar, three places: the search screen, turnlog search, and the MCP search tool. Operators combine with each other and with free text, and any operator works alone. Anything Turnlog does not recognise as an operator stays a search term, so file.ts:12 and https://… never break a query.

Matching

Exact where a name is a literal, fragment where you would not want to type the whole thing. branch:main never matches main-experiment; project:turnlog does match turnlog.landing, which is usually what you want — narrow with the refine chip if not.

Values with spaces

Quote them: tag:"needs review". The quotes are syntax, not part of the value.

Dates

before: and after: take either an ISO prefix or plain words:
after: is inclusive, before: exclusive. A value that is not a date stays a search term rather than silently matching everything.

The two that are not filters

is:error also switches on the recurring-failure band above the results — the same failure grouped across runs. Only error queries pay for that scan. like:<session-id> builds its terms from the target session’s own rarest words and excludes that session’s resume chain. Combine it with text to narrow: like:d987e733 auth.

Combining

Everything AND-s:
With the opt-in trigram index built, the inside words toggle changes matching from whole words to substrings — eWebSock finds useWebSocket. Terms shorter than three characters cannot be served by a trigram index and are dropped; a query made only of them returns nothing rather than silently searching for something else.