Troubleshooting
View Logs
ostt logsLogs are stored at ~/.local/state/ostt/ostt.log.* with daily rotation and 7-day retention.
For more detail:
RUST_LOG=debug ostt record
RUST_LOG=debug ostt -p cleanAvailable log levels: error, warn, info (default), debug, trace.
No Audio Input
List devices:
ostt config list-devicesOpen config and set the audio device:
ostt configVolume Meter Never Reaches 100%
Run ostt record, maximize your microphone gain, and note the peak dBFS value. Then set reference_level_db in ~/.config/ostt/ostt.toml to match your audio card's actual maximum:
[audio]
reference_level_db = -12 # Adjust based on observed peakCommon values: -6 (very hot, near clipping), -12 (professional standard), -20 (conservative, typical card max).
GPU Build Running on CPU
If you installed a CUDA or Vulkan build but transcription is slow and CPU usage is high, the GPU backend may not have initialised. Check the logs:
ostt logsA successful GPU run looks like:
daemon: loading model 'whisper/large-v3' with Vulkan GPU acceleration
daemon: backend active: Vulkan GPU acceleration using device(s): 0: AMD Radeon RX 7900 XTX (24576 MB VRAM)If you see this instead:
daemon: backend active: Vulkan GPU acceleration requested, but no GPU devices were reported by ggmlThe Vulkan loader is installed but the GPU driver ICD is missing. Install the Mesa Vulkan driver for your hardware — see GPU Acceleration for per-distro instructions.
If you see a shared library error on startup, the runtime library itself (libvulkan.so.1 or libcuda.so) is missing. Install the driver packages or reinstall OSTT with --no-gpu.
Transcription Fails
Check authentication and selected model:
ostt authThen retry with debug logs:
RUST_LOG=debug ostt recordWhen recording from a popup, OSTT shows setup, microphone, model, API key, local model file, and ffmpeg errors inside the popup. Use the message shown there first; it usually includes the next command to run.
If the message mentions ffmpeg, install ffmpeg with your system package manager, then run ostt record again.
Clipboard Does Not Work
OSTT copies text using the first available clipboard tool. macOS uses pbcopy (built-in). Linux checks wl-copy (Wayland) then xclip (X11).
Clipboard and paste errors are shown directly when you use --clipboard or --paste. If popup output disappears without text being inserted, run ostt launch --paste from a terminal to see the same error in your shell.
If clipboard output fails, install the appropriate tool for your platform:
macOS
pbcopy is built into macOS. No installation needed.
Debian / Ubuntu
sudo apt install wl-clipboard # Wayland
# OR
sudo apt install xclip # X11Arch / Omarchy
sudo pacman -S wl-clipboard # Wayland
# OR
sudo pacman -S xclip # X11Fedora
sudo dnf install wl-clipboard # Wayland
# OR
sudo dnf install xclip # X11Popup Does Not Appear
Test the launch command directly:
ostt launch -cVerify a supported terminal is installed:
which ghostty || which kitty || which alacritty || which foot || which konsole || which gnome-terminal || which xfce4-terminalSet one explicitly if needed:
[popup]
terminal = "ghostty"On GNOME Wayland, the compositor controls window placement so the x and y popup positions are ignored. The popup size (width, height) still works.
On macOS, Terminal.app does not support true color. Install a preferred terminal from the auto-detection list (Ghostty, kitty, or Alacritty).
On Linux, install notify-send if you want desktop notifications when a popup launch fails before the terminal window opens.
Auto-paste Fails on GNOME Wayland
GNOME's Wayland compositor (Mutter) does not support the virtual keyboard protocol that wtype needs, and xdotool cannot target native Wayland apps. OSTT will copy the transcription to your clipboard and show:
Failed to send paste key 'ctrl+v'. Text was copied to the clipboard…
Install ydotool and start ydotoold to enable auto-paste.The simplest workaround is to use -c (clipboard mode) and paste manually with Ctrl+V.
If you want automatic paste on GNOME Wayland, install ydotool. OSTT will use it automatically when it is available — no configuration needed.
Ubuntu / Debian
sudo apt install ydotoolStart the daemon (required for ydotool to work):
sudo systemctl enable --now ydotooldArch Linux
sudo pacman -S ydotool
sudo systemctl enable --now ydotooldFedora
sudo dnf install ydotool
sudo systemctl enable --now ydotooldProcess Action Fails
List configured actions:
ostt process listFor AI actions, check that the external tool is installed and authenticated:
opencode --version # Requires 1.4.3 or newer
claude --version
gemini --version
codex --versionRun with debug logs:
RUST_LOG=debug ostt process cleanBinary Not Found After Install
Shell Installer
The installer places the binary in ~/.local/bin by default (or the directory passed to --install-dir). Ensure that directory is in your PATH:
export PATH="$HOME/.local/bin:$PATH"Add the same line to your shell profile (~/.bashrc, ~/.zshrc, or fish_add_path ~/.local/bin) to make it permanent.
Homebrew
Ensure Homebrew bin is in PATH:
export PATH="$(brew --prefix)/bin:$PATH"Permission Denied
chmod +x /usr/local/bin/osttUnsupported Architecture
Pre-built binaries support x86_64 (Intel/AMD 64-bit) and aarch64 (ARM 64-bit, Apple Silicon, Raspberry Pi 4+). For other architectures, compile from source:
git clone https://github.com/kristoferlund/ostt.git
cd ostt
cargo build --profile dist
sudo cp target/dist/ostt /usr/local/bin/