what does this mean - `WARNING livekit.agents - sk...
# ask-ai
c
what does this mean -
WARNING livekit.agents - skipping user input, speech scheduling is paused
Tell me all the places where this can happen
t
Thanks for reaching out, Purna. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
You're asking what the warning means and where it can be emitted — I’ll explain the meaning and list the places/conditions that cause it. What it means • The agent received user input (speech or text) but did not schedule/respond because the agent's speech-scheduling mechanism is currently paused. In short: input arrived while speech generation was disabled. Where this can happen • session.input.set_audio_enabled(False) was called ◦ Any code that disables audio input for the session will cause detected audio to be skipped and this warning to appear. ◦ Common when the session is set to text-only or the user toggles audio off. ◦ Reference: Text & transcriptions docs. • During a non-verbal/background job where input is intentionally paused ◦ Developers often disable audio around long-running tasks (e.g., API calls, DB work). If speech arrives while input is paused, the agent skips it and logs the warning. ◦ Use of
session.interrupt()
plus
session.input.set_audio_enabled(False)
during async work fits this case. • Internal agent state:
_scheduling_paused = True
in AgentActivity ◦ AgentActivity has an internal flag that prevents scheduling new speech. When that flag is set, incoming input is ignored and the warning can be logged. ◦ This flag can be toggled during state transitions, error recovery, or interruption handling. • False-interruption recovery window ◦ During false-interruption handling (agent paused while determining whether an interruption was real), speech scheduling can remain paused for the false-interruption timeout; input during that period can trigger the warning. ◦ Controlled by the false interruption timer/timeout. • Misconfigured/custom input handler ◦ Custom
text_input_cb
or handlers that call
session.interrupt()
and disable audio without re-enabling it (e.g., missing
set_audio_enabled(True)
in a
finally
) will leave scheduling paused and cause the warning on subsequent input. How to check and avoid it • Search your code for
set_audio_enabled(False)
,
session.interrupt()
, and places that toggle input. • Ensure any pause is followed by
set_audio_enabled(True)
(use try/finally around async work). • Inspect agent state where
_scheduling_paused
may be set or left true. • Check false-interruption settings if the warning appears briefly during turn transitions. If you want, tell me where you see the warning (logs, timeframe, or relevant code snippets) and I’ll point to the most likely cause and a concrete fix. Sources: Text and transcriptions | LiveKit docs | Agents (Python) | livekit/livekit_composite | DeepWiki | Turn detection and interruptions | LiveKit Docs
l
how to resume the session after : session.interrupt()
t
You're asking how to resume the session after calling
session.interrupt()
. Short answer: • You don't need an explicit "resume" call.
session.interrupt()
stops current agent speech and clears queued speech, and the session automatically returns to listening mode. Generate a new response with
session.generate_reply()
or
session.say()
(or their SDK equivalents) to continue. Notes and tips: • If you paused audio explicitly with
session.input.set_audio_enabled(False)
around the interrupt, re-enable it with
session.input.set_audio_enabled(True)
. • For false-interruption cases, if
resume_false_interruption=True
(default) the agent will automatically resume speaking if no valid transcript appears within
false_interruption_timeout
. • Use try/finally when disabling input during background work to ensure you always re-enable input. If you want, share the language/SDK and a short snippet of your flow and I’ll show the exact code to resume. Sources: Turn detection and interruptions | LiveKit Docs | Agent speech and audio | LiveKit docs