Guide

CLI OpenAI Codex : installation, commandes, config.toml et codex exec

Updated

Also in: English, Deutsch, Español, Português

On this page

La CLI OpenAI Codex est un agent de programmation sous licence Apache-2.0 développé par OpenAI qui s'exécute localement dans votre terminal. Lancez codex de manière interactive pour inspecter des dépôts, modifier des fichiers, exécuter des outils locaux et relire du code, ou exécutez codex exec de façon non interactive dans des scripts et des pipelines d'intégration continue (CI). Il lit ~/.codex/config.toml et les fichiers .codex/config.toml de projet, charge les instructions AGENTS.md et applique des limites strictes avec des bacs à sable (sandboxes) et des stratégies d'approbation.

Logitech MX Creative Keypad exécutant Orbtile avec une session Codex en attente d'attention

La place de la CLI Codex parmi les autres interfaces Codex d'OpenAI

OpenAI propose Codex à travers plusieurs interfaces complémentaires :

  • Codex CLI (codex) : agent de code local léger s'exécutant dans votre terminal directement sur votre dépôt et vos outils locaux.
  • Extensions pour IDE : disponibles pour VS Code, Cursor et Windsurf. La CLI et les extensions partagent les mêmes niveaux de configuration.
  • Application de bureau (codex app) : lancez codex app ou visitez la page dédiée sur chatgpt.com.
  • Codex Web (chatgpt.com/codex) : agent dans le cloud. codex cloud permet de parcourir les conversations cloud, de soumettre des tâches à un environnement configuré et d'en appliquer les résultats en local.

Installer et mettre à jour la CLI OpenAI Codex

Installez la CLI Codex via le script d'installation autonome, un gestionnaire de paquets ou les binaires GitHub Releases.

Installateurs autonomes sur macOS, Linux et Windows

Sur macOS ou Linux, installez ou mettez à jour la CLI depuis votre shell :

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Sur Windows, exécutez cette commande dans PowerShell pour installer ou mettre à jour :

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

Les scripts autonomes téléchargent les fichiers depuis https://releases.openai.com/codex et basculent vers GitHub Releases si le téléchargement est indisponible. Pour forcer l'utilisation de GitHub Releases, définissez CODEX_INSTALLER_USE_RELEASES_OPENAI_COM sur false (0 ou no fonctionnent également) :

curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh

Gestionnaires de paquets et binaires GitHub Releases

  • npm : npm install -g @openai/codex pour installer.
  • Homebrew : brew install --cask codex pour installer.
  • GitHub Releases : téléchargez codex-aarch64-apple-darwin.tar.gz ou codex-x86_64-apple-darwin.tar.gz (macOS), ou codex-x86_64-unknown-linux-musl.tar.gz ou codex-aarch64-unknown-linux-musl.tar.gz (Linux). Extrayez l'exécutable et renommez-le en codex.

Se connecter et démarrer une tâche

Exécutez codex à l'intérieur d'un dépôt Git. Au premier lancement, choisissez Sign in with ChatGPT (comptes Plus, Pro, Business, Edu ou Enterprise) ou configurez une clé d'API. Créez des points de contrôle Git avant et après chaque exécution pour pouvoir annuler les modifications en toute propreté.

Commandes interactives de la CLI et flux de travail dans le terminal

Gérez le contexte, les revues de code, les outils et les autorisations depuis votre shell ou au sein d'une session interactive :

Command or flagWhat it does
codex resumeRouvre une conversation de dépôt récente ou recherche parmi les conversations locales
codex --imageTransmet une capture d'écran, un diagramme ou une maquette avec le prompt initial
codex --searchBascule l'exécution vers la recherche web en direct
codex mcpAjoute des serveurs MCP locaux ou distants, gère l'authentification et inspecte les outils
codex cloudParcourt les chats cloud, transmet des tâches à un environnement distant et applique les résultats
codex completionGénère les scripts d'autocomplétion du shell ; prend en charge les thèmes et VISUAL ou EDITOR
/permissionsDéfinit quand Codex modifie des fichiers ou lance des commandes ; affiche le bac à sable actif

