Troubleshooting
Using Clanker Yap
Troubleshooting
Solutions to common issues with Clanker Yap.
Quick Fixes
Restart the App
Many issues are resolved by restarting:
- Close the application completely
- Wait 5 seconds
- Start again
Check the Logs
Enable verbose logging and check output:
RUST_LOG=trace npm run tauri:dev 2>&1 | head -100
Installation Issues
"Command not found: npm"
Problem: npm is not installed or not in PATH.
Solution:
# Linux (Arch)
sudo pacman -S nodejs npm
# Debian/Ubuntu
sudo apt install nodejs npm
"Rust not found"
Problem: Rust is not installed.
Solution:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
Verify: rustc --version
"Could not run tauri"
Problem: Tauri CLI not installed.
Solution:
npm install
npm run tauri -- --version
Build Issues
"Failed to run build command"
Error:
Error: failed to run custom build command for `webkit2gtk`
Solution:
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel
# Arch
sudo pacman -S webkit2gtk-4.1 libappindicator-gtk3 librsvg
"Linker not found"
Error:
could not find linker (lld or gcc)
Solution:
# Arch
sudo pacman -S base-devel
# Debian/Ubuntu
sudo apt install build-essential
"Package target mismatch"
Error:
package target mismatch for package X
Solution:
cargo clean --manifest-path src-tauri/Cargo.toml
rm -rf node_modules/.cache
npm run tauri:build
Runtime Issues
Hotkey Not Working
Symptoms: Holding hotkey doesn't start recording.
Diagnosis:
- Is another app using the same hotkey?
- Does the app have keyboard permissions?
- Is the app window focused (not minimized)?
Solutions:
-
Check if hotkey works in another app:
- Try a different app with Ctrl+Shift+V
- If it triggers there, change Clanker Yap's hotkey
-
Check whether AppArmor or another Linux security policy is blocking the app.
-
Try a different hotkey:
// In settings, change to something unique // e.g., "Alt+Shift+V" or "Super+H"
Microphone Not Detected
Symptoms: "Microphone unavailable" error or no audio captured.
Diagnosis:
- Check microphone is detected:
# Linux
arecord -l
pactl list sources short
- Check microphone is working elsewhere:
- Open system audio settings
- Test recording with another app
Solutions:
-
Linux: PulseAudio
# Check if PulseAudio is running pulseaudio --check # Restart if needed pulseaudio --kill pulseaudio --start -
Linux: ALSA
# Check default device cat /proc/asound/cards -
Select specific device in app:
- Click Mic in toolbar
- Select your microphone from dropdown
- Save
-
Permission issue:
# Add user to audio group sudo usermod -aG audio $USER # Log out and back in
Repeated Microphone Permission Prompts (Linux)
Symptoms: Desktop/portal microphone permission prompts appear intermittently between push-to-talk cycles.
What changed in current builds:
- Recorder now keeps one long-lived CPAL input stream per recorder worker.
- Push-to-talk no longer opens/closes the input stream each Start/Stop cycle.
- Stream is dropped only on recorder shutdown.
If prompts still appear occasionally:
- Verify you launch via the installed desktop entry/AppImage (not mixed launch paths).
- Ensure no duplicate app instances are running.
- Check portal/session-manager logs for policy prompts from outside Clanker Yap.
Model Not Loading
Error: "Model not found at: /path/to/model.bin"
Diagnosis:
- Does the file exist?
- Is the path correct?
- Is the file readable?
Solutions:
-
Verify file exists:
ls -la ~/.local/share/voice-transcribe/ -
Download model:
mkdir -p ~/.local/share/voice-transcribe curl -L "https://huggingface.co/ggml-org/whisper.cpp/resolve/main/ggml-base.en.bin" \ -o ~/.local/share/voice-transcribe/ggml-base.en.bin ls -lh ~/.local/share/voice-transcribe/ggml-base.en.bin -
Check file permissions:
chmod 644 ~/.local/share/voice-transcribe/ggml-base.en.bin -
Update path in app settings if file is elsewhere
Model Download Fails
Symptoms: Download button doesn't work or stalls.
Solutions:
-
Check internet connection:
ping huggingface.co -
Try manual download:
curl -L --retry 3 "URL" -o output.bin -
Use alternative mirror or download from browser
-
Check disk space:
df -h ~/.local/share/voice-transcribe/
No Text Pasted
Symptoms: Transcription succeeds but text doesn't appear.
Diagnosis:
- Is clipboard being set?
- Is paste simulation working?
- Is target app accepting paste?
Solutions:
-
Check clipboard:
- Open the app, make a transcription
- Manually Ctrl+V in another app
- Does text appear?
-
Try different paste mode:
- Settings → Paste → Edit
- Try "Terminal" mode instead of "Auto" or "Standard"
-
Check target app:
- Try pasting into different apps
- Some apps block simulated paste
-
Manual copy:
- The text is also copied to clipboard
- Manually Ctrl+V to paste
KDE/Wayland "Remote Control" Permission Prompt
Symptoms: KDE shows a "Remote Control — An application is asking for special privileges: Control input devices" dialog.
What is happening: Clanker Yap simulates Ctrl+V to automatically paste transcribed text. On KDE Plasma with Wayland, this requires input-device access through the desktop portal. The prompt is legitimate and expected.
Expected behavior (v0.1.2+):
- You may see one prompt when auto-paste first initialises (typically on your first transcription after launching the app)
- Subsequent transcriptions reuse the same input session — no repeated prompts
If prompts keep appearing:
- Make sure you're running v0.1.2 or later (earlier versions created a new input session on every paste)
- Restart the app to reset the input controller
- If the issue persists, you can disable auto-paste in Settings → Paste → toggle "Auto-paste" off, and paste manually with Ctrl+V
Granting permanent permission (KDE): You can configure KDE to remember the permission:
- When the prompt appears, click "Remember"
- Or go to System Settings → Applications → Clanker Yap → grant "Control input devices"
Audio Quality Issues
Symptoms: Transcriptions are inaccurate or have noise.
Solutions:
-
Speak clearly - Whisper works best with clear speech
-
Reduce background noise - Find a quieter environment
-
Use headphones - Prevents feedback loops
-
Check microphone quality:
# Linux: Test recording arecord -d 5 test.wav aplay test.wav -
Move microphone closer - Reduce distance to mouth
-
Use larger model -
small.enormedium.enhandles noise better
App Won't Start
Symptoms: App crashes on launch or doesn't open window.
Diagnosis:
-
Check for errors:
npm run tauri:dev 2>&1 | head -50 -
Check for existing process:
ps aux | grep clanker killall "Clanker Yap"
Solutions:
-
Delete database and restart:
rm ~/.local/share/voice-transcribe/voice-transcribe.db npm run tauri:dev -
Check for missing dependencies:
ldd ~/.local/share/voice-transcribe/voice-transcribe -
Try debug mode:
RUST_BACKTRACE=1 npm run tauri:dev
Performance Issues
Slow Transcription
Symptoms: Transcription takes too long.
Solutions:
- Use smaller model (e.g.,
baseinstead ofmedium) - Close other applications
- Ensure no CPU-heavy tasks running
- First transcription is always slower (model loading)
High CPU Usage
Symptoms: App uses too much CPU when idle.
Diagnosis:
-
Check what processes are using CPU:
top -p $(pgrep -d',' "voice-transcribe") -
This is normal during transcription, but should be low when idle
Solutions:
- Close other apps
- Check no other recording is happening
Database Issues
Database Locked
Error: "database is locked"
Solution:
- Close any other Clanker Yap instances
- Delete lock file if exists:
rm ~/.local/share/voice-transcribe/voice-transcribe.db-lock
Database Corruption
Error: Database errors on read/write
Solution:
-
Backup existing database:
cp ~/.local/share/voice-transcribe/voice-transcribe.db \ ~/.local/share/voice-transcribe/voice-transcribe.db.bak -
Delete and restart:
rm ~/.local/share/voice-transcribe/voice-transcribe.db npm run tauri:dev
Getting Help
If you can't solve your issue:
- Check existing issues at https://github.com/your-username/clanker-yap/issues
- Create a new issue with:
- Steps to reproduce
- Expected vs actual behavior
- Logs (run with
RUST_LOG=trace) - Platform and version info
Debug Information
Run this to get system info:
echo "=== System Info ===" > debug.txt
uname -a >> debug.txt
echo "=== Rust Version ===" >> debug.txt
rustc --version >> debug.txt
echo "=== Node Version ===" >> debug.txt
node --version >> debug.txt
echo "=== Build Check ===" >> debug.txt
cargo check --manifest-path src-tauri/Cargo.toml 2>&1 >> debug.txt
echo "=== Log ===" >> debug.txt
RUST_LOG=trace npm run tauri:dev 2>&1 | head -100 >> debug.txt
Include debug.txt in your issue.