Troubleshooting¶
← Home
- Docker daemon is unavailable
- Docker CLI was not found
- OpenAI authentication errors
- Model was not found
- No results when there should be some
- The filter timed out
- Results look wrong or inconsistent
- Worker image build is slow or fails
- Searches are slow on large trees
- Worker runs out of memory on very large trees
Docker daemon is unavailable¶
Start Docker Desktop (macOS/Windows) or the Docker daemon (Linux) and retry. Verify
with docker info. nfind checks Docker before generating any code, so this fails
fast and costs no API call.
Docker CLI was not found¶
Install Docker (see Installation) and make sure the
docker command is on your PATH.
OpenAI authentication errors¶
If generation fails with an authentication or "missing API key" error, set your key:
The host needs network access to reach the API. (The worker container does not — and shouldn't have network access; that's by design.)
Model was not found¶
error: Model 'gpt-5.0' was not found for the 'openai' provider -- it may be
misspelled or not enabled for your API key. Run 'nfind --list-models' to see
what's available.
The model id in --model is unknown to the provider or not enabled for your key. List
the valid ids and copy one:
nfind --list-models # for the default (OpenAI) provider
nfind --list-models --model groq/x # for another provider
Note this is not the error for OpenAI reasoning/codex models that are served only on
the /responses endpoint (e.g. gpt-5.1-codex-mini) — nfind detects those and switches
endpoints automatically, so they work without any flag. See endpoint
selection.
No results when there should be some¶
- Wrong directory. nfind searches the
PATHargument, defaulting to the current directory. Pass the directory explicitly:nfind "…" ~/Music. - Empty output is valid. Exit code
0with no lines means the filter matched nothing. Inspect what it actually did with--show-code:
- Prompt too narrow or ambiguous. Rephrase more explicitly, e.g. list the extensions you mean: "audio files with extension mp3, flac, or wav".
The filter timed out¶
Content-heavy prompts over large trees can exceed the default limit. Raise it:
If it still times out, narrow the search path or make the prompt more selective.
Results look wrong or inconsistent¶
The filter is generated by a model, so phrasing matters and runs can vary. To diagnose and stabilise:
- Use
--show-codeto see exactly what ran. - Use
--confirmto approve the code first. - Be explicit in the prompt (extensions, thresholds, "directly inside" vs. "anywhere beneath"). See Examples for well-formed prompts.
- A stronger model can help:
nfind "…" --model gpt-4o.
Worker image build is slow or fails¶
The first run builds nfind-search-paths:latest and must pull python:3.11-slim
once, which needs network access. If a build hangs, raise --build-timeout, or
rebuild explicitly:
Searches are slow on large trees¶
nfind enumerates every path under the search root before generating code, and the
filter then runs over that whole list inside the container. For very large trees,
search a more specific subdirectory, or raise --memory / --cpus if the worker is
resource-bound:
Worker runs out of memory on very large trees¶
The paths are serialized to JSON and piped into the container, then deserialized back into a Python list — so the worker holds both the JSON bytes and the list in memory at once. At the default 256 MB limit this can OOM around 500K–1M paths (depending on average path length). Raise the limit:
If the search root is large, also consider narrowing it or using --exclude to prune
subtrees you don't need before the paths reach the container.