Mode sans interface
Exécuter Claude Code de manière programmatique sans interface utilisateur interactive
Aperçu
Le mode sans interface vous permet d’exécuter Claude Code de manière programmatique à partir de scripts en ligne de commande et d’outils d’automatisation sans aucune interface utilisateur interactive.
Utilisation de base
L’interface en ligne de commande principale de Claude Code est la commande claude
. Utilisez le drapeau --print
(ou -p
) pour exécuter en mode non-interactif et imprimer le résultat final :
Options de configuration
Le SDK exploite toutes les options CLI disponibles dans Claude Code. Voici les principales pour l’utilisation du SDK :
Drapeau | Description | Exemple |
---|---|---|
--print , -p | Exécuter en mode non-interactif | claude -p "requête" |
--output-format | Spécifier le format de sortie (text , json , stream-json ) | claude -p --output-format json |
--resume , -r | Reprendre une conversation par ID de session | claude --resume abc123 |
--continue , -c | Continuer la conversation la plus récente | claude --continue |
--verbose | Activer la journalisation détaillée | claude --verbose |
--append-system-prompt | Ajouter à l’invite système (uniquement avec --print ) | claude --append-system-prompt "Instruction personnalisée" |
--allowedTools | Liste séparée par des espaces d’outils autorisés, ou chaîne de liste séparée par des virgules d’outils autorisés | claude --allowedTools mcp__slack mcp__filesystem claude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Liste séparée par des espaces d’outils refusés, ou chaîne de liste séparée par des virgules d’outils refusés | claude --disallowedTools mcp__splunk mcp__github claude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | Charger les serveurs MCP à partir d’un fichier JSON | claude --mcp-config servers.json |
--permission-prompt-tool | Outil MCP pour gérer les invites de permission (uniquement avec --print ) | claude --permission-prompt-tool mcp__auth__prompt |
Pour une liste complète des options CLI et des fonctionnalités, consultez la documentation de référence CLI.
Conversations multi-tours
Pour les conversations multi-tours, vous pouvez reprendre des conversations ou continuer à partir de la session la plus récente :
Formats de sortie
Sortie texte (par défaut)
Sortie JSON
Retourne des données structurées incluant les métadonnées :
Format de réponse :
Sortie JSON en streaming
Diffuse chaque message au fur et à mesure qu’il est reçu :
Chaque conversation commence par un message système initial init
, suivi d’une liste de messages utilisateur et assistant, suivi d’un message système final result
avec les statistiques. Chaque message est émis comme un objet JSON séparé.
Formats d’entrée
Entrée texte (par défaut)
Entrée JSON en streaming
Un flux de messages fourni via stdin
où chaque message représente un tour utilisateur. Cela permet plusieurs tours d’une conversation sans relancer le binaire claude
et permet de fournir des conseils au modèle pendant qu’il traite une demande.
Chaque message est un objet JSON ‘Message utilisateur’, suivant le même format que le schéma de message de sortie. Les messages sont formatés en utilisant le format jsonl où chaque ligne d’entrée est un objet JSON complet. L’entrée JSON en streaming nécessite -p
et --output-format stream-json
.
Exemples d’intégration d’agents
Bot de réponse aux incidents SRE
Révision de sécurité automatisée
Assistant juridique multi-tours
Meilleures pratiques
-
Utilisez le format de sortie JSON pour l’analyse programmatique des réponses :
-
Gérez les erreurs avec élégance - vérifiez les codes de sortie et stderr :
-
Utilisez la gestion de session pour maintenir le contexte dans les conversations multi-tours
-
Considérez les timeouts pour les opérations de longue durée :
-
Respectez les limites de taux lors de multiples demandes en ajoutant des délais entre les appels
Ressources connexes
- Utilisation et contrôles CLI - Documentation CLI complète
- Flux de travail courants - Guides étape par étape pour les cas d’usage courants