Force End Turn
The ForceEndTurn message is a JSON message that ends the current turn immediately.
ForceEndTurn requires a Deepgram V2 (Flux) listen provider — set agent.listen.provider.version to v2 in the Settings message. With any other listen provider the server replies with a FORCE_END_TURN_UNSUPPORTED warning and the turn does not end.
Purpose
Some turn endings are unambiguous and don’t require the model to infer them. ForceEndTurn gives your application an explicit override:
- Push-to-talk release — the user holds a button to speak and releases when done.
- DTMF tones and IVR events — a keypad press or menu selection ends the turn.
- UI actions — a “send” button or other application event marks the utterance complete.
- Your own turn detection — you run a VAD or endpointing stack and want to own turn taking entirely. Pair
ForceEndTurnwitheot_threshold: 1.0to suppress natural end-of-turn detection. See Bring Your Own Turn Detection.
Example Payloads
To send the ForceEndTurn message, send the following JSON message to the server. The message has no additional fields — it applies to the turn currently in progress.
The agent ends the turn as if end-of-turn had been detected naturally: the ConversationText message for the user turn is sent, followed by AgentThinking and the agent’s spoken response.
Behavior
- No turn in progress — the message is ignored. No turn ends and no warning is sent.
- Listen provider is not Deepgram V2 (Flux) — the server sends a
FORCE_END_TURN_UNSUPPORTEDwarning and the turn does not end. - Repeated messages — the first ends the turn; later messages arrive with no turn in progress and are ignored.
Related Resources
- Flux Force End Turn - The underlying Flux
ForceEndTurncontrol message - Bring Your Own Turn Detection - Own turn taking with
eot_threshold: 1.0andForceEndTurn - Update Listen - Adjust end-of-turn thresholds mid-session
- Errors & Warnings -
FORCE_END_TURN_UNSUPPORTEDand other warning codes