Deux flux de travail intégrés facilitent les modifications d'envergure :

  • Revue de code locale : examine les modifications non indexées, un commit ou une branche de base et produit un rapport hiérarchisé sans altérer votre arbre de travail.
  • Sous-agents : délègue des investigations ciblées à des sous-agents spécialisés et transmet leurs conclusions à la session principale.

Configurer Codex avec config.toml

Codex conserve vos préférences personnelles dans ~/.codex/config.toml et les surcharges spécifiques à un projet dans .codex/config.toml (également accessible dans l'extension IDE via l'icône d'engrenage sous Codex Settings > Open config.toml).

Codex charge les couches de projet .codex/ (configuration, hooks et règles) uniquement dans les projets approuvés ; les projets non approuvés utilisent uniquement la configuration utilisateur et système.

Ordre de priorité de configuration

Du niveau de priorité le plus élevé au plus faible :

  • Drapeaux de la CLI et surcharges --config (-c)
  • Fichiers .codex/config.toml du projet, de la racine au répertoire actif (le plus proche l'emporte, projets approuvés uniquement)
  • Fichiers de profil via --profile profile-name (~/.codex/profile-name.config.toml)
  • Configuration utilisateur (~/.codex/config.toml)
  • Paramètres config.toml gérés dans le cloud pour l'espace de travail
  • Configuration système (/etc/codex/config.toml sous Unix)
  • Valeurs par défaut intégrées

Sur les machines administrées, les organisations peuvent également imposer des contraintes via requirements.toml, par exemple en interdisant approval_policy = "never" ou sandbox_mode = "danger-full-access".

Paramètres courants et drapeaux de fonctionnalités dans config.toml

model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
personality = "none"

[shell_environment_policy]
ignore_default_excludes = false

[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"

[features]
prefer_mxc = true

Principales options de config.toml :

  • Modèle et raisonnement : model définit le modèle par défaut pour la CLI et l'IDE ; model_reasoning_effort ajuste la profondeur de réflexion.
  • Approbations et bac à sable : approval_policy règle les demandes de confirmation pour les commandes (valeurs telles que "on-request" ou "never" ; "untrusted" est obsolète). sandbox_mode définit les limites sur le système de fichiers et le réseau (comme "workspace-write"). Les profils intégrés (:read-only, :workspace, :danger-full-access) et les tables personnalisées [permissions.<name>] sont également pris en charge.
  • Recherche web : web_search est réglé par défaut sur "cached" (cache OpenAI, réduisant le risque d'injection de prompt). Utilisez "indexed" pour filtrer l'accès via l'index de recherche, "live" pour les pages en temps réel (équivalent à --search, et mode par défaut des bacs à sable sans restriction comme --yolo), ou "disabled".
  • Style de communication : personality = "none" supprime la section d'instructions Personality par défaut tout en conservant les instructions personnalisées (friendly, pragmatic et /personality sont obsolètes).
  • Raccourcis TUI et journaux : [tui.keymap.global], [tui.keymap.composer] et [tui.keymap.chat] configurent les raccourcis clavier (une liste vide retire l'assignation). log_dir définit le chemin des journaux et active le fichier texte brut codex-tui.log.
  • Variables d'environnement : sous [shell_environment_policy], ignore_default_excludes est réglé sur true par défaut. Définissez false pour masquer les variables contenant KEY, SECRET ou TOKEN, ou configurez [shell_environment_policy.filters].
  • Fonctionnalités expérimentales : [features] active apps, goals, hooks, fast_mode, memories (désactivé par défaut), multi_agent, remote_plugin, shell_snapshot, shell_tool et unified_exec, ou passez codex --enable feature_name.

Superposer des instructions personnalisées avec AGENTS.md

Codex assemble sa chaîne d'instructions AGENTS.md une seule fois au début de la session :

  • Instructions globales : dans ~/.codex (ou CODEX_HOME), Codex charge AGENTS.override.md en priorité, puis se replie sur AGENTS.md.
  • Instructions de projet et imbriquées : en descendant de la racine du projet (généralement la racine Git) vers votre répertoire courant, Codex charge au plus un fichier non vide par dossier : AGENTS.override.md, puis AGENTS.md, puis les noms déclarés dans project_doc_fallback_filenames.
  • Ordre de fusion et limite de taille : les fichiers se concatènent de haut en bas, de sorte que les instructions les plus proches supplantent les règles plus générales, jusqu'à concurrence de project_doc_max_bytes (32 KiB par défaut dans config.toml).

Pour vérifier la liste des fichiers chargés, lancez codex -c log_dir=./.codex-log et inspectez ./.codex-log/codex-tui.log.

Exécuter des scripts et des pipelines CI avec codex exec

Exécutez Codex de manière non interactive avec codex exec :

codex exec "summarise the repository structure and list the top 5 risky areas"

Comportements clés de codex exec :

  • Sorties stdout et stderr : la progression est diffusée sur stderr tandis que seul le message final s'affiche sur stdout pour le chaînage ou la sauvegarde via -o <path> (--output-last-message <path>). Utilisez --ephemeral pour éviter d'enregistrer les fichiers de session sur le disque.
  • Redirection de stdin : les données transmises par tube servent de contexte si un prompt est fourni, ou constituent l'intégralité du prompt si aucun argument n'est spécifié ou si vous passez codex exec -.
  • Options de bac à sable : le mode par défaut est en lecture seule. Spécifiez --sandbox workspace-write pour autoriser la modification de fichiers, ou --sandbox danger-full-access uniquement dans un environnement maîtrisé. (--full-auto est obsolète ; utilisez --sandbox workspace-write, ou --approve-for-me pour une approbation automatique avec workspace-write.)
  • Automatisation propre : --ignore-user-config ignore $CODEX_HOME/config.toml, --ignore-rules ignore les fichiers .rules, et --skip-git-repo-check contourne l'obligation d'un dépôt Git. Si un serveur MCP marqué required = true échoue à s'initialiser, codex exec s'interrompt avec une erreur.
  • Sortie structurée : --json produit un flux d'événements JSON Lines (thread.started, turn.started, item.*, turn.completed, turn.failed, error). --output-schema ./schema.json impose la validation par un schéma JSON.
  • Reprise de sessions : lancez codex exec resume --last "<prompt>" ou codex exec resume <SESSION_ID> "<prompt>".
  • Authentification en CI : définissez CODEX_API_KEY=<api-key> codex exec ... en ligne pour une exécution unique plutôt que sous forme de variable globale dans des workflows exécutant du code non approuvé, ou utilisez l'action openai/codex-action@v1 dans GitHub Actions, qui démarre un proxy sécurisé pour la clé API.

Bacs à sable sous Windows : mxc, elevated et unelevated

Sous Windows, Codex peut s'exécuter nativement dans PowerShell avec un bac à sable Windows, sans nécessiter WSL ni machine virtuelle. Windows 11 est recommandé. Windows 10 est pris en charge au mieux et nécessite la version 1809 ou ultérieure pour ConPTY. L'outil winget doit être disponible.

ImplementationHow it isolates commandsSetup and limits
mxcIsolation de processus native Microsoft Execution Containers sur Windows 11 (24H2 build 26100.9278, 25H2 build 26200.9278)Recommandé ; sans droits admin, comptes dédiés ni règles de pare-feu ; activer avec prefer_mxc = true sous [features]
elevatedUtilisateurs de bac à sable dédiés à privilèges réduits, frontières de fichiers et règles de pare-feu localesAncien mode, mais solution de secours recommandée si MXC n'est pas disponible ; nécessite une installation par un administrateur avec codex sandbox setup --elevated
unelevatedJeton Windows restreint de l'utilisateur actuel avec restrictions ACL sur le système de fichiersSolution de secours si la configuration avec privilèges élevés est impossible ; isolation réseau plus faible, pas de chemins d'accès interdits en lecture

Sur Codex CLI 0.162.0 ou ultérieur, testez la compatibilité mxc sans modifier votre configuration sauvegardée :

codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK

Suivre les sessions de la CLI Codex sur un pavé ou sur votre téléphone avec Orbtile

Lorsque vous lancez plusieurs terminaux codex, des scripts codex exec et des chats sur l'application de bureau, Orbtile affiche chaque session sur un Logitech MX Creative Keypad, un iPhone ou un téléphone Android (Android 8.0 ou supérieur avec Orbtile Mobile), connecté à macOS 14.0 Sonoma ou supérieur (Apple silicon) ou Windows 11 (x64).

  • Détection sans installation : Orbtile lit directement les fichiers de thread de Codex et ses propres signaux. Les terminaux codex, codex exec et les chats de l'application de bureau reçoivent chacun une tuile affichant leur état, les outils utilisés, les attentes et la dernière réponse.
  • Niveaux d'urgence et couleurs : les sessions en cours s'affichent en bleu froid et s'illuminent en magenta-violet lorsqu'elles attendent une action. Les sessions en attente passent automatiquement au premier plan, et la touche 9 permet de basculer vers la première d'entre elles.
  • Approbations au pavé : pour les chats compatibles de l'application de bureau, appuyez sur Deny ou maintenez Allow (0,6 s) lors des approbations de commandes et répondez aux questions à choix multiples. Les sessions de terminal codex proposent Allow sur les touches (le refus s'effectue dans le terminal). Les exécutions codex exec ne sollicitent pas d'approbation (Codex 0.159.0), et les autres attentes affichent Answer on computer.
  • Hooks optionnels et SSH : pour un état compacté et des notifications plus rapides, installez les hooks optionnels dans Settings > Agents > Codex et approuvez-les dans Codex sous Settings > Hooks. Orbtile suit également les sessions de la CLI Codex distantes via SSH aux côtés de Claude Code et ZCode. Consultez Savoir quand une tâche Codex attend votre intervention et Watch Claude Code and Codex running on a remote server over SSH.

FAQ

How do I install the OpenAI Codex CLI?

Sur macOS ou Linux, exécutez le script install.sh depuis chatgpt.com/codex avec curl et sh, ou installez-le avec Homebrew ou npm. Sur Windows, lancez le script install.ps1 depuis chatgpt.com/codex dans PowerShell. Exécutez ensuite codex dans un répertoire de projet et connectez-vous avec votre compte ChatGPT ou une clé d'API.

Where does the OpenAI Codex CLI store its configuration and instructions?

Codex lit vos paramètres personnels dans ~/.codex/config.toml et les surcharges de projet dans .codex/config.toml au sein des dépôts approuvés. Il charge les instructions personnalisées globales depuis ~/.codex/AGENTS.md et superpose les instructions du dépôt depuis les fichiers AGENTS.md et AGENTS.override.md de la racine jusqu'à votre répertoire de travail.

How does codex exec work in scripts and CI pipelines?

La commande codex exec exécute Codex de façon non interactive sans ouvrir l'interface de terminal. Elle diffuse la progression sur l'erreur standard, affiche la réponse finale sur la sortie standard et fonctionne dans un bac à sable en lecture seule par défaut, sauf si vous indiquez workspace-write ou danger-full-access avec le drapeau sandbox.

Can I approve Codex CLI terminal commands from the Logitech MX Creative Keypad with Orbtile?

Pour les approbations de commandes en terminal Codex, Orbtile propose Allow sur le pavé en maintenant la touche correspondante pendant 0,6 seconde, tandis que le refus s'effectue dans le terminal. Pour les conversations locales compatibles de l'application de bureau Codex, le pavé propose Allow et Deny ainsi que la réponse aux questions à choix multiples.