Tool · Hermes · Nous Research

search_files

hermes/search-filesCode search · primarysource@63279301bcbdc185c1b07b98a9312eb0c862f26dchecked 2026-09-04
What matters here2 of 3 invariants hold · 1 unverified

The facts the registry marks decision-changing, with how the other implementations answered. An invariant may be shown as pass/fail; a design choice never is, however unusual it looks.

How this differs from most implementations

Derived by comparing every recorded value against the other implementations of the same capability. Differing is not a defect unless the row is marked an invariant.

Description, as the model sees it

Not recorded yet — the verbatim description has not been captured for this tool.

Registered schema

Not recorded yet — the schema as registered has not been captured for this tool.

Observed · Code search

compare all →
FactThis toolAcross all implementations
Shape3 of 3 recorded
What it searchesbothsrc
One tool with a target argument: 'content' greps, 'files' globs.
only one of 20by-content ×9 · by-name ×9 +1
Tools per harnessone toolsrc
The only harness surveyed that does not make the model choose a tool before it has looked.
only one of 20two tools ×18 · no search tool ×1
Search engineripgrepsrclike 2 of 19bundled ripgrep ×6 · bundled fd ×1 +101 unverified
Query language1 of 3 recorded
Regex dialectRust regexsrclike 8 of 11varies by backend: Rust regex, git grep, POSIX, or JS RegExp ×1 · varies by backend: Rust regex, POSIX, or Python re ×1 +1
Glob syntax?8 others recordedripgrep --glob ×4 · fd --glob ×1 +32 unverified
Case sensitivity?6 others recordedsensitive, model can ask ×3 · always insensitive, not configurable ×2 +113 unverified
Result shape3 of 4 recorded
Line numbers in resultsline numbers, or paths only, or countssrc
output_mode picks between them; read_file returns 'LINE_NUM|CONTENT', so the two agree.
only one of 11Line N: ×3 · path:N: ×2 +5
Result cap50 results, paginatedsrc
Plus a 100,000-character ceiling on the whole tool result.
only one of 20100 files ×4 · 100 matches ×3 +10
Announces truncationinvariantholdssrc
"[Hint: Results truncated. Use offset=N to see more, or narrow with a more specific pattern or file_glob.]"
all 18 hold1 unverified
How "no matches" reads?17 others recordedsentence ×16 · empty stdout ×13 unverified
Agreement with read1 of 2 recorded
Search line N is read line Ninvariantholdssrc
Both are 1-indexed.
6 of 7 holdfalse ×12 unverified
Search counts as having read?2 others recordedno read tracking at all ×1 · yes — matched files are recorded as partial reads ×19 unverified
Scope0 of 3 recorded
Respects .gitignore?18 others recordedyes ×8 · no, deliberately ×2 +62 unverified
Searches hidden files?14 others recordedyes ×7 · yes, except .git ×3 +36 unverified
Binary content never enters contextinvariant?2 of 3 holdtrue ×2 · false ×18 unverified
Ordering1 of 1 recorded
Result orderingbounded discovery order; newest-first on requestsrc
order='discovery' is the default and is explicitly a bounded traversal; order='modified' is exact but may scan the whole tree.
only one of 16modification time, newest first ×5 · ripgrep traversal order ×5 +54 unverified

Other tools in Hermes

names verbatim, as registered