Claude Code's grep shadow silently drops subdirectory files in allowlist .gitignore repos

sndsgn · ghdev · 2026-10-17

Claude Code's Bash tool replaces grep with embedded ugrep using --ignore-files, triggering a severe bug: in repos with a deny-by-default .gitignore allowlist (, !/, !bin/), recursive searches rooted at a non-. path (absolute or ../repo) silently drop re-included files in subdirectories, while root-level re-includes still match. The result is usually partial with exit status 0, so nothing signals that files were skipped—even files git check-ignore confirms are not ignored. The issue includes a full reproduction script comparing command grep vs the shadowed grep across search roots, and workarounds: use command grep or search from .. Labels: bug, has repro, platform:macos, area:bash; 3 comments so far.

Original post →

More from coding & agent

coding & agent channel →