> 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.

# Interruptions d’outils

## Vue d’ensemble

Par défaut, un utilisateur peut interrompre l’agent à tout moment, y compris pendant l’exécution d’un outil. Pour
certains outils, cela n’est pas souhaitable : une confirmation de paiement ou une clause de non-responsabilité lue après une
recherche doit être diffusée intégralement.

Le champ `interruption_mode` contrôle ce comportement pour chaque outil. Il est disponible pour les outils webhook, les outils
client, les outils système et les serveurs MCP.

## Modes d’interruption

| Valeur                         | Libellé du Dashboard            | Comportement                                                                                                                       |
| ------------------------------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `allow`                        | Autoriser                       | L’utilisateur peut interrompre l’agent à tout moment. Il s’agit du paramètre par défaut.                                           |
| `disable_during_tool`          | Désactiver pendant l’exécution  | Les interruptions sont supprimées uniquement pendant l’exécution de l’outil. La réponse de l’agent qui suit peut être interrompue. |
| `disable_during_tool_and_turn` | Désactiver pendant tout le tour | Les interruptions sont supprimées pendant l’exécution de l’outil et pour la réponse de l’agent qui la suit.                        |

Lorsque plusieurs outils s’exécutent en parallèle, le mode le plus strict parmi eux s’applique pour ce tour.

> **Note**
>
> Le champ booléen `disable_interruptions` est obsolète. Utilisez plutôt `interruption_mode`. Les deux
> champs restent synchronisés. Ainsi, `disable_interruptions: true` équivaut à `interruption_mode:
>   "disable_during_tool_and_turn"` et les intégrations existantes continuent de fonctionner sans modification.

## Configuration

#### Mettre à jour via le Dashboard

#### Accéder à la configuration de l’outil

Sélectionnez l’outil à configurer dans l’onglet **Tools**.

#### Définir le mode d’interruption

Ouvrez **Advanced settings** et choisissez une option sous **Interruptions**.

#### Enregistrer votre configuration

Cliquez sur **Save** pour appliquer la modification.

#### Mettre à jour via la CLI

#### Récupérer la configuration de l’outil

```bash
elevenlabs tools pull
```

#### Modifier \`tool_configs/\<tool-name>.json\`

Définissez `interruption_mode` sur l’outil :

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

#### Envoyer vos modifications

```bash
elevenlabs tools push
```

#### Mettre à jour via l’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",
    },
  },
});
```

## Serveurs MCP

Un [serveur MCP](/docs/fr/eleven-agents/customization/tools/mcp) possède son propre `interruption_mode`,
qui s’applique à tous les outils qu’il expose. Chaque outil peut le remplacer via les
`tool_config_overrides` du serveur, où la valeur définie sur un outil est prioritaire sur celle du serveur.

## Bonnes pratiques

* Utilisez `disable_during_tool` lorsque l’appel d’outil doit lui-même être terminé, par exemple pour un transfert ou une
  séquence au clavier, mais que l’utilisateur doit pouvoir interrompre la réponse ensuite.
* Utilisez `disable_during_tool_and_turn` lorsque la réponse qui suit l’outil doit être entendue intégralement,
  par exemple pour une clause de non-responsabilité ou la relecture d’une confirmation.
* Conservez le paramètre `allow` par défaut dans les autres cas, car la suppression des interruptions rend la
  conversation moins réactive.