Troubleshooting¶
The three failures below account for almost every run that will not start. Each entry shows the symptom first, then the fix. When in doubt, run the built-in pre-flight check; it tests exactly the two external pieces (ExifTool and the model server) that these failures come from:
"exiftool not found"¶
Symptom: the run (or doctor) fails immediately with a message that exiftool was not found.
photo-tagger shells out to the ExifTool binary for all metadata reads and writes, and it does not bundle it. Install it with your system package manager:
or download a build for your platform from exiftool.org. See Installation for more package managers.
After installing, the binary must be discoverable: either on your PATH (check with
exiftool -ver), or pointed at explicitly. If it lives somewhere unusual, set the exiftool_path
key in your config file or the
PHOTO_TAGGER_EXIFTOOL environment variable (the env var wins) to the full path of the binary.
Note
The desktop GUI, when launched from Finder on macOS, automatically inherits the PATH your login
shell would set, so a Homebrew or MacPorts ExifTool is found even though Finder gives apps a minimal
PATH.
Connection refused / could not list models¶
Symptom: the run fails with a connection error, or doctor reports it could not reach the
provider or list its models.
photo-tagger needs a running model server. Check, in order:
-
Is the server actually running? Start Ollama, LM Studio's server, or
llama-serverfirst. Theopenaiprovider talks to a hosted API, so there check your network and API key instead. -
Is it on the port photo-tagger expects? Each provider has a default base URL:
Provider Default base URL Ollama http://localhost:11434/v1LM Studio http://localhost:1234/v1llama.cpp http://localhost:8080/v1OpenAI https://api.openai.com/v1 -
Overriding the URL? If your server listens elsewhere (a different port, a remote host), pass
-u/--urlor set the provider's env var (OLLAMA_BASE_URL,LM_STUDIO_BASE_URL,LLAMA_CPP_BASE_URL, orOPENAI_BASE_URL).
Then confirm the fix with photo-tagger doctor --provider <name>.
"Model 'X' not available"¶
Symptom: the provider is reachable, but the run stops with a message that the requested model is not available on it.
photo-tagger validates the -m/--model identifier against what the server actually serves before
processing any photo, so a typo or a model that was never pulled fails fast. To fix it:
- List what the server serves.
photo-tagger doctorprints the available models when the check fails; in the GUI, press the Refresh button next to the model dropdown. - Pull or load the model first. With Ollama,
ollama pull <model>; with LM Studio, download the model in its UI and load it into the server; with llama.cpp, startllama-serverwith the model file. - Match the id exactly. The identifier must match the server's spelling, including any namespace
or tag (for example
qwen/qwen3-vl-30borllava:34b).