---
title: CLI
description: Options et commandes CLI OpenCode.
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

La CLI OpenCode démarre par défaut le [TUI](/docs/tui) lorsqu'il est exécuté sans aucun argument.

```bash
opencode
```

Mais il accepte également les commandes documentées sur cette page. Cela vous permet d'interagir avec OpenCode par programme.

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### tui

Démarrez l’interface utilisateur du terminal OpenCode.

```bash
opencode [project]
```

#### Drapeaux

| Drapeau      | Court | Descriptif                                                                    |
| ------------ | ----- | ----------------------------------------------------------------------------- |
| `--continue` | `-c`  | Continuer la dernière séance                                                  |
| `--session`  | `-s`  | ID de session pour continuer                                                  |
| `--fork`     |       | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) |
| `--prompt`   |       | Invite à utiliser                                                             |
| `--model`    | `-m`  | Modèle à utiliser sous forme de fournisseur/modèle                            |
| `--agent`    |       | Agent à utiliser                                                              |
| `--port`     |       | Port à écouter sur                                                            |
| `--hostname` |       | Nom d'hôte sur lequel écouter                                                 |

---

## Commandes

La CLI OpenCode dispose également des commandes suivantes.

---

### agent

Gérer les agents pour OpenCode.

```bash
opencode agent [command]
```

---

### attacher

Attachez un terminal à un serveur backend OpenCode déjà en cours d'exécution démarré via les commandes `serve` ou `web`.

```bash
opencode attach [url]
```

Cela permet d'utiliser le TUI avec un backend OpenCode distant. Par exemple:

```bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0

# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096
```

#### Drapeaux

| Drapeau     | Court | Descriptif                                     |
| ----------- | ----- | ---------------------------------------------- |
| `--dir`     |       | Répertoire de travail dans lequel démarrer TUI |
| `--session` | `-s`  | ID de session pour continuer                   |

---

#### créer

Créez un nouvel agent avec une configuration personnalisée.

```bash
opencode agent create
```

Cette commande vous guidera dans la création d'un nouvel agent avec une invite système personnalisée et une configuration d'outil.

---

#### liste

Répertoriez tous les agents disponibles.

```bash
opencode agent list
```

---

### authentification

Commande pour gérer les informations d’identification et la connexion des fournisseurs.

```bash
opencode auth [command]
```

---

#### se connecter

