Troubleshooting¶
Service Won't Start¶
Check the service status and logs:
dictare service status
dictare logs --last 50
Common causes:
- Port already in use: Another process is using port 8770. Check with
lsof -i :8770and stop the conflicting process. - Missing STT model: Run
dictare models pull <model>to fetch the model, for exampledictare models pull whisper-large-v3-turbo. - Python version mismatch: Dictare uses Python 3.11 from its runtime store. Check
~/.local/share/dictare/current/bin/python --version. If you installed from source, useuv run --python 3.11.
STT Running on CPU Instead of MLX (macOS)¶
If dictare status shows large-v3-turbo on cpu instead of on mlx on Apple Silicon:
-
Check which binary is being used: run
which -a dictare. After setup,~/.local/bin/dictareand/opt/homebrew/bin/dictaremay both exist. That is normal: Homebrew owns the entry point, while Dictare owns the runtime. If the active path points inside.pyenv, a project.venv, or an old Cellar runtime, a stale binary is shadowing the managed runtime. -
Check the active runtime:
readlink ~/.local/share/dictare/current
- Repair the installed service and launcher:
dictare repair
- If MLX extras are missing, reinstall the active runtime with MLX support:
dictare upgrade --reinstall --extras mlx
- Verify:
dictare statusshould now showon mlx.
Hotkey Not Working¶
macOS¶
- Input Monitoring permission: Go to System Settings > Privacy & Security > Input Monitoring. Ensure
Dictare.appis listed and enabled. - If Input Monitoring doesn't work: Select
Dictare.appin the list, click the minus (-) button at the bottom left to remove it, then click plus (+) to re-add it. Browse to~/Applications/Dictare.app. macOS will ask you to quit and relaunch. Accept it, then rundictare repair. - Right Cmd key: The default hotkey is Right Command. Make sure you're pressing the right one.
Linux¶
On Wayland, your user must be in the input group:
groups $USER | grep input
sudo usermod -aG input $USER
# Log out and back in
The default hotkey is Scroll Lock. Not all keyboards have this key; remap in config:
[hotkey]
key = "KEY_CAPSLOCK" # or another key
Keyboard Mode Not Working¶
If Dictare transcribes your voice but nothing is typed into the focused window, check the platform-specific injection requirement.
- macOS: Go to System Settings > Privacy & Security > Accessibility. Ensure
Dictare.appis listed and enabled. - Linux/Wayland: install and run
ydotool, and make sure your user can access/dev/uinput.
No Audio Input¶
# Check audio devices
dictare setup
- Verify the correct input device is selected in
config.tomlor the web dashboard - Test your microphone with another app first
- Check system audio settings (input volume, mute state)
macOS¶
- Microphone permission: Go to System Settings > Privacy & Security > Microphone. Ensure
Dictare.appis listed and enabled. - If using an external microphone, ensure it's selected as the system input device
- Check System Settings > Sound > Input
Linux¶
Check PulseAudio/PipeWire:
pactl list sources short
- Ensure the user has audio group access
Transcription Quality Issues¶
- Try a different model: Switch between
large-v3-turbo,large-v3, andparakeet-v3to find what works best for your accent and language. - Reduce background noise: Move closer to the microphone, use a headset, or reduce ambient noise
Set the language explicitly instead of "auto":
[stt]
language = "en"
Add hotwords for technical terms and names that are often misrecognized. Hotwords are supported by FasterWhisper on Linux/Intel Mac, but not by MLX Whisper or Parakeet.
[stt.advanced]
hotwords = "pytest, FastAPI, OpenVIP, Dictare"
If transcriptions are cut off, increase the silence threshold:
[audio]
silence_ms = 1200 # Default is 850
Agent Not Receiving Input¶
- Check the service is running:
dictare status - Check the agent is connected: The status output shows connected agents
- Check the current voice target: Use the tray current-agent menu, say
agent <session-name>, or press the claim key (Ctrl+\) in the intended terminal - Check output mode: Ensure
mode = "agents"in config.
[output]
mode = "agents"
Web Dashboard Not Loading¶
The dashboard runs at http://localhost:8770/ui. If it's not loading:
- Check the service is running:
dictare service status - Check the port isn't blocked:
curl http://localhost:8770/openvip/status - Check server config.
[server]
host = "127.0.0.1"
port = 8770
TTS Not Working¶
# List available engines
dictare speak --list-engines
# Test with the simplest engine
dictare speak "test" --engine espeak
- macOS: The
sayengine should work out of the box - Linux: Install
espeak-ngfor theespeakengine - Kokoro/Piper/OuteTTS: Requires the engine service and any needed model cache. Check with
dictare models listand download withdictare models pull <model>. - No audio output: Check your output device in config and system audio settings
High CPU Usage¶
- TTS engine: Kokoro and outetts use more CPU than
espeakorsay
For large models on CPU, switch to a smaller model or enable hardware acceleration:
[stt]
model = "small" # Instead of large-v3
hw_accel = true
[stt.advanced]
device = "auto"
compute_type = "int8" # Lower precision, faster
Logs¶
View logs for debugging:
# Follow live logs
dictare logs -f
# Last 100 lines
dictare logs --last 100
# Filter by component
dictare logs --name pipeline
dictare logs --name stt
# TTS-specific logs
dictare logs --tts
# Raw format (no formatting)
dictare logs --raw
Reset Configuration¶
If your config is broken, move it aside and start fresh:
mv ~/.config/dictare/config.toml ~/.config/dictare/config.toml.bak
dictare setup
Getting Help¶
- GitHub Issues — bug reports and feature requests
- GitHub Discussions — questions and community