Tool · opencode · anomalyco

grep

opencode/grepCode search · primarysource@8a6cf2c9aa1achecked 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 searchesby-contentsrclike 9 of 20by-name ×9 · both ×1 +1
Tools per harnesstwo toolssrclike 18 of 20no search tool ×1 · one tool ×1
Search enginebundled ripgrepsrc
--no-config, so a user's RIPGREP_CONFIG_PATH cannot change what the agent sees.
like 6 of 19ripgrep ×2 · bundled fd ×1 +101 unverified
Query language1 of 2 recorded
Regex dialectRust regexsrc
No backreferences and no lookaround; such a pattern returns no matches rather than an error.
like 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
Case sensitivity?6 others recordedsensitive, model can ask ×3 · always insensitive, not configurable ×2 +113 unverified
Result shape4 of 4 recorded
Line numbers in resultsLine N:src
Grouped under a path: header, from rg --json.
like 3 of 11path:N: ×2 · line numbers, or paths only, or counts ×1 +5
Result cap100 matchessrclike 3 of 20100 files ×4 · 100 matches or 30KB ×2 +10
Announces truncationinvariantholdssrc
"Found N matches (more matches available)" plus "(Results truncated. Consider using a more specific path or pattern.)".
all 18 hold1 unverified
How "no matches" readssentencesrc
"No files found" — the same string the glob tool uses for an empty result.
like 16 of 17empty 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
Scope2 of 3 recorded
Respects .gitignoreyessrclike 8 of 18no, deliberately ×2 · yes, plus .qwenignore ×2 +52 unverified
Searches hidden filesyes, except .gitsrc
--hidden is passed unconditionally for content search but only on request for glob, so the two halves of this harness disagree about dotfiles.
like 3 of 14yes ×7 · no ×2 +26 unverified
Binary content never enters contextinvariant?2 of 3 holdtrue ×2 · false ×18 unverified
Ordering1 of 1 recorded
Result orderingripgrep traversal ordersrc
No --sort flag, so results arrive in whatever order the parallel walker produces.
like 5 of 16modification time, newest first ×5 · bounded discovery order; newest-first on request ×1 +54 unverified

Other tools in opencode

names verbatim, as registered