Run diagnostics at any time:
khala doctor
Example output:
Khala Doctor
[ok] Config: /Users/you/.config/khala/config.toml
[ok] OPENAI_API_KEY: set
[ok] khala-rvc: /Users/you/.local/bin/khala-rvc
[ok] RVC lib: /Users/you/RVC-WebUI
[ok] RVC model: /Users/you/.config/khala/rvc/my-voice.pth
[ok] RVC index: /Users/you/.config/khala/rvc/my-voice.index
[ok] HuBERT: /Users/you/.config/khala/rvc/hubert_base.pt
[ok] RMVPE: /Users/you/.config/khala/rvc/rmvpe.pt
All checks passed.
khala start runs these same checks silently before starting. If any check fails, it aborts and tells you to run khala doctor.
khala start fails immediatelyRun khala doctor to see which check failed. Common causes:
OPENAI_API_KEY not set — export the env var or add it to config[rvc].lib empty — set it to your RVC-WebUI directory path.pth and .index to ~/.config/khala/rvc/Khala waits up to 60 seconds for the RVC socket to become available. If it times out:
khala logs
Check rvc-stderr.log for errors. Common causes:
./install.sh rvc[rvc].lib points to the RVC-WebUI root directoryThe model is drifting from its translation-only instructions. Causes and fixes:
[audio]
noise_reduction = "near_field" # or "far_field" for laptop mics
rm ~/.config/khala/prompt.txt
khala start # regenerates default prompt
[openai]
temperature = 0.4
Conversation context may be accumulating. Khala automatically deletes conversation items after each response, but if you see this:
khala start (fresh session)index_rate (lower = less processing), crossfade_time (higher = smoother transitions), or f0method (try pm for faster processing)Lower the VAD timings for faster response:
[vad]
silence_ms = 150 # How quickly to detect end of speech
min_speech_ms = 150 # Minimum speech to trigger translation
Lower values = faster commit, but may split sentences.
Some API errors are expected and silently ignored:
| Error Code | Meaning | Action |
|---|---|---|
input_audio_buffer_commit_empty |
Committed empty audio buffer | Normal — happens on very short pauses |
response_cancel_not_active |
Tried to cancel a non-active response | Normal — race condition |
conversation_already_has_active_response |
Overlapping response request | Normal — queued for later |
item_delete_invalid_item_id |
Tried to delete already-deleted item | Normal — cleanup race |
Other errors are logged in the TUI with full details.
View all RVC logs:
khala logs
Log files are stored at ~/.khala/logs/:
rvc-stdout.log — RVC server standard outputrvc-stderr.log — RVC server errors and warningsTo reset everything:
rm ~/.config/khala/config.toml # Reset config
rm ~/.config/khala/prompt.txt # Reset translation prompt
khala start # Regenerates both with defaults