symbol_lookup
Resolve a symbol to its exact or fuzzy definition(s) across C, C++, Python, Rust, TypeScript, Kotlin, and Swift. Get candidates with signatures, locations, and variants to disambiguate before graph or read calls.
Instructions
Resolve a symbol name (or ref/id) to its definition(s) in Rust, TypeScript, Kotlin, C, C++, Python, or Swift — exact or fuzzy. Returns candidates with signatures, locations, logical-symbol grouping (cfg variants), and any bound repo memories. Use to disambiguate before a graph or read call. Generated bindings (codegen, ubrn FFI output) are excluded by default; pass include: ["generated"] to see them. A candidate whose symbol has distilled decision records carries them as distilled_records (labeled unreviewed, capped at 2; empty for almost every symbol).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| ref | No | ||
| lang | No | ||
| limit | No | ||
| symbol | No | ||
| include | No | What to include: `memories` (on by default) and/or `generated` (off by default — opts generated bindings back into the results). Pass `include: []` to suppress memories. | |
| worktree | No | Absolute path of the checkout to scope reads to — pass a linked worktree to read its branch overlay. Defaults to the server's working directory. A path that is not a linked worktree of this repo is silently ignored: results then come from the indexed checkout, with no error. | |
| allow_ambiguous | No |