Built-in `Grep`/`Glob` tools unavailable when `ENABLE_TOOL_SEARCH=1` (not in active set, not discoverable via ToolSearch)

Resolved 💬 2 comments Opened May 29, 2026 by ngc3242 Closed Jun 1, 2026

What happened

With ENABLE_TOOL_SEARCH: "1" set in .claude/settings.json env, the built-in Grep and Glob tools are:

  1. NOT present in the active tool list, and
  2. NOT discoverable via the deferred ToolSearch tool — ToolSearch with query select:Grep,Glob returns No matching deferred tools found.

As a result they are completely inaccessible. The agent repeatedly mis-diagnoses this as "ripgrep is not installed" and falls back to Bash grep, even though ripgrep is installed and working.

Expected

Built-in tools (Grep, Glob, Read, Write, Edit, Bash) should never be deferred/hidden by Tool Search. They should either always be in the active set, or at minimum be discoverable via ToolSearch. There is currently no documented way to pin built-in tools when Tool Search is on (alwaysLoad only applies to MCP servers).

Environment

  • Claude Code: 2.1.156
  • Platform: macOS (darwin 25.4.0)
  • ripgrep: 15.1.0 at /opt/homebrew/bin/rg (installed & working)
  • .claude/settings.json env: "ENABLE_TOOL_SEARCH": "1" (project has 200+ MCP tools)

Repro

  1. Set "ENABLE_TOOL_SEARCH": "1" in project .claude/settings.json env.
  2. Start a session.
  3. Observe Grep/Glob are absent from the active tools and not returned by ToolSearch select:Grep,Glob.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