Glob tool fails to match files when pattern starts with a dotdirectory literal

Resolved 💬 3 comments Opened Feb 12, 2026 by msieurthenardier Closed Feb 12, 2026

Description

The Glob tool fails to find files when the pattern contains a literal dotdirectory prefix (e.g., .flightops/ARTIFACTS.md), even though the file exists and can be found via Read or via ** wildcard patterns.

Reproduction

Given a file at /home/user/project/.flightops/ARTIFACTS.md:

| Pattern | Path | Result |
|---------|------|--------|
| .flightops/ARTIFACTS.md | /home/user/project | Not found |
| .flightops/* | /home/user/project | Not found |
| **/ARTIFACTS.md | /home/user/project | Found |

Using Read on the full path /home/user/project/.flightops/ARTIFACTS.md succeeds, confirming the file exists.

Expected behavior

A literal dotdirectory in the glob pattern (e.g., .flightops/ARTIFACTS.md) should match the corresponding directory and file, since the user is explicitly naming it — not relying on wildcard expansion.

Actual behavior

Glob returns "No files found" when the pattern starts with a dotdirectory component, even without any wildcards.

Impact

This caused a false negative when checking for a prerequisite file (.flightops/ARTIFACTS.md), which blocked a workflow that depended on its existence. The workaround is to use Read instead of Glob for known paths, but this is a footgun since the tool silently returns no results rather than erroring.

Environment

  • Claude Code CLI
  • Platform: Linux (WSL2)
  • Model: claude-opus-4-6

View original on GitHub ↗

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