repo_find_symbol
Look up a symbol or file's node_id by name, or by path and line (the symbols enclosing that line, innermost first, then the file), for feeding into repo_neighbours, repo_read, repo_path_between or repo_blast_radius.
Instructions
Look up a symbol or file's node_id by name, or by path and line (the symbols enclosing that line, innermost first, then the file), for feeding into repo_neighbours, repo_read, repo_path_between or repo_blast_radius. Read-only, deterministic, zero side effects, secret files (.env) excluded. A name matches exactly first, then case-insensitively, then as a qualname's last segment; an ambiguous name returns every candidate, with its path. When to use: you know a name (from a traceback, a grep, a review comment) or a file position and want its node_id with no repo_search round trip. When NOT to use: not for open-ended text search (use repo_search) or for repo layout (use repo_map). Output: JSON array of {node_id, name, qualname, kind, path, start_line, end_line, lang}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Optional exact node kind filter (e.g. 'function', 'class', 'method'). | |
| line | No | Optional 1-based line in `path` (min 1): only the symbols whose span contains it, innermost first, then the file node. | |
| name | No | Symbol or file name to look up (e.g. 'validate_token'). May be omitted when `path` and `line` are given. | |
| path | No | Optional exact repo-relative file path (e.g. 'pkg/mod.py'): only nodes in that file. | |
| limit | No | Maximum candidates returned (default 20, min 1, max 50). | |
| path_prefix | No | Optional path prefix filter, e.g. 'pkg/'. |