Outre l’exécution de Copilot CLI de manière interactive, vous pouvez également passer une invite directement à la CLI dans une seule commande, sans entrer de session interactive. Cela vous permet d’utiliser Copilot de manière programmatique dans les scripts, les pipelines CI/CD et les flux de travail d’automatisation. Pour plus d’informations, consultez « Exécution de CLI de GitHub Copilot de manière programmatique ».
Cet article décrit les options de ligne de commande et les variables d’environnement particulièrement pertinentes lors de l’exécution de Copilot CLI par programmation.
Pour afficher la liste complète des options disponibles, consultez Référence des commandes CLI de GitHub Copilot ou entrez la commande suivante dans votre terminal :
copilot help
copilot help
Options de ligne de commande
Il existe un certain nombre d’options de ligne de commande particulièrement utiles lors de l’exécution de Copilot CLI par programmation.
| Choix | Description |
|---|---|
-p PROMPT | Exécutez une invite en mode non interactif. L’interface CLI exécute l’invite et se ferme lorsque vous avez terminé. |
-s | Supprimez les statistiques et la décoration, ne laissant que la réponse de l’agent. Idéal pour rediriger la sortie dans les scripts. |
--add-dir=DIRECTORY | Ajoutez un répertoire à la liste des chemins autorisés. Cela peut être utilisé plusieurs fois pour ajouter plusieurs répertoires. Utile lorsque l’agent doit lire/écrire en dehors du répertoire de travail actuel. |
--agent=AGENT | Spécifiez un assistant personnalisé à utiliser. |
`--allow-all` (ou `--yolo`) | Autorisez le CLI toutes les permissions. Équivalent à `--allow-all-tools --allow-all-paths --allow-all-urls`. |
| --allow-all-paths | Désactivez entièrement la vérification du chemin d’accès au fichier. Alternative plus simple au --add-dir moment où les restrictions de chemin d’accès ne sont pas nécessaires. |
| --allow-all-tools | Autoriser chaque outil à s’exécuter sans autorisation explicite pour chaque outil. |
| --allow-all-urls | Autorisez l’accès à toutes les URL sans autorisation explicite pour chaque URL. |
| --allow-tool=TOOL ... | Accordez de manière sélective l’autorisation pour un outil spécifique. Pour plusieurs outils, utilisez une liste séparée par des virgules entre guillemets. |
| --allow-url=URL ... | Autoriser l’agent à extraire une URL ou un domaine spécifique. Utile lorsqu’un flux de travail a besoin d’un accès web aux points de terminaison connus. Pour plusieurs URL, utilisez une liste séparée par des virgules entre guillemets. |
| --deny-tool=TOOL ... | Refuser un outil spécifique. Utile pour restreindre ce que l’agent peut faire dans un flux de travail verrouillé. Pour plusieurs outils, utilisez une liste séparée par des virgules entre guillemets. |
| --model=MODEL | Choisissez le modèle IA (par exemple, gpt-5.2 ou claude-sonnet-4.6). Utile pour épingler un modèle dans des flux de travail reproductibles. Voir Choisir un modèle ci-dessous. |
| --no-ask-user | Empêchez l’agent de suspendre la recherche d’une entrée utilisateur supplémentaire. |
| --secret-env-vars=VAR ... | Variable d’environnement dont vous souhaitez masquer la valeur dans la sortie. Pour plusieurs variables, utilisez une liste séparée par des virgules entre guillemets. Essentiel pour empêcher les secrets d’être exposés dans les journaux. Les valeurs dans les variables d'environnement GITHUB_TOKEN et COPILOT_GITHUB_TOKEN sont cachées par défaut. |
| --share=PATH | Exportez la transcription de session vers un fichier Markdown après l’achèvement non interactif (valeur par défaut ./copilot-session-<ID>.md). Utile pour l’audit ou l’archivage de ce que l’agent a fait. Notez que les transcriptions de session peuvent contenir des informations sensibles. |
| --share-gist | Publiez la transcription de session en tant que gist GitHub secret après l’achèvement. Pratique pour partager des résultats à partir de CI. Notez que les transcriptions de session peuvent contenir des informations sensibles. |
Outils pour l’option --allow-tool
Vous pouvez spécifier différents types d’outils avec l’option --allow-tool .
| Type d’outil | Qu’est-ce qu’il contrôle ? |
|---|---|
| shell | Exécution de commandes shell. |
| write | Création ou modification de fichiers. |
| lecture | Lecture de fichiers ou de répertoires. |
| url | Extraction de contenu à partir d’une URL. |
| mémoire | Stockage de nouveaux faits dans la mémoire persistante de l’agent. Cela n’affecte pas l’utilisation de souvenirs existants. Consultez « À propos de la mémoire agentique pour GitHub Copilot ». |
| MCP-SERVER | Appel d’outils à partir d’un serveur MCP spécifique. Utilisez le nom configuré du serveur comme identificateur, par exemple github. Consultez « Ajout de serveurs MCP pour CLI de GitHub Copilot ». |
Filtres d’outils
Les types d’outils serveur shell, write, url, et MCP vous permettent de spécifier un filtre, entre parenthèses, pour contrôler quels outils spécifiques sont autorisés.
| Type d’outil | Exemple | Explication de l’exemple |
|---|
**Shell** | `shell(git:*)` | Autoriser toutes les sous-commandes Git (`git push`, `git status`etc.). |
| | shell(npm test) | Autorisez la commande exacte npm test. |
|
écrire | write(.github/copilot-instructions.md) | Autoriser l’interface CLI à écrire dans ce chemin spécifique. |
| | write(README.md) | Autoriser l’interface CLI à écrire dans n’importe quel fichier dont le chemin se termine par /README.md. |
|
url | url(github.com) | Autoriser l’interface CLI à accéder aux URL HTTPS sur github.com. |
| | url(http://localhost:3000) | Autoriser l’interface CLI à accéder au serveur de développement local avec un protocole et un port explicites. |
| | url(https://*.github.com) | Autoriser l’interface CLI à accéder à n’importe quel GitHub sous-domaine (par exemple, api.github.com). |
| | url(https://docs.github.com/copilot/*) | Autorisez l’accès à la documentation de Copilot sur ce site. |
|
MCP-SERVER | github(create_issue) | Autorisez uniquement l’outil create_issue à partir du github serveur MCP. |
Remarque
Les caractères génériques ne sont pris en charge que pour que shell corresponde à toutes les sous-commandes d’un outil spécifié, pour url au début du nom d’hôte afin de correspondre à n’importe quel sous-domaine, ou à la fin d’un chemin d’accès pour correspondre à n’importe quel suffixe de chemin d’accès, comme indiqué dans le tableau précédent.
Variables d'environnement
Vous pouvez utiliser des variables d’environnement pour configurer différents aspects du comportement de l’interface CLI lors de l’exécution par programmation. Cela est particulièrement utile pour définir la configuration dans les flux de travail CI/CD ou d’autres environnements automatisés où vous ne souhaiterez peut-être pas spécifier certaines options directement dans la ligne de commande.
| Variable | Description |
|---|---|
COPILOT_ALLOW_ALL | Définir sur true pour les autorisations complètes |
COPILOT_MODEL | Définir le modèle (par exemple, , gpt-5.2``claude-sonnet-4.5) |
COPILOT_HOME | Définir le répertoire du fichier de configuration CLI (~/.copilot par défaut) |
COPILOT_GITHUB_TOKEN | Jeton d’authentification (priorité la plus élevée) |
GH_TOKEN | Jeton d’authentification (deuxième priorité) |
GITHUB_TOKEN | Jeton d’authentification (troisième priorité) |
Pour plus d’informations sur les variables d’environnement pour Copilot CLI, utilisez la commande copilot help environment dans votre terminal.
Choix d’un modèle
Lorsque vous envoyez une invite à Copilot CLI en mode non interactif, le modèle utilisé par l’interface CLI pour générer une réponse est affiché dans la sortie de la réponse (si l’option -s, ou --silent, n’est pas utilisée).
Vous pouvez utiliser l’option --model pour spécifier le modèle IA que l’interface CLI doit utiliser. Cela vous permet de choisir un modèle qui convient le mieux à votre invite, en équilibrant des facteurs tels que la vitesse, le coût et la capacité.
Par exemple, pour des tâches simples, telles que l’explication d’un code ou la génération d’un résumé, vous pouvez choisir un modèle rapide et à moindre coût tel qu’un modèle Claude Haiku :
copilot -p "What does this project do?" -s --model claude-haiku-4.5
copilot -p "What does this project do?" -s --model claude-haiku-4.5
Pour des tâches plus complexes qui nécessitent un raisonnement plus approfondi, comme le débogage ou le refactorisation du code, vous pouvez choisir un modèle plus puissant, tel qu’un modèle GpT Codex :
copilot -p "Fix the race condition in the worker pool" \ --model gpt-5.3-codex \ --allow-tool='write, shell'
copilot -p "Fix the race condition in the worker pool" \
--model gpt-5.3-codex \
--allow-tool='write, shell'
Remarque
Vous trouverez les chaînes de modèle pour tous les modèles disponibles dans la description de l’option --model lorsque vous entrez copilot help dans votre terminal.
Vous pouvez également définir la COPILOT_MODEL variable d’environnement pour spécifier un modèle pour la durée de la session shell.
Pour conserver une sélection de modèle entre les sessions d’interpréteur de commandes, vous pouvez définir la model clé dans le fichier de configuration CLI. Ce fichier se trouve à l’emplacement ~/.copilot/config.json (ou $COPILOT_HOME/.copilot/config.json si vous avez défini la variable d’environnement COPILOT_HOME ). Certains modèles vous permettent également de définir un niveau d’effort de raisonnement, qui contrôle le temps passé par le modèle à penser avant de répondre.
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
Conseil
Le moyen le plus simple de définir un modèle de manière permanente dans le fichier de configuration est de définir la /model commande oblique dans une session interactive. Le choix que vous effectuez avec cette commande est écrit dans le fichier de configuration.
Priorité du modèle
Lors de la détermination du modèle à utiliser pour une invite donnée, l’interface CLI recherche les spécifications de modèle dans l’ordre de priorité suivant (du plus haut au plus bas) :
- Où un agent personnalisé est utilisé : le modèle spécifié dans la définition de l’agent personnalisé (le cas échéant).
- Option
--modelde ligne de commande. - Variable d’environnement
COPILOT_MODEL. - Clé
modeldans le fichier de configuration (~/.copilot/config.jsonou$COPILOT_HOME/.copilot/config.json). - Modèle par défaut de l’interface CLI.
Utilisation d’agents personnalisés
Vous pouvez déléguer le travail à un agent spécialisé à l’aide de l’option --agent . Pour plus d’informations, consultez « Création et utilisation d’agents personnalisés pour CLI de GitHub Copilot ».
Dans cet exemple, l’agent code-review est utilisé. Cela nécessite qu’un agent personnalisé ait été créé avec ce nom.
copilot -p "Review the latest commit" \
--allow-tool='shell' \
--agent code-review
Lectures complémentaires
-
[AUTOTITLE](/copilot/how-tos/copilot-cli) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)