[BUG] Glob and Grep tools missing from tool palette in 2.1.117 (regression)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Glob and Grep are absent from the tool palette in 2.1.117. The session receives only: Agent, Bash, Edit, Read, ScheduleWakeup, Skill, ToolSearch, Write.
Debug log confirms the cause: dynamic tool loading is active (0/125 deferred tools included), and Glob/Grep are present in neither the base tools nor the 125 deferred tools.
Verified A/B on the same machine, same project:
- 2.1.116: Glob and Grep present in top-level tool list ✓
- 2.1.117: Glob and Grep absent ✗
This is a clean regression — no settings changes between versions. All settings files checked (user global, project, project local): no allowedTools filter, no dynamic tools config.
What Should Happen?
Glob and Grep should be present in the top-level tool palette in all sessions, as they were in 2.1.116 and earlier.
Error Messages/Logs
2026-04-22T14:26:48.559Z [DEBUG] Tool search disabled for model 'claude-haiku-4-5-20251001': model does not support tool_reference blocks. This feature is only available on Claude Sonnet 4+, Opus 4+, and newer models.
2026-04-22T14:26:48.559Z [DEBUG] Dynamic tool loading: 0/125 deferred tools included
Note: (Haiku side-call for session title generation — included to identify tool_reference as the dynamic-loading mechanism; not the failing call)
Steps to Reproduce
- Install Claude Code 2.1.117
- Open any project with MCP servers configured (reproduced with 10 plugins + multiple MCP servers: Grafana, SonarQube, Atlassian, Bitbucket, etc. — 125 tools total)
- Start a new interactive session
- Ask: "Are Glob and Grep tools available?"
- Observe that only
Agent, Bash, Edit, Read, ScheduleWakeup, Skill, ToolSearch, Writeare listed — Glob and Grep are absent - Downgrade to 2.1.116 and repeat — Glob and Grep are present
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.116
Claude Code Version
2.1.117
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
IntelliJ IDEA terminal
Additional Information
ToolSearch cannot locate Glob or Grep among the deferred tools either — they are absent from the registry entirely, not merely deferred:
ToolSearch select:Glob,Grep→ "No matching deferred tools found"- Keyword search for file-search tools returns WebSearch, Confluence, etc. — no Glob or Grep
Install method: native installer (binary at ~/.local/share/claude/versions/, symlinked from ~/.local/bin/claude)
Reproduced in both IntelliJ IDEA terminal and iTerm2 (macOS) .
Platform field: selected "Anthropic API" as closest — no "Claude Code" option in the dropdown. Actual auth is Claude Team subscription (shown as Claude Team · My Org. below)
Additional note: The A/B terminal output in this section was run from /tmp with no project context and no MCP servers loaded — a minimal environment. This means the regression is not specific to projects with large MCP configurations (125 tools). It reproduces with zero MCP servers, which should make it straightforward to reproduce in isolation.
/tmp % ~/.local/share/claude/versions/2.1.117
╭─── Claude Code v2.1.117 ───────────────────────────────────────────────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back Adrian! │ Run /init to create a CLAUDE.md file with instructions for Claude │
│ │ ───────────────────────────────────────────────────────────────── │
│ ▐▛███▜▌ │ Recent activity │
│ ▝▜█████▛▘ │ No recent activity │
│ ▘▘ ▝▝ │ │
│ │ │
│ Opus 4.7 (1M context) · Claude Team · My Org. │ │
│ /private/tmp │ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
❯ Are Grep and Glob tools available?
⏺ No. Looking at my available tools:
- Top-level tools: Agent, Bash, Edit, Read, ScheduleWakeup, Skill, ToolSearch, Write
/tmp % ~/.local/share/claude/versions/2.1.116
╭─── Claude Code v2.1.116 ───────────────────────────────────────────────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back Adrian! │ Run /init to create a CLAUDE.md file with instructions for Claude │
│ │ ───────────────────────────────────────────────────────────────── │
│ ▐▛███▜▌ │ Recent activity │
│ ▝▜█████▛▘ │ No recent activity │
│ ▘▘ ▝▝ │ │
│ │ │
│ Opus 4.7 (1M context) · Claude Team · My Org. │ │
│ /private/tmp │ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
❯ Are Grep and Glob tools available?
⏺ Yes, both are available as built-in tools in this session (listed at the top of my tool set). Grep searches file contents via ripgrep, and Glob matches file paths by pattern.Showing cached comments. Read the full discussion on GitHub ↗
13 Comments
Just hit this bug too! thanks for filing.
Also hit the bug. Crippling for projects where bash is forbidden.
The session ends up spamming exploratory agents to find info. They also largely ignore files referenced from claude.md as a side effect.
This still reproduces in 2.1.118 (released 2026-04-23). Same behaviour — Glob and Grep absent from both the base tool palette and the deferred tools registry.
I use the workaround of directly calling the 2.1.116 version
~/.local/share/claude/versions/2.1.116@wolffiex, I would like to reopen this issue — the 2.1.119 fix does not cover this case.
The changelog entry for 2.1.119 scopes the fix to "when the Bash tool is denied via permissions", but the original repro in this issue has no Bash denial. It still reproduces on a clean install of 2.1.119:
Environment
claude --version→2.1.119 (Claude Code)~/.local/share/claude/versions/2.1.119(native macOS install, arm64)/private/tmp— no project, no.claude/, no MCP servers, noallowedToolsfilter, Bash not deniedObserved
Agent, Bash, Edit, Read, ScheduleWakeup, Skill, ToolSearch, Write— identical to the 2.1.117 reproToolSearch select:Glob,Grepreturns no matches — they are absent from the deferred registry as well, not merely deferredfile search,pattern match, etc.) do not surface them eitherSuggested interpretation
The 2.1.119 fix appears to have addressed one trigger (Bash denied via permissions) but not the underlying path that drops Glob/Grep from the registry entirely. The defect surfaces with zero permission configuration, which suggests the registry-population step is the root cause rather than a permission-filter side effect.
Happy to provide a debug log from this session if useful.
Still reproducible as of 2.1.126. Active tracking in #52121.
Still reproduces in 2.1.128. No change in behaviour — Glob and Grep absent from both base palette and deferred registry. New tool ShareOnboardingGuide appeared in the base palette but does not affect the issue. Active tracking in #52121.
Reporting another data point: still reproducible on Claude Code 2.1.119 on macOS.
Observed symptom on this version:
Grepis missing from the available tool listgrepinstead of the built-inGreptoolThis looks consistent with the tool-palette / tool-registry regression described in this issue, and suggests it persisted beyond 2.1.117.
Still missing as of 2.1.150
Also seeing this issue on 2.1.165. I noticed that it was using an awful lot of
sedandawk, asked it why not useGrepand it said it wasn't available.Reproducing on v2.1.173 (VS Code extension, macOS / Apple Silicon) — still broken, ~56 versions after the v2.1.117 regression, so whatever closed the earlier reports has not landed for the extension.
Symptom: built-in
GrepandGlobare absent from the tool registry. Calling them returns:This is a tool-not-registered error, distinct from the deferral path's
InputValidationError.They are in neither registry, and ToolSearch can't recover them:
The session-init deferred-tools reminder lists
NotebookEdit,TodoWrite,WebFetch,WebSearch, themcp__*families, etc. — but neverGreporGlob. Matches the0/125 deferred tools includedobservation in this thread.ENABLE_TOOL_SEARCH=falsedoes NOT fix it (please note — this is the workaround commonly suggested):ENABLE_TOOL_SEARCH=false, fully restarted the window, confirmedprintenv ENABLE_TOOL_SEARCH→falsein the live shell.Grep/Globstill returnNo such tool availableon the very first tool call of the fresh session.So with tool search disabled there is no deferral machinery, yet the built-ins are still missing — which rules out tool-count-pressure deferral and points at the
tool_referenceloader dropping built-ins unconditionally on this build.Not environment-specific in the ways one might guess: reproduces regardless of MCP server count (others in this thread reproduced with zero MCP servers; I have ~8 connected and see the same thing).
Read,Bash,Edit,Writeremain available throughout.Impact: forces a fallback to
Bashgrep/rg/find, which re-introduces permission-approval friction for any path containing a space and breaks unattended/subagent search flows. The documented--tools Grep,Glob(changelog v2.1.154) is not reachable from the VS Code extension (no settings key / env / arg passthrough).Ask: restore default loading of the built-in
Grep/Globtools on native + VS Code-extension builds, or expose a working toggle the extension can actually set. Happy to provide more detail / debug logs.Still reproducing on 2.1.179 (macOS, Opus 4.8 1M context). This regression appears to have never been fixed — ~62 patch versions after 2.1.117 where it was introduced, the signature
is identical:
Notably, my settings.json permissions.allow list explicitly references Grep(...) and Glob(...) entries, so the tools are expected to exist — they're just never registered for the
session.
Can confirm it's not IDE-specific: occurs both in the JetBrains/PhpStorm integrated terminal and standalone. Downgrading to 2.1.116 is the only known workaround, which isn't practical
this many versions later.
Could a maintainer confirm whether this is on the radar? The dynamic-tool-loading change in 2.1.117 still seems to be the culprit.
https://code.claude.com/docs/en/changelog#2-1-117
https://github.com/anthropics/claude-code/issues/52476
https://github.com/anthropics/claude-code/issues/69849