Describe the bug
Assist speech-to-text consistently fails in the Home Assistant macOS Companion App with speech-to-text failed.
The same Home Assistant Assist pipeline works correctly on the iPhone Companion App and in Safari when Home Assistant is accessed via HTTPS.
The macOS app does capture and transmit audio. Debug logging shows that microVAD successfully detects both the start and end of speech, but STT returns no transcription and ends with an error.
Environment
- Home Assistant Core: 2026.9.0
- Home Assistant macOS Companion App: 2026.9.0 (Build 2026.2874)
- Assist language: German (
de-DE)
- Tested STT providers: Home Assistant Cloud STT and OpenAI STT
- Both STT providers fail in the macOS app
- The same Assist setup works on iPhone
- Safari via HTTPS also works
Steps to reproduce
- Open Assist in the Home Assistant macOS Companion App.
- Select the configured Assist pipeline.
- Start a voice command.
- Speak a short command.
- Speech detection starts and stops normally.
- Assist returns
speech-to-text failed.
Relevant debug output
homeassistant.components.assist_pipeline.audio_enhancer Initialized microVAD
homeassistant.components.assist_pipeline.vad Voice command started
homeassistant.components.assist_pipeline.vad Voice command finished
homeassistant.components.assist_pipeline.pipeline SpeechResult(text=None, result=SpeechResultState.ERROR: 'error')
homeassistant.components.websocket_api.http.connection Received binary message for non-existing handler
The Received binary message for non-existing handler message occurs after the STT result has already returned ERROR, so it may be a consequence of the failed/closed STT stream rather than the initial cause.
Additional information
- Multiple microphone inputs have been tested on the Mac with the same result.
- The microphone itself works normally in other macOS applications.
- Debugging shows that audio reaches Home Assistant and VAD successfully detects speech.
- The macOS app sends binary audio data during the recording.
- The failure occurs after speech has ended, when STT should produce the transcription.
- Changing from Home Assistant Cloud STT to OpenAI STT does not change the behavior.
- The issue also occurred before enabling the Home Assistant 2026.9 Labs Speech-to-Text processing feature.
This appears to be specific to the macOS Companion App/audio path rather than the configured Assist pipeline or STT provider.
Full logs are intentionally not attached because they contain private Home Assistant Cloud URLs, webhook data, device identifiers, and other sensitive information. Relevant excerpts are included above.
Describe the bug
Assist speech-to-text consistently fails in the Home Assistant macOS Companion App with
speech-to-text failed.The same Home Assistant Assist pipeline works correctly on the iPhone Companion App and in Safari when Home Assistant is accessed via HTTPS.
The macOS app does capture and transmit audio. Debug logging shows that microVAD successfully detects both the start and end of speech, but STT returns no transcription and ends with an error.
Environment
de-DE)Steps to reproduce
speech-to-text failed.Relevant debug output
The
Received binary message for non-existing handlermessage occurs after the STT result has already returnedERROR, so it may be a consequence of the failed/closed STT stream rather than the initial cause.Additional information
This appears to be specific to the macOS Companion App/audio path rather than the configured Assist pipeline or STT provider.
Full logs are intentionally not attached because they contain private Home Assistant Cloud URLs, webhook data, device identifiers, and other sensitive information. Relevant excerpts are included above.