La CLI s’appelait auparavant « mode sans interface ». Le flag
-p et toutes les options CLI fonctionnent de la même manière.-p avec votre prompt et toute option CLI :
claude -p). Pour les packages SDK Python et TypeScript avec sorties structurées, callbacks d’approbation d’outils et objets de message natifs, consultez la documentation complète de l’Agent SDK.
Utilisation basique
Ajoutez le flag-p (ou --print) à n’importe quelle commande claude pour l’exécuter de manière non-interactive. Toutes les options CLI fonctionnent avec -p, notamment :
--continuepour continuer les conversations--allowedToolspour approuver automatiquement les outils--output-formatpour obtenir une sortie structurée
Exemples
Ces exemples mettent en évidence les modèles CLI courants.Obtenir une sortie structurée
Utilisez--output-format pour contrôler la façon dont les réponses sont retournées :
text(par défaut) : sortie en texte brutjson: JSON structuré avec résultat, ID de session et métadonnéesstream-json: JSON délimité par des sauts de ligne pour le streaming en temps réel
result :
--output-format json avec --json-schema et une définition JSON Schema. La réponse inclut les métadonnées sur la requête (ID de session, utilisation, etc.) avec la sortie structurée dans le champ structured_output.
Cet exemple extrait les noms de fonctions et les retourne sous forme de tableau de chaînes :
Réponses en streaming
Utilisez--output-format stream-json avec --verbose et --include-partial-messages pour recevoir les tokens au fur et à mesure qu’ils sont générés. Chaque ligne est un objet JSON représentant un événement :
-r affiche les chaînes brutes (sans guillemets) et -j joint sans sauts de ligne pour que les tokens se diffusent en continu :
Approuver automatiquement les outils
Utilisez--allowedTools pour permettre à Claude d’utiliser certains outils sans demander. Cet exemple exécute une suite de tests et corrige les défaillances, permettant à Claude d’exécuter des commandes Bash et de lire/modifier des fichiers sans demander la permission :
Créer un commit
Cet exemple examine les modifications mises en scène et crée un commit avec un message approprié :--allowedTools utilise la syntaxe des règles de permission. L’espace * à la fin active la correspondance de préfixe, donc Bash(git diff *) autorise n’importe quelle commande commençant par git diff. L’espace avant * est important : sans lui, Bash(git diff*) correspondrait également à git diff-index.
Les skills invoquées par l’utilisateur comme
/commit et les commandes intégrées ne sont disponibles qu’en mode interactif. En mode -p, décrivez plutôt la tâche que vous souhaitez accomplir.Personnaliser le prompt système
Utilisez--append-system-prompt pour ajouter des instructions tout en conservant le comportement par défaut de Claude Code. Cet exemple envoie un diff de PR à Claude et lui demande de vérifier les vulnérabilités de sécurité :
--system-prompt pour remplacer complètement le prompt par défaut.
Continuer les conversations
Utilisez--continue pour continuer la conversation la plus récente, ou --resume avec un ID de session pour continuer une conversation spécifique. Cet exemple exécute un examen, puis envoie des prompts de suivi :
Étapes suivantes
- Démarrage rapide de l’Agent SDK : créez votre premier agent avec Python ou TypeScript
- Référence CLI : tous les flags et options CLI
- GitHub Actions : utilisez l’Agent SDK dans les workflows GitHub
- GitLab CI/CD : utilisez l’Agent SDK dans les pipelines GitLab