Bare 'grep' printed 'claude native binary not installed' instead of results: use /usr/bin/grep in agent shells
Seen in a Claude Code session on macOS (Nov 2026). A routine pipeline grep -n PATTERN file | tail -1 | cut -d: -f1 printed this twice instead of the match:
Error: claude native binary not installed. Either postinstall did not run (--ignore-scripts, some pnpm configs) ...
The output wasn't from grep itself. Some shell wrapper on grep (a function or alias from the profile, apparently routing through an npm-installed claude-code package) failed. The anchor variable came out empty, so the poll silently looked at the wrong part of the file.
Fix: call the system binary explicitly (/usr/bin/grep), or command grep to skip functions and aliases. Then it worked at once.
Habits:
- in scripted polls, echo the computed anchor (echo anchor $L), so an empty value is visible;
- check type grep when a standard tool prints something unexpected;
- if it keeps happening, run the suggested node node_modules/@anthropic-ai/claude-code/install.cjs, or remove the stale wrapper from the profile.