Enable verbose logging to diagnose issues like "no audio detected" or transcription failures.
# macOS
/Applications/OpenWhispr.app/Contents/MacOS/OpenWhispr --log-level=debug
# Windows
OpenWhispr.exe --log-level=debugAdd to your .env file and restart:
OPENWHISPR_LOG_LEVEL=debug
Env file locations:
- macOS:
~/Library/Application Support/open-whispr/.env - Windows:
%APPDATA%\open-whispr\.env - Linux:
~/.config/open-whispr/.env($XDG_CONFIG_HOME/open-whispr/.envwhenXDG_CONFIG_HOMEis set)
These are the release-build folders; development and staging builds use their own (see Log File Locations).
Open Settings → System → Debug Logging and turn on Debug mode. It takes effect right away in every window, with no restart, and is saved to the .env file above. The panel then shows the current log file and an Open Logs Folder button.
A --log-level flag (Option 1) takes precedence over the .env file and the toggle for as long as the app runs with it, so the toggle can't change the level in that session.
- macOS:
~/Library/Application Support/open-whispr/logs/debug-*.log - Windows:
%APPDATA%\open-whispr\logs\debug-*.log - Linux:
~/.config/open-whispr/logs/debug-*.log($XDG_CONFIG_HOME/open-whispr/logs/whenXDG_CONFIG_HOMEis set)
These folders are for release builds. Development and staging builds use OpenWhispr-development and OpenWhispr-staging in the same parent folder instead. The Open Logs Folder button (Option 3) always opens the folder for the build you are running.
| Stage | Details |
|---|---|
| FFmpeg | Path resolution, permissions, ASAR unpacking |
| Audio Recording | Permission requests, chunk sizes, audio levels |
| Audio Processing | File creation, Whisper command, process output |
| IPC | Messages between renderer and main process |
| Agent Mode | Streaming responses, conversation management, model selection |
| Meeting Detection | Process monitoring, audio activity, calendar event matching |
| Meeting Transcription | WebSocket connection, Realtime API session, audio buffering |
| Google Calendar | OAuth flow, token refresh, event sync |
| Media Control | Pause/resume events, player detection (MediaRemote/GSMTC/MPRIS2) |
| Audio Storage | File retention, cleanup cycles, storage usage |
Look for:
Speech gate skipped transcriptionwithreason: "silence"→ Audio too quiet;peakRmsshows how loud the recording gotNo text transcribed→ Audio too short, silent, or in an unsupported formatFFmpeg not available→ Path resolution failed
Look for:
whisper-server stderr→ whisper.cpp errorswhisper-server process exitedwith a non-zerocode→ Process failureFailed to parse Whisper output→ Invalid JSON
Look for:
Microphone Access DeniedisExecutable: false→ FFmpeg permission issue
When reporting issues:
- Enable debug mode and reproduce the issue
- Locate the log file
- Redact any sensitive information
- Include relevant log sections in your issue report
Debug mode is off by default. To ensure it's disabled:
- Turn off Debug mode in Settings → System → Debug Logging (this sets
OPENWHISPR_LOG_LEVEL=infoin.env) - Remove
--log-level=debugfrom command - Remove
OPENWHISPR_LOG_LEVELfrom.env