# Troubleshooting
## exit code 64 — no input
You did not pass any file and stdin is a TTY.
Fix: pass a file argument or pipe from stdin.
```bash
whisper-macos-cli transcribe audio.ogg
## exit code 65 — invalid audio data
The audio file is corrupt, encrypted, or uses an unsupported codec.
Fix: verify the file plays in a media player, then re-export it as
uncompressed WAV or standard OGG/Opus.
For video files, exit code 65 also covers:
- `Error::VideoExtractionFailed` — ffmpeg subprocess failed
(timeout, OOM, invalid video stream, etc.)
- `Error::UnsupportedVideoFormat` — the input is a video file
but `--no-ffmpeg-fallback` is set
Fix: install ffmpeg (`brew install ffmpeg`) and retry without
`--no-ffmpeg-fallback`. See [VIDEO-EXTRACTION.md](VIDEO-EXTRACTION.md)
for details.
## exit code 66 — input file not found
The path you provided does not exist or is not readable.
Fix: check the path. Use `ls` to verify the file is present.
## exit code 69 — service unavailable
Either the model download failed, you are on an unsupported
platform, or ffmpeg is not installed and the input is a video
file (or the native OGG/Opus decode failed and the fallback
needs ffmpeg).
Fix:
1. Run `whisper-macos-cli doctor` to see what's wrong
2. Check your network connection
3. Verify you are on macOS with Apple Silicon
4. For video files: install ffmpeg via `brew install ffmpeg`
5. For OGG/Opus fallback: install ffmpeg and remove
`--no-ffmpeg-fallback` if present
6. Use `--ffmpeg-binary <PATH>` if ffmpeg is installed but not
on PATH
## exit code 70 — whisper inference failed
The Whisper model encountered an internal error.
Fix: try a smaller model with `--model base`.
## exit code 74 — I/O error
A low-level I/O failure occurred.
Fix: check disk space, file permissions, and that no other process
holds an exclusive lock on the target file.
## exit code 78 — configuration error
The model is not downloaded or the configuration is invalid.
Fix: run `whisper-macos-cli models download` to install the model.
## Audio Decode
If you see `audio decode failed: probe failed`, the file may be
encrypted (DRM) or use a codec the decoder does not recognize. Run
`whisper-macos-cli doctor` and check the audio format list.
## Model Download
If a model download is interrupted, the temp file (`.bin.tmp`) is
automatically cleaned up. Re-run `whisper-macos-cli models download`
to retry. Up to 3 retries with exponential backoff are attempted.
## Inference Latency
The default `large-v3` model requires approximately 2 GB of unified
memory. On M1, the first inference takes 2-5 seconds for warmup;
subsequent inferences are faster. Use `--model small` for 5x speedup
at the cost of accuracy.
## Air-Gapped Mode
When network access is unavailable, pre-download models and run
with `--offline` to skip the network check. The doctor command will
report network as `fail` but the CLI will still work for local
transcription.
## SIGINT During Long Transcription
Pressing Ctrl+C twice within 1.5 seconds forces immediate exit.
The first Ctrl+C allows in-flight work to complete cleanly.