/. Ces commandes peuvent être envoyées via le SDK pour effectuer des actions comme compacter le contexte, lister l’utilisation du contexte ou invoquer des commandes personnalisées. Seules les commandes qui fonctionnent sans terminal interactif peuvent être envoyées via le SDK ; le message system/init liste celles disponibles dans votre session.
Découvrir les Slash Commands Disponibles
Le Claude Agent SDK fournit des informations sur les slash commands disponibles dans le message d’initialisation du système. Accédez à ces informations au démarrage de votre session :Envoyer des Slash Commands
Envoyez des slash commands en les incluant dans votre chaîne de prompt, comme du texte ordinaire. Les commandes qui agissent sur l’historique de la conversation, telles que/compact, ont besoin de messages antérieurs pour fonctionner, donc les exemples ci-dessous posent d’abord une question, puis envoient la commande comme suivi à la même conversation :
Une requête peut se terminer par un résultat d’erreur, par exemple lorsque la limite
maxTurns / max_turns est atteinte avant la fin du travail. Le message de résultat final a alors is_error: true et un sous-type d’erreur tel que error_max_turns au lieu de success.Après avoir produit ce message de résultat final, le SDK lève une erreur, car le processus CLI se termine avec un code non nul.Enveloppez la boucle dans un try/catch en TypeScript ou try/except en Python si votre commande pourrait atteindre la limite, comme indiqué dans Single Message Input, ou définissez maxTurns suffisamment haut pour que le travail se termine. En Python, capturez Exception : le SDK présente les résultats d’erreur comme une simple Exception.Commandes Slash Courantes
/compact - Compacter l’historique de conversation
La commande /compact réduit la taille de votre historique de conversation en résumant les messages plus anciens tout en préservant le contexte important. La compaction nécessite une conversation existante avec au moins deux échanges antérieurs à résumer. Cet exemple a d’abord une conversation, puis la compacte et lit le message système compact_boundary qui rapporte le résultat :
Un message
compact_boundary n’arrive que lorsque la compaction s’est exécutée. S’il n’y a rien à résumer, /compact rapporte la raison au lieu de lever une exception : l’exécution se termine toujours avec un résultat success, aucun message compact_boundary n’est émis, et le texte du résultat porte le message, par exemple Not enough messages to compact. après un seul échange court. Un nouvel appel query() ponctuel démarre avec un contexte vide, donc utilisez ce modèle dans une session avec des tours antérieurs, par exemple en mode d’entrée en continu ou lors de la reprise d’une session./clear - Réinitialiser le contexte de conversation
La commande /clear réinitialise la conversation à un contexte vide, de sorte que les invites suivantes commencent sans aucun historique de conversation antérieur. La conversation précédente reste sur le disque et peut être reprise en passant son ID de session à l’option resume.
Ceci est utile en mode d’entrée en continu, où vous envoyez plusieurs invites sur une seule connexion. Pour les appels query() ponctuels, chaque appel démarre déjà avec un contexte vide, donc envoyer /clear n’a aucun effet pratique ; démarrez plutôt un nouveau query().
/clear dans le SDK nécessite Claude Code v2.1.117 ou version ultérieure. Dans les versions antérieures, il est omis de slash_commands.Créer des Slash Commands Personnalisés
En plus d’utiliser les slash commands intégrés, vous pouvez créer vos propres commandes personnalisées disponibles via le SDK. Les commandes personnalisées sont définies comme des fichiers markdown dans des répertoires spécifiques, de la même manière que les subagents sont configurés.Le répertoire
.claude/commands/ est le format hérité. Le format recommandé est .claude/skills/<name>/SKILL.md, qui supporte la même invocation slash-command (/name) plus l’invocation autonome par Claude. Voir Skills pour le format actuel. Le CLI continue de supporter les deux formats, et les exemples ci-dessous restent exacts pour .claude/commands/.Emplacements des Fichiers
Les slash commands personnalisés sont stockés dans des répertoires désignés selon leur portée :- Commandes de projet :
.claude/commands/- Disponibles uniquement dans le projet actuel (hérité ; préférez.claude/skills/) - Commandes personnelles :
~/.claude/commands/- Disponibles dans tous vos projets (hérité ; préférez~/.claude/skills/)
Format du Fichier
Chaque commande personnalisée est un fichier markdown où :- Le nom du fichier (sans extension
.md) devient le nom de la commande - Le contenu du fichier définit ce que la commande fait
- Un frontmatter YAML optionnel fournit la configuration
Exemple Basique
Créez le répertoire.claude/commands dans votre projet s’il n’existe pas, puis créez .claude/commands/refactor.md :
/refactor que vous pouvez utiliser via le SDK.
Avec Frontmatter
Créez.claude/commands/security-check.md :
Utiliser des Commandes Personnalisées dans le SDK
Une fois définies dans le système de fichiers, les commandes personnalisées sont automatiquement disponibles via le SDK :Fonctionnalités Avancées
Arguments et Placeholders
Les commandes personnalisées supportent les arguments dynamiques en utilisant des placeholders : Créez.claude/commands/fix-issue.md :
Exécution de Commandes Bash
Les commandes personnalisées peuvent exécuter des commandes bash et inclure leur sortie : Créez.claude/commands/git-commit.md :
Références de Fichiers
Incluez le contenu des fichiers en utilisant le préfixe@ :
Créez .claude/commands/review-config.md :
Organisation avec Namespacing
Organisez les commandes dans des sous-répertoires pour une meilleure structure :Exemples Pratiques
Commande de Révision de Pull Request
Créez.claude/commands/review-pr.md :
Claude Code inclut les skills
code-review et verify intégrés. Si vous nommez une commande personnalisée d’après l’un d’eux, par exemple .claude/commands/code-review.md, votre commande masque le skill intégré et slash_commands liste le nom une seule fois.Commande Test Runner
Créez.claude/commands/test.md :
Voir Aussi
- Slash Commands - Documentation complète des slash commands
- Subagents dans le SDK - Configuration similaire basée sur le système de fichiers pour les subagents
- Référence TypeScript SDK - Documentation complète de l’API
- Aperçu du SDK - Concepts généraux du SDK
- Référence CLI - Interface de ligne de commande