> This page is for Voice APIs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://dev.hume.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.hume.ai/_mcp/server.

# Pause Responses

The pausing feature allows you to halt EVI’s audio output while keeping the session active, which is
useful for managing conversation flow. For instance, a developer might create a button that lets users
pause EVI’s responses if they need time to brainstorm or reflect without interruption. During this pause,
EVI continues to listen and transcribe, allowing the user to interject or resume the conversation without
disrupting the session. When the user is ready, they can resume EVI’s response to continue the interaction
seamlessly.

## How to pause responses

To pause EVI’s responses, send a [pause\_assistant\_message](/reference/speech-to-speech-evi/chat#send.PauseAssistantMessage),
which holds all Assistant messages until a [resume\_assistant\_message](/reference/speech-to-speech-evi/chat#send.ResumeAssistantMessage)
is received. When resumed, EVI responds with consideration of any user input received during the pause.

#### Next.js

```tsx
import React from 'react';
import { useVoice } from "@humeai/voice-react";

export default function Controls() {
  const { pauseAssistant, resumeAssistant } = useVoice();

  return (
    <div>
      <button onClick={pauseAssistant}>Pause EVI</button>
      <button onClick={resumeAssistant}>Resume EVI</button>
    </div>
  );
}
```

#### TypeScript

```TypeScript
import { HumeClient } from 'hume';

const client = new HumeClient({ apiKey: '<HUME_API_KEY>' });
const socket = await client.empathicVoice.chat.connect();
// Sending a pause_assistant_message
socket.pauseAssistant();
// Sending a resume_assistant_message
socket.resumeAssistant();
```

#### Python

```Python
import asyncio
from hume import HumeClient

async def main():
    client = HumeClient("YOUR_API_KEY")
    socket = client.empathic_voice_interface

    async with socket.connect() as websocket:
        # Sending a pause_assistant_message
        await websocket.pause_assistant_message()
        # Sending a resume_assistant_message
        await websocket.resume_assistant_message()

asyncio.run(main())
```

## EVI while paused

* **Response generation stops**: EVI stops the generation and sending of new responses. ([assistant\_message](/reference/speech-to-speech-evi/chat#receive.AssistantMessage)
  and [audio\_output](/reference/speech-to-speech-evi/chat#receive.AudioOutput) messages will
  not be received while paused.)
* **Tool use is disabled**: Any response involving tool use will also be disabled while paused. ([tool\_call\_message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage),
  [tool\_response\_message](/reference/speech-to-speech-evi/chat#receive.ToolResponseMessage),
  and [tool\_error\_message](/reference/speech-to-speech-evi/chat#receive.ToolErrorMessage)
  messages will not be received while paused.)
* **Queued messages sent**: Messages and audio queued before the `pause_assistant_message` are still processed and sent.
* **Continued listening**: EVI continues to “listen” and transcribe user input during the pause. Transcription of user
  audio is saved and sent to the LLM as User messages.

> **Warning**
>
> Charges will continue to accrue while EVI is paused. If you wish to completely pause both input
> and output you should instead disconnect and [resume](/docs/speech-to-speech-evi/features/resume-chats)
> the chat when ready.

## EVI when resumed

When EVI receives a `resume_assistant_message`, it generates a response that takes into account all user
input received during the pause.

* **Pausing vs. muting**: Pausing EVI’s responses is distinct from muting user input. With muted input,
  EVI does not “hear” the user's audio and therefore cannot respond to it. While paused, however, EVI continues
  to process user input and can respond when resumed.
* **Response to paused input**: Upon resuming, EVI may respond to multiple points or questions raised during the pause.
  However, by default, EVI prioritizes the latest user input rather than attempting to address all earlier points.
  For instance, if the user asks two questions while EVI is paused, EVI will generally respond to the second
  question, unless instructed to address each item.

---