steep-mechanic-38687
02/25/2026, 9:17 PMmin_interruption_duration: float = 0.5, but it's not respected. Even a 0.3 secs speech interrupts the agent. Why?tall-airline-16756
02/25/2026, 9:17 PMtall-airline-16756
02/25/2026, 9:17 PMmin_interruption_duration = 0.5 but 0.3 s of user speech still interrupts the agent. Let’s walk through why that can happen and what to check to make sure the threshold is actually enforced.
Why short speech can still trigger an interruption
• VAD (Silero VAD) sensitivity and timing: the VAD can mark very short audio bursts as “speech” depending on its settings (e.g., activation_threshold, min_speech_duration). If those are low, brief utterances get flagged and enter the interruption pipeline.
• Audio framing and buffering: audio is processed in chunks/frames. Buffering, frame size or network jitter can make a 0.3 s utterance appear longer (or be detected earlier) so it meets the 0.5 s check in practice.
• Order of checks: min_interruption_duration is applied after VAD detects speech. If VAD signals speech early or partial transcripts arrive while detection is still settling, timing mismatches can make the duration check appear ineffective.
• Other interruption conditions: interruption uses a set of conditions (duration ≥ min_interruption_duration, transcript word count vs min_interruption_words, allow_interruptions=True, and VAD detection). With min_interruption_words defaulting to 0, duration and VAD behaviour become the decisive factors.
What to check next (quick troubleshooting)
1. Confirm VAD settings
◦ Check your Silero VAD configuration (look for activation_threshold, min_speech_duration, or similar). If min_speech_duration is lower than 0.5 s, raise it so VAD won’t classify very short bursts as speech.
1. Verify where you set min_interruption_duration
◦ Ensure it’s set on the `AgentSession`/agent-level interruption settings and isn’t being overridden elsewhere in your code or runtime config.
1. Increase thresholds to test behavior
◦ Temporarily increase min_interruption_duration (for example to 0.8–1.0 s) and see if 0.3 s still interrupts. If it stops interrupting, timing/VAD is almost certainly the cause.
1. Enable debug logging
◦ Turn on VAD and interruption debug logs to see the timestamps for VAD start/end, when transcripts arrive, and when the interruption decision is made. This will show whether the speech duration measurement or early VAD activation is the issue.
1. Consider min_interruption_words
◦ If short noises are still triggering interruptions, set min_interruption_words > 0 so only spoken words (not brief noises) can interrupt.
If you’d like, I can help dig into your current config: please share the VAD settings you’re using, where you set min_interruption_duration (code snippet or config), and whether you can enable debug logs and paste the relevant log lines showing VAD start/end and interruption decisions. With that I can point to the exact mismatch and recommend specific values.
Sources: examples/voice_agents | livekit/livekit_composite | DeepWiki | Silero VAD plugin | LiveKit Documentation | Turns overview | LiveKit Documentation | Interrupt User | LiveKit Documentation