OpenCode est alimenté par la liste des fournisseurs sur [Models.dev](https://models.dev), vous pouvez donc utiliser `opencode auth login` pour configurer les clés API pour tout fournisseur que vous souhaitez utiliser. Ceci est stocké dans `~/.local/share/opencode/auth.json`.

```bash
opencode auth login
```

Lorsque OpenCode démarre, il charge les fournisseurs à partir du fichier d'informations d'identification. Et s'il y a des clés définies dans vos environnements ou un fichier `.env` dans votre projet.

---

#### liste

Répertorie tous les fournisseurs authentifiés tels qu'ils sont stockés dans le fichier d'informations d'identification.

```bash
opencode auth list
```

Ou la version courte.

```bash
opencode auth ls
```

---

#### déconnexion

Vous déconnecte d'un fournisseur en l'effaçant du fichier d'informations d'identification.

```bash
opencode auth logout
```

---

### github

Gérez l'agent GitHub pour l'automatisation du référentiel.

```bash
opencode github [command]
```

---

#### installer

Installez l'agent GitHub dans votre référentiel.

```bash
opencode github install
```

Cela configure le flux de travail GitHub Actions nécessaire et vous guide tout au long du processus de configuration. [En savoir plus](/docs/github).

---

#### courir

Exécutez l'agent GitHub. Ceci est généralement utilisé dans les actions GitHub.

```bash
opencode github run
```

##### Drapeaux

| Drapeau   | Descriptif                                           |
| --------- | ---------------------------------------------------- |
| `--event` | Événement simulé GitHub pour lequel exécuter l'agent |
| `--token` | Jeton d'accès personnel GitHub                       |

---

### MCP

Gérer les serveurs Model Context Protocol.

```bash
opencode mcp [command]
```

---

#### ajouter

Ajoutez un serveur MCP à votre configuration.

```bash
opencode mcp add
```

Cette commande vous guidera dans l’ajout d’un serveur MCP local ou distant.

---

#### liste

Répertoriez tous les serveurs MCP configurés et leur état de connexion.

```bash
opencode mcp list
```

Ou utilisez la version courte.

```bash
opencode mcp ls
```

---

#### authentification

Authentifiez-vous auprès d'un serveur MCP compatible OAuth.

```bash
opencode mcp auth [name]
```

Si vous ne fournissez pas de nom de serveur, vous serez invité à sélectionner parmi les serveurs compatibles OAuth disponibles.

Vous pouvez également répertorier les serveurs compatibles OAuth et leur statut d'authentification.

```bash
opencode mcp auth list
```

Ou utilisez la version courte.

```bash
opencode mcp auth ls
```

---

#### déconnexion

Supprimez les informations d'identification OAuth pour un serveur MCP.

```bash
opencode mcp logout [name]
```

---

#### déboguer

Déboguer les problèmes de connexion OAuth pour un serveur MCP.

```bash
opencode mcp debug <name>
```

---

### modèles

Répertoriez tous les modèles disponibles auprès des fournisseurs configurés.

```bash
opencode models [provider]
```

Cette commande affiche tous les modèles disponibles parmi vos fournisseurs configurés au format `provider/model`.

Ceci est utile pour déterminer le nom exact du modèle à utiliser dans [votre config](/docs/config/).

Vous pouvez éventuellement transmettre un ID de fournisseur pour filtrer les modèles en fonction de ce fournisseur.

```bash
opencode models anthropic
```

#### Drapeaux

| Drapeau     | Descriptif                                                                                 |
| ----------- | ------------------------------------------------------------------------------------------ |
| `--refresh` | Actualisez le cache des modèles à partir de models.dev                                     |
| `--verbose` | Utiliser une sortie de modèle plus détaillée (inclut des métadonnées telles que les coûts) |

Utilisez l'indicateur `--refresh` pour mettre à jour la liste des modèles mis en cache. Ceci est utile lorsque de nouveaux modèles ont été ajoutés à un fournisseur et que vous souhaitez les voir dans OpenCode.

```bash
opencode models --refresh
```

---

### courir

Exécutez opencode en mode non interactif en transmettant directement une invite.

```bash
opencode run [message..]
```

Ceci est utile pour les scripts, l'automatisation ou lorsque vous souhaitez une réponse rapide sans lancer le TUI complet. Par exemple.

```bash "opencode run"
opencode run Explain the use of context in Go
```

Vous pouvez également vous connecter à une instance `opencode serve` en cours d'exécution pour éviter les temps de démarrage à froid du serveur MCP à chaque exécution :

```bash
# Start a headless server in one terminal
opencode serve

# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```

#### Drapeaux

| Drapeau      | Court | Descriptif                                                                                     |
| ------------ | ----- | ---------------------------------------------------------------------------------------------- |
| `--command`  |       | La commande à exécuter, utilisez message pour args                                             |
| `--continue` | `-c`  | Continuer la dernière séance                                                                   |
| `--session`  | `-s`  | ID de session pour continuer                                                                   |
| `--fork`     |       | Forker la session en continuant (à utiliser avec `--continue` ou `--session`)                  |
| `--share`    |       | Partager la séance                                                                             |
| `--model`    | `-m`  | Modèle à utiliser sous forme de fournisseur/modèle                                             |
| `--agent`    |       | Agent à utiliser                                                                               |
| `--file`     | `-f`  | Fichier(s) à joindre au message                                                                |
| `--format`   |       | Format : par défaut (formaté) ou json (événements JSON bruts)                                  |
| `--title`    |       | Titre de la session (utilise une invite tronquée si aucune valeur n'est fournie)               |
| `--attach`   |       | Connectez-vous à un serveur opencode en cours d'exécution (par exemple, http://localhost:4096) |
| `--port`     |       | Port du serveur local (port aléatoire par défaut)                                              |

---

### servir

Démarrez un serveur OpenCode sans tête pour un accès API. Consultez le [serveur docs](/docs/server) pour l'interface complète HTTP.

```bash
opencode serve
```

Cela démarre un serveur HTTP qui fournit à API un accès à la fonctionnalité opencode sans l'interface TUI. Définissez `OPENCODE_SERVER_PASSWORD` pour activer l'authentification de base HTTP (le nom d'utilisateur par défaut est `opencode`).

#### Drapeaux

| Drapeau      | Descriptif                                                 |
| ------------ | ---------------------------------------------------------- |
| `--port`     | Port à écouter sur                                         |
| `--hostname` | Nom d'hôte sur lequel écouter                              |
| `--mdns`     | Activer la découverte mDNS                                 |
| `--cors`     | Origines de navigateur supplémentaires pour autoriser CORS |

---

### session

Gérer les sessions OpenCode.

```bash
opencode session [command]
```

---

#### liste

Répertoriez toutes les sessions OpenCode.

```bash
opencode session list
```

##### Drapeaux

| Drapeau       | Court | Descriptif                                   |
| ------------- | ----- | -------------------------------------------- |
| `--max-count` | `-n`  | Limiter aux N sessions les plus récentes     |
| `--format`    |       | Format de sortie : tableau ou json (tableau) |

---

### statistiques

Affichez les statistiques d'utilisation et de coût des jetons pour vos sessions OpenCode.

```bash
opencode stats
```

#### Drapeaux

| Drapeau     | Descriptif                                                                                                          |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| `--days`    | Afficher les statistiques des N derniers jours (tous les temps)                                                     |
| `--tools`   | Nombre d'outils à afficher (tous)                                                                                   |
| `--models`  | Afficher la répartition de l'utilisation du modèle (masqué par défaut). Passez un numéro pour afficher le premier N |
| `--project` | Filtrer par projet (tous les projets, chaîne vide : projet en cours)                                                |

---

### exporter

Exportez les données de session sous JSON.

```bash
opencode export [sessionID]
```

Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner parmi les sessions disponibles.

---

### importer

Importez les données de session à partir d'un fichier JSON ou d'un partage OpenCode URL.

```bash
opencode import <file>
```

Vous pouvez importer à partir d'un fichier local ou d'un partage OpenCode URL.

```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```

---

### la toile

Démarrez un serveur OpenCode sans tête avec une interface Web.

```bash
opencode web
```

Cela démarre un serveur HTTP et ouvre un navigateur Web pour accéder à OpenCode via une interface Web. Définissez `OPENCODE_SERVER_PASSWORD` pour activer l'authentification de base HTTP (le nom d'utilisateur par défaut est `opencode`).

#### Drapeaux

| Drapeau      | Descriptif                                                 |
| ------------ | ---------------------------------------------------------- |
| `--port`     | Port à écouter sur                                         |
| `--hostname` | Nom d'hôte sur lequel écouter                              |
| `--mdns`     | Activer la découverte mDNS                                 |
| `--cors`     | Origines de navigateur supplémentaires pour autoriser CORS |

---

### acp

Démarrez un serveur ACP (Agent Client Protocol).

```bash
opencode acp
```

Cette commande démarre un serveur ACP qui communique via stdin/stdout en utilisant nd-JSON.

#### Drapeaux

| Drapeau      | Descriptif                    |
| ------------ | ----------------------------- |
| `--cwd`      | Répertoire de travail         |
| `--port`     | Port à écouter sur            |
| `--hostname` | Nom d'hôte sur lequel écouter |

---

### désinstaller

Désinstallez OpenCode et supprimez tous les fichiers associés.

```bash
opencode uninstall
```

#### Drapeaux

| Drapeau         | Court | Descriptif                                          |
| --------------- | ----- | --------------------------------------------------- |
| `--keep-config` | `-c`  | Conserver les fichiers de configuration             |
| `--keep-data`   | `-d`  | Conserver les données de session et les instantanés |
| `--dry-run`     |       | Afficher ce qui serait supprimé sans supprimer      |
| `--force`       | `-f`  | Ignorer les invites de confirmation                 |

---

### mise à niveau

Met à jour opencode vers la dernière version ou une version spécifique.

```bash
opencode upgrade [target]
```

Pour mettre à niveau vers la dernière version.

```bash
opencode upgrade
```

Pour passer à une version spécifique.

```bash
opencode upgrade v0.1.48
```

#### Drapeaux

| Drapeau    | Court | Descriptif                                                              |
| ---------- | ----- | ----------------------------------------------------------------------- |
| `--method` | `-m`  | La méthode d'installation utilisée ; curl, npm, pnpm, chignon, infusion |

---

## Drapeaux mondiaux

La CLI opencode prend les indicateurs globaux suivants.

| Drapeau        | Court | Descriptif                                          |
| -------------- | ----- | --------------------------------------------------- |
| `--help`       | `-h`  | Afficher l'aide                                     |
| `--version`    | `-v`  | Imprimer le numéro de version                       |
| `--print-logs` |       | Imprimer les journaux sur stderr                    |
| `--log-level`  |       | Niveau de journalisation (DEBUG, INFO, WARN, ERROR) |

---

## Variables d'environnement

OpenCode peut être configuré à l'aide de variables d'environnement.

| Variables                             | Tapez   | Descriptif                                                                        |
| ------------------------------------- | ------- | --------------------------------------------------------------------------------- |
| `OPENCODE_AUTO_SHARE`                 | booléen | Partager automatiquement des sessions                                             |
| `OPENCODE_GIT_BASH_PATH`              | chaîne  | Chemin vers l'exécutable Git Bash sur Windows                                     |
| `OPENCODE_CONFIG`                     | chaîne  | Chemin d'accès au fichier de configuration                                        |
| `OPENCODE_CONFIG_DIR`                 | chaîne  | Chemin d'accès au répertoire de configuration                                     |
| `OPENCODE_CONFIG_CONTENT`             | chaîne  | Contenu de configuration JSON en ligne                                            |
| `OPENCODE_DISABLE_AUTOUPDATE`         | booléen | Désactiver les vérifications automatiques des mises à jour                        |
| `OPENCODE_DISABLE_PRUNE`              | booléen | Désactiver l'élagage des anciennes données                                        |
| `OPENCODE_DISABLE_TERMINAL_TITLE`     | booléen | Désactiver les mises à jour automatiques des titres du terminal                   |
| `OPENCODE_PERMISSION`                 | chaîne  | Configuration des autorisations JSON intégrées                                    |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS`    | booléen | Désactiver les plugins par défaut                                                 |
| `OPENCODE_DISABLE_LSP_DOWNLOAD`       | booléen | Désactiver les téléchargements automatiques du serveur LSP                        |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booléen | Activer les modèles expérimentaux                                                 |
| `OPENCODE_DISABLE_AUTOCOMPACT`        | booléen | Désactiver le compactage automatique du contexte                                  |
| `OPENCODE_DISABLE_CLAUDE_CODE`        | booléen | Désactiver la lecture de `.claude` (invite + compétences)                         |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booléen | Désactiver la lecture `~/.claude/CLAUDE.md`                                       |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booléen | Désactiver le chargement de `.claude/skills`                                      |
| `OPENCODE_DISABLE_MODELS_FETCH`       | booléen | Désactiver la récupération de modèles à partir de sources distantes               |
| `OPENCODE_FAKE_VCS`                   | chaîne  | Faux fournisseur VCS à des fins de test                                           |
| `OPENCODE_DISABLE_FILETIME_CHECK`     | booléen | Désactiver la vérification de l'heure des fichiers pour l'optimisation            |
| `OPENCODE_CLIENT`                     | chaîne  | Identifiant du client (par défaut `cli`)                                          |
| `OPENCODE_ENABLE_EXA`                 | booléen | Activer les outils de recherche Web Exa                                           |
| `OPENCODE_SERVER_PASSWORD`            | chaîne  | Activer l'authentification de base pour `serve`/`web`                             |
| `OPENCODE_SERVER_USERNAME`            | chaîne  | Remplacer le nom d'utilisateur d'authentification de base (par défaut `opencode`) |
| `OPENCODE_MODELS_URL`                 | chaîne  | URL personnalisé pour récupérer la configuration des modèles                      |

---

### Expérimental

Ces variables d'environnement activent des fonctionnalités expérimentales qui peuvent être modifiées ou supprimées.

| Variables                                       | Tapez   | Descriptif                                                      |
| ----------------------------------------------- | ------- | --------------------------------------------------------------- |
| `OPENCODE_EXPERIMENTAL`                         | booléen | Activer toutes les fonctionnalités expérimentales               |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY`          | booléen | Activer la découverte d'icônes                                  |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT`  | booléen | Désactiver la copie lors de la sélection dans TUI               |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numéro  | Délai d'expiration par défaut pour les commandes bash dans ms   |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX`        | numéro  | Nombre maximum de jetons de sortie pour les réponses LLM        |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER`             | booléen | Activer l'observateur de fichiers pour l'ensemble du répertoire |
| `OPENCODE_EXPERIMENTAL_OXFMT`                   | booléen | Activer le formateur oxfmt                                      |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL`                | booléen | Activer l'outil expérimental LSP                                |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER`     | booléen | Désactiver l'observateur de fichiers                            |
| `OPENCODE_EXPERIMENTAL_EXA`                     | booléen | Activer les fonctionnalités Exa expérimentales                  |
| `OPENCODE_EXPERIMENTAL_LSP_TY`                  | booléen | Activer la vérification expérimentale du type LSP               |
| `OPENCODE_EXPERIMENTAL_MARKDOWN`                | booléen | Activer les fonctionnalités Markdown expérimentales             |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | booléen | Activer le mode plan                                            |
