Everything, from voidtools, finds any file on my disks while I am still typing its name. Claude Code has its own file finder, Glob, and next to Everything it feels slow. So I told Claude to switch. It took one small download, one line in CLAUDE.md, and learning a few traps that return nothing without any error.
Why Everything is fast
Everything does not search the disk. It keeps an index of every file and folder name in RAM, and it keeps that index up to date through the NTFS USN Journal, the change log that NTFS writes anyway. Because Windows keeps writing that journal, Everything does not even miss the changes made while it was closed. The index is cheap: the voidtools FAQ says a million files take about 100 MB of RAM.
Claude cannot click in the Everything window, so it uses es.exe, the command-line client. es.exe asks the running Everything for the results and prints them.
The numbers
I timed the same search, all *.dproj files, two ways. find walks the folders one by one. es.exe asks the index.
| Search | find (walks the disk) | es.exe (asks the index) |
| The whole C: drive, 6,809 files | 41.9 s first run, 25.8 s second run | 0.075 s |
c:\Projects, 821 files | 0.9 s | 0.06 s |
On the whole drive that is about 340 times faster (25.8 s / 0.075 s), and that is against the faster second run. Both tools found exactly the same number of files, so the index does not cut corners. For fun: counting every .pas file on my three drives (209,908 of them) took es.exe 0.05 s.
To be fair: inside one project folder the disk walk already finishes in under a second, and there the difference hardly matters. The big win comes when Claude does not know where the file is: another project, a library, a tool somewhere on the disk.
Teaching Claude with one line
I did not want a hook for this, and I did not want 20 more lines in my global CLAUDE.md, because that file is loaded into every session. So the global file got exactly this:
## Find files To find a file by name, use Everything (`es.exe`). It is faster than Glob. See: `c:\Program Files\Total Commander\!Tools\Everything\Claude.md`
158 bytes. The details live in a small Claude.md next to es.exe, and Claude has to open that file only when it needs them. The first version Claude wrote was 1,221 bytes. I told it every byte matters, and it came back with 787 bytes and every warning still in place.
My first idea was different. I keep a catalog of all my tools, one line per tool, and Claude searches it before it writes a new script. es.exe is in that catalog now too. But a catalog line does not create a habit: Claude opens the catalog when it is about to write a script, not when it looks for a file. The line in CLAUDE.md is what changes the default.
The traps
Claude hit most of these on the first day. The rest come from the manual.
- One argument per search word.
es.exe '*.dproj !$Recycle.Bin'returns nothing, with no error. A single argument is searched as one phrase, space included. The manual’s own example:es.exe "abc 123"looks for names that contain abc 123. Pass'*.dproj' '!$Recycle.Bin\'instead. - Deleted files and backups come first. The first hits Claude got were copies in the Recycle Bin and in my backup folder. A
!in front of a word excludes it:'!$Recycle.Bin\'. - Not every drive is in the index. My Everything indexes C:, D: and E:, but not removable or network drives. A search there returns nothing, again with no error. For those drives Claude keeps using Glob.
- Everything must be running. If it is not, es.exe exits with code 8, “The Everything IPC window was not found”. This one comes from the manual. I did not close Everything to test it.
- Names only. Everything does not index what is inside the files. For text inside files, Claude still uses Grep.
The limits
The rule is new, and I have not yet measured deeply how often a fresh Claude session really picks es.exe over Glob.
Copy it
This is the whole Claude.md. Change the path and the backup folder to match your machine:
# Everything (es.exe): find files by name Searches a live index of names on drives C:, D: and E:. For text inside files, use Grep. Bash: ``` "/c/Program Files/Total Commander/!Tools/Everything/es.exe" -n 20 '*.dproj' '!$Recycle.Bin\' '!E:\Backups\' ``` - Each term must be a separate argument: `'*.dproj !$Recycle.Bin'` as one argument finds nothing. - The `!` terms exclude deleted files and backup copies. - Switches: `-path <folder>` (only below it), `-n <max>`, `-get-result-count`, `-size`, `-dm` (date modified), `-sort size`, `-sort dm`, `-regex`. - Use Glob on removable or network drives (not indexed: es.exe finds nothing, silently) and when Everything is not running (es.exe exits with code 8). Manual: https://www.voidtools.com/support/everything/command_line_interface/
es.exe is on the voidtools download page, in the Command-line section. The switches are explained in the command-line manual.