pi-everything-search

Pi extension: ultra-fast file search via Everything (voidtools) — replaces slow find/ls/grep

Packages

Package details

extension

Install pi-everything-search from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-everything-search
Package
pi-everything-search
Version
1.1.1
Published
Jul 7, 2026
Downloads
801/mo · 23/wk
Author
cudtmfraggg
License
MIT
Types
extension
Size
38.2 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-everything-search

Pi extension: ultra-fast Windows file search via Everything and es.exe.

It registers everything_search, nudges agents away from slow filename searches, auto-detects Everything instances, and can silently start Everything when IPC is unavailable.

Requirements

  • Windows for Everything runtime search
  • Everything 1.4, 1.5 beta/release, or legacy 1.5 alpha
  • es.exe in PATH
scoop install everything-beta everything-cli

Linux/macOS CI still runs type checks and non-Windows guard tests, but Everything search itself is Windows-only.

Install

pi install npm:pi-everything-search

What it does

Feature Behavior
everything_search tool Search filenames/folders through es.exe with structured results
Auto-start If IPC is unavailable, start Everything.exe -startup silently and retry
Readiness wait Wait for IPC, then run a lightweight JSON query before searching
Instance detection Try default first, then legacy 1.5a for old alpha builds
Soft hints Notify when agent uses slower filename search commands
System prompt Adds concise Windows file-search guidance
Details Returns count, truncation flag, files, detected instance/version, warnings

Tool parameters

Parameter Default Description
query required Everything search query
max_results 100 Result cap, 1-1000
path_filter unset Limit search to a folder; maps to -path
instance auto auto, default, 1.5a, or custom instance name
match_case false Case-sensitive query
regex false Treat query as regex
files_only false Exclude folders; maps to /a-d
sort_by date-modified name, path, size, date-modified
auto_start true Start Everything silently when IPC is unavailable
everything_path auto Full path to Everything.exe if not discoverable
startup_timeout_ms 15000 Wait time for IPC after auto-start
index_ready_timeout_ms 30000 Wait time for query readiness
probe_interval_ms 500 Startup/readiness polling interval
wait_for_index query-ready none, query-ready, or strict

Instance behavior

Value Behavior
unset / auto Probe default instance, then legacy 1.5a
default Force no -instance
1.5a Force legacy alpha instance
custom string Force custom Everything instance name

Search syntax examples

Query Matches
ext:ts TypeScript files
ext:py;js Python and JavaScript files
*.config.* Files with .config. in name
test* Files starting with test
folder:src Items under folders named src

Regex:

{ "query": ".*\.test\.ts$", "regex": true }

Path filter:

{ "query": "ext:dll", "path_filter": "C:\Windows", "files_only": true }

Strict startup/readiness:

{
  "query": "package.json",
  "auto_start": true,
  "wait_for_index": "strict",
  "startup_timeout_ms": 30000,
  "index_ready_timeout_ms": 60000
}

Disable auto-start:

{ "query": "ext:ts", "auto_start": false }

Auto-start details

When es.exe reports IPC not found, the tool:

  1. Locates Everything.exe from everything_path, PATH, Program Files, LocalAppData, or Scoop locations.
  2. Starts it silently with Everything.exe -startup.
  3. Polls es.exe -get-everything-version until IPC is ready.
  4. Runs es.exe -json -n 1 * to confirm query readiness.
  5. Executes the requested search.

wait_for_index: "query-ready" treats readiness timeout as a warning and still attempts the real search. strict fails instead.

Troubleshooting

es.exe not found

Install Everything CLI and ensure es.exe is in PATH.

scoop install everything-cli
where es.exe

Everything.exe not found

Install Everything or pass everything_path.

scoop install everything-beta

Everything IPC not found

Default behavior now tries auto-start. If it still fails:

  • Open Everything manually once.
  • Increase startup_timeout_ms.
  • Check whether Everything and pi run at different privilege levels.

Permission mismatch

If pi/terminal runs elevated while Everything runs as normal user, IPC can fail. Run both at same privilege level.

Legacy 1.5a

Use:

{ "query": "ext:ts", "instance": "1.5a" }

Development

npm ci
npm run check
npm run e2e:non-windows      # Linux/macOS
npm run e2e:windows          # Windows with Everything installed

GitHub Actions run:

  • CI on Windows/Linux/macOS
  • Windows E2E with Everything + es.exe
  • Non-Windows guard E2E
  • npm publish on v* tags

License

MIT