Search backend unification and read-only path relaxation
- Date: 2026-08-06
- Commit:
refactor(search): switch find to a single Rust backend and relax read-only paths - Version cue:
0.12.1-alpha.3
Previously, find tried to download a managed fd binary when fd wasn't on the system, otherwise it fell back to a built-in fallback; meanwhile, read-only tools like read / grep / find / list_dir / view_image could only access paths inside the current workspace, and anything outside always failed. This change unifies search path access under a single Rust backend and relaxes the path boundary for read-only tools.
What changed
-
findnow uses a single Rust backend
findno longer depends on a system or managedfdbinary — it consistently uses the built-inignore+globsetbackend for path matching. It works identically whether or notfdis present, and removes one more binary to download / authorize. -
Read-only tools can access existing paths outside the workspace
Read-only tools (read/grep/find/list_dir/view_image) can now access existing paths outside the workspace, no longer forced inside it. The boundaries forwrite/edit/bash(working directory) are unchanged — they still only operate inside the workspace. -
allow_managed_fdconfig removed
Theallow_managed_fdoption is gone; onlyallow_managed_rgremains.allow_managed_rgnow takes three forms: omitted means ask when a download is actually needed;trueallows download / rebuild;falsedisables managed ripgrep (Hunea then still prefers thePATH/ bundledrg, and only falls back to the Rust backend when neither is available). -
Streaming grep built-in fallback
Thegrepbuilt-in fallback is now implemented withgrep-searcherin a streaming fashion and supports an external search root — more memory-efficient and faster at producing results when searching large directories.
Notes
- Path boundaries and usage guidance for file tools are in File tools.
- If the
config.tomlexample still includesallow_managed_fd, trust this entry; it will be synced later.