home-assistant/core · error · WakeWordDetectionError
wake-provider-missing
wake-provider-missing
Error message
No wake-word-detection provider for: {entity_id} What it means
WakeWordDetectionError with code 'wake-provider-missing' raised when an entity_id WAS resolved (configured default or pipeline.wake_word_entity) but wake_word.async_get_wake_word_detection_entity returns None for it - the entity id points at something that is not (currently) a loaded wake word detection entity.
Source
Thrown at homeassistant/components/assist_pipeline/pipeline.py:710
pipeline_data = self.hass.data[KEY_ASSIST_PIPELINE]
pipeline_data.pipeline_runs.remove_run(self)
async def prepare_wake_word_detection(self) -> None:
"""Prepare wake-word-detection."""
entity_id = self.pipeline.wake_word_entity or wake_word.async_default_entity(
self.hass
)
if entity_id is None:
raise WakeWordDetectionError(
code="wake-engine-missing",
message="No wake word engine",
)
wake_word_entity = wake_word.async_get_wake_word_detection_entity(
self.hass, entity_id
)
if wake_word_entity is None:
raise WakeWordDetectionError(
code="wake-provider-missing",
message=f"No wake-word-detection provider for: {entity_id}",
)
self.wake_word_entity_id = entity_id
self.wake_word_entity = wake_word_entity
async def wake_word_detection(
self,
stream: AsyncIterable[EnhancedAudioChunk],
audio_chunks_for_stt: list[EnhancedAudioChunk],
) -> wake_word.DetectionResult | None:
"""Run wake-word-detection portion of pipeline. Returns detection result."""
metadata_dict = asdict(
stt.SpeechMetadata(
language="",
format=stt.AudioFormats.WAV,
codec=stt.AudioCodecs.PCM,View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Check the entity exists under Developer Tools -> States and is a wake_word entity; fix pipeline.wake_word_entity or the default entity config.
- Reload the wake word provider integration so its entities register, then retry.
- Clear the pinned entity in pipeline settings to fall back to the auto-detected default.
Defensive patterns
Strategy: validation
Validate before calling
from homeassistant.components import wake_word
def provider_loaded(hass, entity_id: str) -> bool:
return wake_word.async_get_wake_word_detection_entity(hass, entity_id) is not None Try / catch
Catch WakeWordDetectionError and switch on code == 'wake-provider-missing' to re-resolve the default entity or reconfigure pipeline.wake_word_entity, then retry prepare_wake_word_detection.
Prevention
- After renaming/reloading wake word providers, update pipeline.wake_word_entity references.
- Verify the entity exists and is a wake_word entity via async_get_wake_word_detection_entity before use.
- Handle startup ordering: wait for the provider platform to load before preparing runs.
When it happens
Trigger: prepare_wake_word_detection() with a stale pipeline.wake_word_entity (provider renamed, removed, or not yet loaded at call time); entity id of a non-wake-word entity configured by mistake.
Common situations: Wake word provider integration reloaded/renamed after the pipeline was configured; startup race where the pipeline run starts before the provider platform finishes loading; restored config referencing an old entity id.
Related errors
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/3a4c7cd0ed7bcb6d.
Report an issue: GitHub.