changedInput schema / properties / contains / description
Previous value: -"Substring matching, like `grep -F`. DEFAULT IS FALSE, which matches WHOLE IDENTIFIERS ONLY: pattern \"verify_csrf\" does NOT match \"verify_csrf_form_field\", and \"jwks_rps\" does NOT match \"jwks_rps_limit\". Pass true to find a pattern anywhere inside a longer identifier. If a search returns 0, check the response `hint` — it reports how many substring matches exist."New value: +"Substring match (grep -F) instead of whole identifiers"
changedInput schema / properties / dependencies / description
Previous value: -"Include dependency information (imports) in results. **IMPORTANT:** Currently only supported for Rust files — passing this with any other language (typescript, python, go, etc.) will produce no dependency data. Only extracts static imports (string literals); dynamic imports are filtered. See CLAUDE.md for details."New value: +"Attach each file's imports"
changedInput schema / properties / exact / description
Previous value: -"Case-sensitive exact-identifier match. NOTE: substring matching is already OFF by default — use `contains: true` to turn it ON, not this flag."New value: +"Exact symbol name"
changedInput schema / properties / exclude / description
Previous value: -"Exclude files matching glob patterns (e.g., 'target/**') Patterns follow gitignore rules: a pattern containing '/' (src/**/*.rs) is anchored at the index root; a bare name (*.rs, Makefile) matches at any depth; **/src/**/*.rs matches src/ anywhere; * does not cross /."New value: +"Skip paths matching (gitignore rules)"
changedInput schema / properties / expand / description
Previous value: -"Show full symbol body (not just signature)"New value: +"Whole symbol body"
changedInput schema / properties / file / description
Previous value: -"Filter by file path (substring)"New value: +"Only paths containing this substring"
changedInput schema / properties / force / description
Previous value: -"Force execution of potentially expensive queries (bypasses broad query detection)"New value: +"Run a pattern too broad to run by default"
changedInput schema / properties / glob / description
Previous value: -"Include files matching glob patterns (e.g., 'src/**/*.rs') Patterns follow gitignore rules: a pattern containing '/' (src/**/*.rs) is anchored at the index root; a bare name (*.rs, Makefile) matches at any depth; **/src/**/*.rs matches src/ anywhere; * does not cross /."New value: +"Only paths matching (gitignore rules)"
changedInput schema / properties / ignore_case / description
Previous value: -"Match letters regardless of case, like `rg -i` (`ignore_case` + `contains` is `rg -i -F`). Default false. The trigram index is still used, so this costs about the same as a case-sensitive search."New value: +"Case-insensitive (rg -i)"
changedInput schema / properties / include_generated / description
Previous value: -"Also search generated files by name (*.pb.go, *.min.js, *.min.css, *.map, *_generated.*). Indexed but left out unless asked for; `lang: \"generated\"` selects them alone. Default false."New value: +"Also search generated files"
changedInput schema / properties / include_locks / description
Previous value: -"Also search lock files (Cargo.lock, package-lock.json, *.lock, go.sum). They are indexed but left out unless asked for; `lang: \"lock\"` selects them alone. Default false."New value: +"Also search lock files"
changedInput schema / properties / kind / description
Previous value: -"Filter by symbol kind (function, class, struct, etc.)"New value: +"Symbol kind: function, struct, class, trait, …"
changedInput schema / properties / lang / description
Previous value: -"Filter by language: rust, typescript, javascript, go, java, php, kotlin, python, c, cpp, csharp, ruby, vue, svelte, zig — or \"text\" for the plain-text tier (every other non-binary file: docs, config, templates, extensionless), \"lock\" for lock files, \"generated\" for generated files (the last two are excluded unless named or include_locks / include_generated is set)."New value: +"Language filter: rust, python, typescript, text, …"
changedInput schema / properties / limit / description
Previous value: -"Maximum results per page (default: 200, max: 500). The 200-result default covers most find-all tasks in a single call. IMPORTANT: If response.has_more is true, you MUST fetch more pages using offset parameter."New value: +"Max results (default 200, at most 500)"
changedInput schema / properties / mode / description
Previous value: -"Response mode: \"list\" (default) returns full match results; \"count\" returns only {count, pattern} — faster, skips match body serialization."New value: +"count: {count, files} only"
changedInput schema / properties / offset / description
Previous value: -"Pagination offset (skip first N results). ALWAYS paginate when has_more=true. Example: First call offset=0, second call offset=100, third offset=200, etc."New value: +"Skip this many results (next page)"
changedInput schema / properties / paths / description
Previous value: -"Return only unique file paths: the response is `{status, can_trust_results, paths, total_files}` (plus `has_more` when a `limit` cut the list) instead of `{columns, rows}`. Without `limit`, every matching file is listed."New value: +"Return file paths only"
changedInput schema / properties / pattern / description
Previous value: -"Search pattern (text to find)"New value: +"Text to find"
changedInput schema / properties / preview_length / description
Previous value: -"Maximum characters per preview line (default: 180). Use a smaller value (e.g. 60) for wide-result scans where short previews are sufficient."New value: +"Preview characters (default 180)"
changedInput schema / properties / symbols / description
Previous value: -"Symbol-only search (definitions, not usage)"New value: +"Definitions only"