How to detect user silence and timeout after agent speaks

This question originally came up in our Slack community and the thread has been consolidated here for long-term reference.

I’m building a voice agent and running into a silence detection issue.

Problem: After the agent finishes speaking (e.g., greeting message), if the user doesn’t respond, the session just waits indefinitely.

What I need:

  • Detect when the user is silent for X seconds after agent speaks
  • Trigger an action (re-prompt or end session) after timeout

Questions:

  1. Does LiveKit Agents SDK have built-in silence/timeout detection?
  2. What’s the recommended way to handle “user not responding” scenarios?

Have a look at user_away_timeout:

This parameter controls how long to wait before triggering an action when the user is not responding.