> ## Documentation Index
> Fetch the complete documentation index at: https://kiro.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Codes de sortie

> Codes de sortie de l'interface CLI pour l'intégration aux scripts et à l'intégration/livraison continues (CI/CD)

L'interface CLI de Kiro renvoie des codes de sortie précis pour indiquer l'état d'une opération. Utilisez-les dans vos scripts et vos pipelines CI/CD pour détecter les réussites, les échecs et certaines conditions d'erreur particulières.

## Référence des codes de sortie

| Code | Nom | Description |
|------|------|-------------|
| 0 | Réussite | La commande s'est terminée avec succès |
| 1 | Échec | Échec général (erreur d'authentification, arguments invalides, opération échouée) |
| 3 | Échec du démarrage MCP | Un serveur requis par `--require-mcp-startup` n'a pas démarré |
| 4 | Agent demandé introuvable | L'agent nommé par une exécution non interactive n'était pas disponible sur le moteur d'agent sélectionné |

## Exiger les serveurs MCP

Par défaut, les échecs des serveurs MCP sont consignés comme des avertissements, mais n'affectent pas le code de sortie. Utilisez `--require-mcp-startup` pour attendre les serveurs MCP configurés avant le début d'une exécution :

```bash
kiro-cli chat --require-mcp-startup --no-interactive "Run task"
```

Si un serveur requis ne démarre pas, Kiro CLI se termine avec le code 3. Dans une exécution V3 non interactive, cela comprend l'échec d'un serveur, un état de démarrage indéterminé ou l'absence d'un état signalé dans les 30 secondes.

**ℹ️ Info:** Utilisez `--require-mcp-startup` dans les pipelines CI/CD où les outils MCP sont essentiels. Cela empêche la tâche de démarrer sans les outils attendus.

## Agent demandé introuvable

Une exécution non interactive (`--no-interactive`, V2 ou V3) se termine avec le code 4 lorsque l'agent qu'elle nomme n'est pas disponible sur le moteur d'agent sélectionné :

- Une exécution nomme un agent avec `--agent` sur l'un ou l'autre des moteurs. Si cet agent est introuvable, l'exécution se termine avec le code 4.
- Sur V3, une nouvelle session utilise aussi l'agent nommé dans le paramètre `chat.defaultAgent`. Si cet agent par défaut configuré n'est pas disponible, l'exécution se termine avec le code 4.
- Une exécution sans agent nommé n'est pas soumise à cette vérification. Cela comprend les sessions reprises sans `--agent`.

Sur V3, un agent nommé qui n'existe qu'au format V2 compte aussi comme non disponible. Dans Kiro CLI 2.37 ou une version ultérieure, une exécution arrêtée affiche `stopping (exit 4)` et, pour un agent au format V2, nomme la commande `kiro-cli agent upgrade <directory>` pour le répertoire de cet agent. Exécutez-la, puis réessayez. Consultez [Mise à niveau des configs d'agent](https://kiro.dev/docs/cli/v3/upgrade-agent.md#mettre-à-niveau-un-répertoire-à-partir-du-shell).

Le code de sortie 4 s'applique quel que soit l'usage de `--trust-all-tools`.

**⚠️ Warning:** Kiro peut détecter l'agent manquant après le début du tour. Dans ce cas, l'agent par défaut intégré peut déjà avoir effectué du travail, y compris des appels d'outils, avant que l'exécution s'arrête avec le code de sortie 4. Toute sortie déjà écrite sur stdout y demeure.

Les autres échecs liés à `--agent` ne se terminent pas avec le code 4. Ils signalent l'erreur et se terminent avec le code 1.

## Exemples de scripts

Gérez différents codes de sortie pour entreprendre l'action appropriée dans votre automatisation :

### Script Bash

```bash
#!/bin/bash
kiro-cli chat --require-mcp-startup --no-interactive --trust-all-tools "Run analysis"
exit_code=$?

case $exit_code in
    0) echo "Success" ;;
    3) echo "MCP servers failed to start"; exit 1 ;;
    4) echo "Requested agent not found"; exit 1 ;;
    *) echo "Failed with code $exit_code"; exit $exit_code ;;
esac
```

### Pipeline CI/CD

```yaml
- name: Run Kiro task
  run: |
    kiro-cli chat --require-mcp-startup --no-interactive --trust-all-tools "Analyze code"
  continue-on-error: false
```

## Codes de sortie des Hooks

Les [Hooks](https://kiro.dev/docs/hooks.md) utilisent un ensemble distinct de codes de sortie pour contrôler l'exécution des outils :

| Code | Comportement |
|------|----------|
| 0 | Le Hook a réussi |
| 2 | (PreToolUse seulement) Bloque l'exécution de l'outil; STDERR renvoyé au grand modèle de langage |
| Autre | Le Hook a échoué; STDERR affiché comme avertissement |

## Bonnes pratiques

- **Utilisez `--require-mcp-startup` en CI/CD** lorsque vos tâches dépendent d'outils MCP
- **Ajoutez une journalisation détaillée** (`-v` ou `-vv`) lors du débogage de problèmes de codes de sortie
- **Vérifiez les codes de sortie explicitement** plutôt que de vous fier à un comportement implicite du shell
- **Séparez les échecs MCP des échecs généraux** pour fournir de meilleurs messages d'erreur aux utilisateurs
