> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Interruzioni degli strumenti

## Panoramica

Per impostazione predefinita, un utente può interrompere l'agente in qualsiasi momento, anche mentre è in esecuzione uno strumento. Per alcuni strumenti questo non è desiderabile: una conferma di pagamento o un disclaimer di conformità letto dopo una ricerca deve essere fornito per intero.

Il campo `interruption_mode` controlla questa impostazione per ogni strumento. È disponibile per gli strumenti webhook, gli strumenti client, gli strumenti di sistema e i server MCP.

## Modalità di interruzione

| Valore                         | Etichetta nella dashboard         | Comportamento                                                                                                                         |
| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `allow`                        | Consenti                          | L'utente può interrompere l'agente in qualsiasi momento. Questa è l'impostazione predefinita.                                         |
| `disable_during_tool`          | Disabilita durante l'esecuzione   | Le interruzioni vengono soppresse solo mentre lo strumento è in esecuzione. La risposta dell'agente successiva può essere interrotta. |
| `disable_during_tool_and_turn` | Disabilita durante l'intero turno | Le interruzioni vengono soppresse mentre lo strumento è in esecuzione e per la risposta dell'agente successiva.                       |

Quando più strumenti vengono eseguiti in parallelo, per quel turno si applica la modalità più restrittiva.

> **Note**
>
> Il campo booleano `disable_interruptions` è deprecato. Usa invece `interruption_mode`. I due campi vengono mantenuti sincronizzati, quindi `disable_interruptions: true` equivale a `interruption_mode:
>   "disable_during_tool_and_turn"` e le integrazioni esistenti continuano a funzionare senza modifiche.

## Configurazione

#### Aggiorna dalla dashboard

#### Vai alla configurazione dello strumento

Seleziona lo strumento che vuoi configurare nella scheda **Tools**.

#### Imposta la modalità di interruzione

Apri **Advanced settings** e scegli un'opzione in **Interruptions**.

#### Salva la configurazione

Fai clic su **Save** per applicare la modifica.

#### Aggiorna tramite CLI

#### Scarica la configurazione dello strumento

```bash
elevenlabs tools pull
```

#### Modifica \`tool\_configs/\<tool-name>.json\`

Imposta `interruption_mode` sullo strumento:

```json
{
  "type": "webhook",
  "name": "confirm_payment",
  "description": "Confirms a pending payment",
  "interruption_mode": "disable_during_tool_and_turn"
}
```

#### Invia le modifiche

```bash
elevenlabs tools push
```

#### Aggiorna tramite API

```python
from elevenlabs import ElevenLabs, ToolRequestModel

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.tools.update(
    tool_id="tool_7101k5zvyjhmfg983brhmhkd98n6",
    request=ToolRequestModel(
        tool_config={
            "type": "webhook",
            "name": "confirm_payment",
            "description": "Confirms a pending payment",
            "interruption_mode": "disable_during_tool_and_turn",
            "api_schema": {
                "url": "https://api.example.com/payments/confirm",
                "method": "POST",
            },
        },
    ),
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.tools.update("tool_7101k5zvyjhmfg983brhmhkd98n6", {
  toolConfig: {
    type: "webhook",
    name: "confirm_payment",
    description: "Confirms a pending payment",
    interruptionMode: "disable_during_tool_and_turn",
    apiSchema: {
      url: "https://api.example.com/payments/confirm",
      method: "POST",
    },
  },
});
```

## Server MCP

Un [server MCP](/docs/it/eleven-agents/customization/tools/mcp) ha un proprio `interruption_mode`, che si applica a ogni strumento esposto. I singoli strumenti possono sovrascriverlo tramite `tool_config_overrides` del server, in cui il valore impostato sullo strumento ha la precedenza sul valore predefinito del server.

## Best practice

* Usa `disable_during_tool` quando la chiamata allo strumento deve essere completata, come nel caso di un trasferimento o di una sequenza di tasti, ma l'utente deve poter interrompere la risposta successiva.
* Usa `disable_during_tool_and_turn` quando la risposta successiva allo strumento deve essere ascoltata per intero, come un disclaimer o la lettura di una conferma.
* Mantieni l'impostazione predefinita `allow` negli altri casi, poiché sopprimere le interruzioni rende la conversazione meno reattiva.