From c5ea5c676b56043ad66549c4a5ea2c7a527fd69a Mon Sep 17 00:00:00 2001 From: chana Date: Mon, 19 Oct 2026 13:45:10 -0700 Subject: [PATCH 1/4] Comment out adaptive interruption mode Self-hosted agents built from the starter opted in to a billed model without saying so. Cloud and dev mode still use adaptive by default. Co-Authored-By: Claude Opus 5.5 --- src/agent.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/agent.py b/src/agent.py index 13f9baf..ceeb5bf 100644 --- a/src/agent.py +++ b/src/agent.py @@ -126,7 +126,10 @@ async def my_agent(ctx: JobContext): turn_detection=inference.TurnDetector(), # Adaptive interruptions use the turn detector to tell a real interruption from a # backchannel like "mhm" or "right", so the agent keeps talking through the latter. - interruption={"mode": "adaptive"}, + # It's on by default on LiveKit Cloud and in dev mode. To use it in a self-hosted agent + # in production, uncomment the following line. Self-hosted usage past the monthly allowance is billed. + # See https://docs.livekit.io/deploy/admin/quotas-and-limits/#adaptive-interruption-handling + # interruption={"mode": "adaptive"}, # allow the LLM to generate a response while waiting for the end of turn # See more at https://docs.livekit.io/agents/build/audio/#preemptive-generation preemptive_generation={"enabled": True}, From 1c8f505bba3581323ec9f5e0c0c1020f5a7b9edb Mon Sep 17 00:00:00 2001 From: chana Date: Mon, 19 Oct 2026 13:52:31 -0700 Subject: [PATCH 2/4] Clarify when to uncomment adaptive interruption mode Reorder the comment so the uncomment instruction sits above the line, and note in the README that adaptive interruption handling is on by default on LiveKit Cloud and in dev mode. Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- src/agent.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f2bfb06..68d9574 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The starter includes: - [Expressive mode](https://docs.livekit.io/agents/models/tts/expressive/), on by default, so your agent's voice carries emotion and pacing that fit the conversation. - [Keyterms](https://docs.livekit.io/agents/models/stt/keyterms/), on by default, so speech recognition gets your names, brands, and jargon right, including names it picks up during the conversation, like a caller's. - [LiveKit Turn Detector](https://docs.livekit.io/agents/logic/turns/turn-detector/), which knows when the user has finished speaking, in 14 languages. -- [Adaptive interruption handling](https://docs.livekit.io/agents/logic/turns/adaptive-interruption-handling/), which tells a real interruption from an "uh-huh" or background noise, so your agent doesn't stop talking when it shouldn't. +- [Adaptive interruption handling](https://docs.livekit.io/agents/logic/turns/adaptive-interruption-handling/), on by default on LiveKit Cloud and in dev mode, which tells a real interruption from an "uh-huh" or background noise, so your agent doesn't stop talking when it shouldn't. - [Background voice cancellation](https://docs.livekit.io/transport/media/noise-cancellation/). - Session transcripts, traces, and recordings from LiveKit [Agent Observability](https://docs.livekit.io/testing/observability/). - [Simulations](https://docs.livekit.io/testing/simulations/) that test full conversations with your agent, run in CI on every merge to `main`. diff --git a/src/agent.py b/src/agent.py index ceeb5bf..44ccaa6 100644 --- a/src/agent.py +++ b/src/agent.py @@ -126,9 +126,9 @@ async def my_agent(ctx: JobContext): turn_detection=inference.TurnDetector(), # Adaptive interruptions use the turn detector to tell a real interruption from a # backchannel like "mhm" or "right", so the agent keeps talking through the latter. - # It's on by default on LiveKit Cloud and in dev mode. To use it in a self-hosted agent - # in production, uncomment the following line. Self-hosted usage past the monthly allowance is billed. - # See https://docs.livekit.io/deploy/admin/quotas-and-limits/#adaptive-interruption-handling + # This model is on by default on LiveKit Cloud and in dev mode. Self-hosted usage past the monthly + # allowance is billed. See https://docs.livekit.io/deploy/admin/quotas-and-limits/#adaptive-interruption-handling for more information. + # To use adaptive interruption handling outside LiveKit Cloud and dev mode, uncomment the next line. # interruption={"mode": "adaptive"}, # allow the LLM to generate a response while waiting for the end of turn # See more at https://docs.livekit.io/agents/build/audio/#preemptive-generation From b26762d3680b58eb8eef47addcd85f827f2c31f8 Mon Sep 17 00:00:00 2001 From: chana Date: Mon, 19 Oct 2026 13:54:48 -0700 Subject: [PATCH 3/4] Name the line to uncomment in the adaptive interruption comment Co-Authored-By: Claude Opus 5.5 --- src/agent.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/agent.py b/src/agent.py index 44ccaa6..906df55 100644 --- a/src/agent.py +++ b/src/agent.py @@ -126,9 +126,9 @@ async def my_agent(ctx: JobContext): turn_detection=inference.TurnDetector(), # Adaptive interruptions use the turn detector to tell a real interruption from a # backchannel like "mhm" or "right", so the agent keeps talking through the latter. - # This model is on by default on LiveKit Cloud and in dev mode. Self-hosted usage past the monthly - # allowance is billed. See https://docs.livekit.io/deploy/admin/quotas-and-limits/#adaptive-interruption-handling for more information. - # To use adaptive interruption handling outside LiveKit Cloud and dev mode, uncomment the next line. + # This model is on by default on LiveKit Cloud and in dev mode. To use the model elsewhere, + # uncomment the `interruption` line. Self-hosted usage past the monthly allowance is billed. + # See https://docs.livekit.io/deploy/admin/quotas-and-limits/#adaptive-interruption-handling for more information. # interruption={"mode": "adaptive"}, # allow the LLM to generate a response while waiting for the end of turn # See more at https://docs.livekit.io/agents/build/audio/#preemptive-generation From 849e3119f8d8d998c5934a1f774c4030174fb125 Mon Sep 17 00:00:00 2001 From: chana Date: Mon, 19 Oct 2026 13:56:18 -0700 Subject: [PATCH 4/4] Restore the README feature bullet Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68d9574..f2bfb06 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The starter includes: - [Expressive mode](https://docs.livekit.io/agents/models/tts/expressive/), on by default, so your agent's voice carries emotion and pacing that fit the conversation. - [Keyterms](https://docs.livekit.io/agents/models/stt/keyterms/), on by default, so speech recognition gets your names, brands, and jargon right, including names it picks up during the conversation, like a caller's. - [LiveKit Turn Detector](https://docs.livekit.io/agents/logic/turns/turn-detector/), which knows when the user has finished speaking, in 14 languages. -- [Adaptive interruption handling](https://docs.livekit.io/agents/logic/turns/adaptive-interruption-handling/), on by default on LiveKit Cloud and in dev mode, which tells a real interruption from an "uh-huh" or background noise, so your agent doesn't stop talking when it shouldn't. +- [Adaptive interruption handling](https://docs.livekit.io/agents/logic/turns/adaptive-interruption-handling/), which tells a real interruption from an "uh-huh" or background noise, so your agent doesn't stop talking when it shouldn't. - [Background voice cancellation](https://docs.livekit.io/transport/media/noise-cancellation/). - Session transcripts, traces, and recordings from LiveKit [Agent Observability](https://docs.livekit.io/testing/observability/). - [Simulations](https://docs.livekit.io/testing/simulations/) that test full conversations with your agent, run in CI on every merge to `main`.