Skip to content

Troubleshooting

Terminal window
skald doctor

Doctor reports session type, desktop, tool availability, config validity, runtime and socket permissions, daemon reachability, ASR model presence, paste backend, secrets status, and privacy flags. Follow printed Suggestions for remediation.

Common suggestions:

  • Run skald setup when first-time configuration is incomplete.
  • Start the daemon: skaldd --foreground or systemctl --user start skaldd.
  • Download a GGML model to the configured asr.model_path.
  • Import the graphical session into systemd when CLI and daemon environments differ.
  • Run skald secrets set openrouter before enabling cleanup.
ScenarioExpected behavior
Missing microphoneStart/toggle returns a clear error
Missing ASR modelDoctor warns; transcribe fails cleanly
Missing preview modelDoctor warns when preview enabled
OpenRouter key missingCleanup preview fails; dictation falls back to raw text
Cleanup timeout / errorRaw transcript used when fallback enabled
Target changes before pasteClipboard-only with notification
Short / silent recordingRejected by audio gates
Locked keyringSecrets status reports unavailable
Daemon restartOverlay/watch reconnect
Stale socket permissionsDoctor reports socket not secure; restart fixes
cannot connect to .../skaldd.sock; is skaldd running?

Start the daemon:

Terminal window
skaldd --foreground
# or
systemctl --user start skaldd

Verify the socket is user-owned mode 0600:

Terminal window
ls -la $XDG_RUNTIME_DIR/skald/skaldd.sock

If asr.gpu = true but skaldd was built CPU-only, model load fails with an unsupported-feature error. Rebuild with just release-cuda or set gpu = false.

  • [privacy] defaults: no storage, no transcript logging
  • skald doctor reports sensitive options when enabled
  • Cleanup off by default; enabling shows a doctor warning
  • Daemon socket mode 0600, runtime dir mode 0700

See the Desktop matrix for the Hyprland 1.0 sign-off and expected behavior on other sessions. Only Hyprland is validated for the first release.