You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(filesystem): improve search_files description and performance #3419
The search_files tool description is ambiguous — LLMs frequently confuse it with a content search (grep) when it's actually a name-based file finder. This causes failed searches and poor user experience.
Based on the work in PR #897, adapted for the current registerTool() architecture:
Improve search_files tool description to clearly state it searches by file/directory name, not file contents. Clarify that it supports glob patterns and substring matching.
Improve search performance with parallel BFS directory traversal (breadth-first, processing directories in batches) instead of recursive DFS, for better performance in deeply nested directory trees.
Add comprehensive test coverage for the search function, including:
Glob pattern matching
Case sensitivity behavior
Exclude patterns
Directory traversal
Error handling for inaccessible directories
Context
PR #897 implemented these improvements thoroughly but is now stale (merge conflicts after the Nov 2025 architecture refactoring). The valuable ideas and approach should be carried forward in a fresh PR targeting the current codebase (searchFilesByName in lib.ts, registerTool() in index.ts).
Credit: @sebastien-rosset for the original research, implementation, and LLM testing that validated these improvements.
Severity 2: Clarifying that search_files matches file and directory names rather than contents is a worthwhile usability fix that consolidates several earlier reports.
Urgency 2: wanted eventually
Bonuses: +1 assigned
Board: Servers V2 (#43), Status Incoming, awaiting maintainer review (no milestone yet). Part of the backlog triage in #4875.
Activity
alanbork commentedon Mar 23, 2026
I fully agree. This bites me so often I wrote my own custom MCP to provide the much-need substring search functionality (find-all-in-files).
cliffhall commentedon Oct 19, 2026
Triage: Priority Low (total 5)
Board: Servers V2 (#43), Status
Incoming, awaiting maintainer review (no milestone yet). Part of the backlog triage in #4875.cliffhall commentedon Oct 29, 2026
Shipped in #5367, merged into
v2/main; it releases with milestone v2.3.0. Tested together with the rest of the #5269 work in the rollup #5405.