For the `min_interruption_words` option, the docum...
# ask-ai
s
For the
min_interruption_words
option, the document says:
Copy code
min_interruption_words (int): Minimum number of words to consider
                an interruption, only used if stt enabled. Default 0
What does it mean?
t
Thanks for reaching out, aric. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I’m responding to your question about what the
min_interruption_words
option means. In short: when STT (speech-to-text) is enabled,
min_interruption_words
sets the minimum number of transcribed words a user must speak before their speech can interrupt the agent. If the transcribed utterance has fewer words than this threshold, the agent will not be interrupted even if voice activity is detected. Why this matters: • It prevents very brief or accidental sounds (e.g., “uh”, “no”, “wait”) from interrupting the agent. • It works together with other interruption settings (for example,
min_interruption_duration
): both conditions must be satisfied for an interruption to occur. Examples: • `min_interruption_words = 2`: a one-word utterance like “No” will not interrupt; “Stop there” (two words) will. •
min_interruption_words = 0
(default): any transcribed utterance, even a single word, can interrupt if other conditions (like duration) are met. If you’d like, tell me your typical conversation flow or examples of phrases you want to avoid triggering interruptions for, and I can suggest a good value to use. Sources: Turns overview | LiveKit Documentation | examples/voice_agents | livekit/livekit_composite | DeepWiki
s
but does it require STT for the agent (AgentSession(stt=...)) or stt to be enabled at the turn detection level ?
t
Thanks — I’m answering your follow-up about where STT must be enabled for
min_interruption_words
to work. Short answer: STT must be enabled on the agent session (e.g.,
AgentSession(stt=...)
).
min_interruption_words
only takes effect when the agent has an STT plugin active to produce transcriptions the interruption logic can count. Clarification: • Enabling
turn_detection="stt"
alone does not make
min_interruption_words
work unless the session actually has an STT implementation configured. • The interruption decision uses both audio/VAD rules (like
min_interruption_duration
) and the word count from the agent’s STT transcription (
min_interruption_words
). Both conditions must be satisfied for an interruption to trigger. If you’d like, tell me how you currently construct your
AgentSession
(example config) and I’ll confirm whether your setup will allow
min_interruption_words
to be applied and suggest values. Sources: Turns overview | LiveKit Documentation | Uninterruptable Agent | LiveKit Documentation | examples/voice_agents | livekit/livekit_composite | DeepWiki
s
ok so if I set min_interruption_words is set to 0, what dictates how long the user should speak to interrupt the agent?
t
Thanks — I’m responding to your question about what controls interruption length when
min_interruption_words = 0
. When
min_interruption_words
is set to 0, word-count no longer prevents interruptions, so the interruption decision is based on speech duration and voice-activity detection (VAD). The main parameter that dictates how long the user must speak to interrupt the agent is: • min_interruption_duration — the minimum length of detected speech required to trigger an interruption (default 0.5 seconds). How it works in practice: • VAD detects when the user starts speaking and measures the speech segment duration. • If the detected speech lasts at least
min_interruption_duration
, the agent may be interrupted (assuming
allow_interruptions
is enabled and other interruption rules permit it). • If you use a VAD plugin (for example, Silero VAD), its own settings (like
activation_threshold
or
min_speech_duration
) affect when speech is first detected, but the final interruption still requires meeting
min_interruption_duration
. If you’d like, tell me your current
min_interruption_duration
value and any VAD settings you’re using — I can suggest a combination that reduces false positives while still allowing timely user interruptions. Sources: Turns overview | LiveKit Documentation | VAD and turn detection configuration guide | LiveKit