Aperçu
Le mode sans interface vous permet d’exécuter Claude Code par programmation à partir de scripts de ligne de commande et d’outils d’automatisation sans aucune interface utilisateur interactive.Utilisation de base
L’interface de ligne de commande principale de Claude Code est la commandeclaude. Utilisez l’indicateur --print (ou -p) pour exécuter en mode non interactif et imprimer le résultat final :
Options de configuration
Le mode sans interface exploite toutes les options CLI disponibles dans Claude Code. Voici les principales pour l’automatisation et les scripts :| Indicateur | Description | Exemple |
|---|---|---|
--print, -p | Exécuter en mode non interactif | claude -p "query" |
--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 "Custom instruction" |
--allowedTools | Liste d’outils autorisés séparés par des espaces, ou chaîne de liste d’outils séparés par des virgules | claude --allowedTools mcp__slack mcp__filesystemclaude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Liste d’outils refusés séparés par des espaces, ou chaîne de liste d’outils refusés séparés par des virgules | claude --disallowedTools mcp__splunk mcp__githubclaude --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 |
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 :Sortie JSON en continu
Diffuse chaque message au fur et à mesure de sa réception :init initial, suivi d’une liste de messages utilisateur et assistant, suivi d’un message système result final avec des statistiques. Chaque message est émis en tant qu’objet JSON distinct.
Formats d’entrée
Entrée texte (par défaut)
Entrée JSON en continu
Un flux de messages fourni viastdin 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 ‘User message’, 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 continu nécessite -p et --output-format stream-json.
Exemples d’intégration d’agent
Bot de réponse aux incidents SRE
Examen de sécurité automatisé
Assistant juridique multi-tours
Bonnes pratiques
-
Utiliser le format de sortie JSON pour l’analyse programmatique des réponses :
-
Gérer les erreurs avec élégance - vérifier les codes de sortie et stderr :
- Utiliser la gestion des sessions pour maintenir le contexte dans les conversations multi-tours
-
Considérer les délais d’expiration pour les opérations longues :
- Respecter les limites de débit lors de plusieurs 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