Accueil / Articles

Plugin Codex pour Claude Code : Installation, configuration, éviter les boucles de révision

Comment exécuter Codex et Claude Code ensemble : choisir un hôte, installer le plugin officiel, partager les règles AGENTS.md, utiliser les commandes de révision et de sauvetage, ainsi que limiter la boucle de révision.

Éditeur : REACTAPP.TOP17 min de lecture3926 mots

Sources: Codex Plugin for Claude Code: Choose, Install, and Run a Reliable Two-Agent Workflow

Tout ceux qui ont déjà fait fonctionner deux agents de codage en parallèle connaissent bien cette routine. Un terminal planifie, l’autre vérifie, et vous êtes coincé entre les deux, copiant du texte d’un côté à l’autre comme une clé de voûte remplie d’opinions. Si vous essayez d’automatiser cette interaction, les deux agents se mettent à se disputer au sujet des virgules, et la session que vous vouliez terminer avant le déjeuner continue de réécrire le même titre à quatre heures de l’après-midi.

Le plugin officiel d’OpenAI pour Claude Code, codex-plugin-cc, élimine la plupart de ces opérations de copie. Il vous permet d’appeler les fonctionnalités de revue, de délégation de tâches et de transfert de session de Codex directement depuis Claude Code. C’est rapide à mettre en place : installez la CLI de Codex sur l’ordinateur, enregistrez le marché d’OpenAI dans Claude Code, installez le plugin, rechargez l’application, puis exécutez la commande de configuration. Dans le cas inverse, où Claude s’exécute en tant qu’utilisateur invité à l’intérieur de Codex, il existe un plugin inverse distinct avec son propre chemin d’installation. Dans les deux cas, il est judicieux de partager d’abord les instructions relatives au projet et d’ajouter des règles de revue et de transfert avant d’automatiser tout processus itératif.

L’avantage provient d’un transfert plus rapide et non de modèles plus intelligents. Un dépôt disposant d’une seule terminal hôte, avec l’agent invité qui effectue lui-même l’examen, permet d’éviter aux utilisateurs de transférer manuellement chaque partie des différences entre les fenêtres. Les détails ci-dessous proviennent de la documentation des plugins et des articles de la communauté ; les commandes ou les noms de modèles ont pu changer depuis leur collecte, il convient donc de les vérifier contre les README actuels avant de s’y fier.

Choisissez la direction avant d’installer quoi que ce soit

Imaginez qu’il vous faille monter dans une voiture où deux unités de navigation s’allument en même temps. L’une préfère les autoroutes et l’autre les rues secondaires, et aucune ne vous demande de désigner un conducteur. Si vous quittez l’allée sans décider qui prendra la prochaine décision de direction, vous vous retrouverez bloqué tandis que les deux écrans se contredisent.

Le problème fondamental réside dans l’hôte. Le plugin Codex pour Claude Code agit comme un navigateur supplémentaire, et non comme un volant de direction additionnel ; il est donc nécessaire de déterminer quel terminal sera utilisé avant d’exécuter la première commande d’installation.

Il existe deux approches, chacune nécessitant sa propre procédure. Une commande $cc: ne convient pas à une session Claude Code, et une commande /plugin collée dans Codex ne fera pas apparaître le même plugin.

Méthode officielle : Codex intégré à Claude Code

C’est le produit propre d’OpenAI à cette fin, codex-plugin-cc. Claude Code reste l’espace de travail, tandis que Codex s’y intégre en tant qu’agent visiteur capable d’examiner du code, de remettre en question une conception, de prendre en charge des corrections, d’exécuter des tâches en arrière-plan et de transférer une session d’un endroit à un autre.

Un marché de plugins n’est rien d’autre que le registre que Claude Code consulte pour trouver des plugins qu’il peut installer. La procédure consiste à ajouter le marché d’OpenAI, à installer codex@openai-codex, à recharger la page, puis à exécuter /codex:setup. Le plugin communique avec votre interface CLI Codex locale ainsi qu’avec le serveur d’applications Codex, sans lancer de runtime cloud distinct. Choisissez cette approche lorsque Claude Code est déjà en place là où vous souhaitez effectuer la recherche et les actions nécessaires. Lorsqu’un article de blog et le fichier README du répertoire sont en désaccord, c’est le README qui l’emporte.

Approche inverse : Claude à l’intérieur de Codex

cc-plugin-codex de Sendbird fonctionne de manière inverse. Codex sert d’hôte, et Claude Code est appelé en tant qu’invité, généralement via un nouveau sous-processus non interactif claude -p par tâche. L’installation a lieu à l’intérieur de Codex :

codex plugin marketplace add sendbird/codex-marketplace
codex plugin add cc@sendbird
$cc:setup

Il existe un outil idempotent, npx cc-plugin-codex install, qui peut être exécuté à nouveau pour les mises à jour. $cc:setup vérifie les hooks, la fiabilité du cache ainsi que les chemins écrivables, et les hooks inversés nécessitent également hooks = true dans la section [features] de ~/.codex/config.toml.

Il existe aussi une troisième option non officielle : un marché communautaire (yanchuk/claude-plugin-codex) disposant d’une commande $claude setup. Considérez-le comme un logiciel communautaire et ne le confondez pas avec le plugin d’OpenAI.

Si vous souhaitez savoir quel produit est le meilleur, il s’agit d’une comparaison différente ; la discussion ici porte uniquement sur l’intégration. En bref, la décision dépend de savoir qui est l’hôte, qui est l’invité, et quelle entrée d’installation vous êtes autorisé à saisir.

Installation du plugin officiel dans Claude Code

Le reste de cette section suit le parcours officiel, sauf indication contraire dans un en-tête. Les comparaisons de marques, VS Code et Cursor constituent des sujets distincts, et la CLI elle-même, y compris les installateurs de plateforme et les paramètres de sandbox pour la première exécution, dispose de sa propre documentation d’installation.

Les choses échoueront si Node.js est plus ancien que 18.18, si Codex n’est pas authentifié sur la machine, ou si vous sautez l’étape de rechargement avant de conclure que le plugin est défectueux.

Vérifier les exigences documentées

Le plugin officiel nécessite Node.js 18.18 ou une version plus récente. Le plugin inverse de Sendbird ne requiert que Node.js 18+, mais ceux qui empruntent la voie officielle doivent respecter des exigences plus élevées. Vous avez également besoin d’une CLI Codex locale fonctionnelle ainsi que d’un moyen de la payer, ce qui signifie un abonnement ChatGPT (l’abonnement gratuit est accepté, selon le README source) ou une clé API OpenAI. Claude Code impose sa propre exigence : soit une clé API Anthropic, soit un abonnement Claude Pro ou Max. Cela donne deux produits et deux factures, et le plugin ne les combine pas.

Si la CLI est manquante, installez-la :

npm install -g @openai/codex

Ensuite, authentifiez-vous selon le flux Claude Code décrit dans la documentation :

!codex login

Évitez les sites miroirs et les listes d’exécutables de tiers. Les packages légitimes sont le répertoire GitHub et la CLI npm ciblée. Et si votre outil quotidien se trouve dans la barre latérale d’un IDE et non dans Claude Code, vous avez affaire à un hébergeur différent qui possède ses propres instructions.

Ajouter le marché, installer, recharger, configurer

L’installation du plugin officiel nécessite quatre commandes contenant un slash. Une commande contenant un slash est une /commande saisie dans la session Claude Code et non un fichier binaire situé sur votre chemin shell. Exécutez-les dans cet ordre :

/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup

/reload-plugins met à jour la liste des plugins actifs, et l’omettre peut vous laisser avec une installation réussie dont les commandes semblent toujours manquer. /codex:setup confirme que Codex est authentifié et, en l’absence d’une interface CLI, peut proposer d’installer le paquet global @openai/codex à l’aide de npm. Telle est toute l’installation officielle. La plupart des problèmes que les gens attribuent aux plugins proviennent en réalité des étapes qui l’entourent.

Configurer Codex pour le projet et non seulement l’ordinateur

Une installation globale vous fournit des commandes. Elle ne précise pas à Codex comment un répertoire particulier doit être géré. Les paramètres par défaut de l’utilisateur et les modifications spécifiques au projet se trouvent dans des fichiers distincts, et le fichier du projet n’est chargé que lorsque le projet est considéré comme fiable.

Une erreur fréquente consiste à modifier le fichier utilisateur pour définir le modèle d’un projet, puis de se demander pourquoi un second répertoire l’a hérité. L’héritage fait partie de la conception : cette modification a configuré la machine, et non l’arborescence.

Paramètres utilisateur versus modifications spécifiques au projet fiable

La configuration au niveau de l’utilisateur se trouve dans ~/.codex/config.toml, le fichier du répertoire personnel que Codex lit pour chaque projet. Les modifications spécifiques à un projet fiable se trouvent dans .codex/config.toml au niveau de la racine du répertoire. Le terme « fiable » fait référence au flag de confiance du projet dans Codex : les modifications ne sont chargées que si le répertoire est marqué comme fiable, et un arbre non fiable ignore le fichier local. Il s’agit d’une limite de sécurité et non d’une erreur ; par conséquent, lorsque le fichier du projet ne semble pas se charger, vérifiez d’abord le niveau de confiance avant de déboguer le fichier TOML.

Une répartition judicieuse conserve les secrets et la prudence par défaut dans le fichier utilisateur, tandis que les choix relatifs au modèle et à l’environnement de test spécifiques au dépôt sont placés dans le fichier du projet une fois que l’arborescence a été jugée fiable.

Comportement du modèle et du raisonnement

Deux clés sont importantes ici : model et model_reasoning_effort. Le README de la source illustre une modification de projet de cette manière :

model = "gpt-5.4-mini"
model_reasoning_effort = "high"

Considérez ces valeurs comme des exemples qui deviennent rapidement obsolètes. Les étiquettes de modèle évoluent rapidement, et une chaîne de caractères vue sur un capture d’écran peut être dépassée une semaine plus tard. Copiez les clés, puis vérifiez à nouveau leurs valeurs par rapport à la documentation actuelle avant de les soumettre dans un dépôt. Le plugin accepte également l’abréviation spark, qui correspond à gpt-5.3-codex-spark ; cette correspondance est documentée mais tout aussi sujette à l’obsolescence, et si une version ultérieure du README la supprime, suivez les indications de ce dernier.

model_reasoning_effort = "high" n’est pas un curseur de qualité gratuit, car un niveau plus élevé consomme davantage de tokens à chaque tour. Réservez-le pour des défis de conception ou en cas d’échec de test grave, et n’activez-le pas pour une simple modification de nom.

Approbations et environnement d’essai

Un guide ShakaCode tiers décrit les paramètres d’override interactifs et les clés d’environnement que le README officiel du plugin ne met pas en avant, il convient donc de les considérer comme des indications fournies par un tiers. approval_policy contrôle le moment où Codex demande l’autorisation avant d’agir, les valeurs possibles étant untrusted et on-request. sandbox_mode limite ce que le processus est autorisé à modifier, les options possibles étant read-only, workspace-write et danger-full-access.

approval_policy = "untrusted"
sandbox_mode = "workspace-write"

Dans le guide cité, c’est le profil standard pour le travail sur les fonctionnalités : Codex peut écrire à l’intérieur de l’espace de travail mais demande toujours une confirmation avant d’agir, comme si le arborescence n’était que partiellement fiable. Réservez danger-full-access aux exécutants de tests et aux scripts de construction en lesquels vous avez déjà confiance, et n’utilisez jamais cette option pour examiner pour la première fois un dépôt inconnu.

Au niveau de la ligne de commande, codex --auto-edit demande toujours une confirmation avant d’exécuter le shell, tandis que codex --full-auto fonctionne entièrement en environnement isolé sans aucune demande. Ces options modifient le comportement de confirmation et ne sont pas des synonymes ; donc, n’optez pas pour --full-auto simplement parce qu’il semble plus décisif.

Beaucoup de personnes installent un deuxième plugin afin de ne pas manquer une fonctionnalité, alors que ce qui manque est en réalité une décision concernant l’hôte qui doit être prise avant même d’exécuter la première commande.

Une seule source de vérité pour le projet, pour les deux agents

Deux agents sur un même arbre, sans instructions communes, inventeront deux styles de code d’ici jeudi. On peut s’attendre à des règles de nettoyage redondantes, des commandes de test dupliquées, ainsi qu’à une révision qui annule une convention que l’autre agent venait à peine de rétablir. Codex tire ses règles de dépôt de AGENTS.md, un fichier Markdown, tandis que CLAUDE.md correspond au fichier pour Claude Code. Ce dont vous avez besoin, c’est d’une politique définissant la manière dont les deux agents doivent interagir, car rien ne les maintient alignés à moins que quelqu’un ne s’en charge.

La description la plus bien documentée des options se trouve dans claude-code-with-codex.md de ShakaCode. Elle est datée selon les noms des modèles, donc utilisez-la pour définir la stratégie de fichiers et non pour les étiquettes par défaut des modèles.

Référencer un seul fichier d’instructions

Placez les commandes de construction, les notes architecturales et les conventions dans AGENTS.md, et transformez CLAUDE.md en un simple pointeur :

# Project Instructions
See @AGENTS.md for build commands, architecture, and conventions.

Deux fichiers restent, et les notes spécifiques à Claude peuvent toujours être placées sous le pointeur. Le coût réside dans l’entretien, car oublier de mettre à jour le pointeur fait en sorte que Claude suive un fichier inactif. Codex peut également être configuré pour utiliser une alternative en l’absence de AGENTS.md, via ~/.codex/config.toml:

project_doc_fallback_filenames = ["CLAUDE.md", "COPILOT.md"]

C’est un chemin de lecture et non une fusion. Codex cherchera ces noms de fichiers, mais il ne combinera pas trois fichiers en une seule politique.

Symlinker les règles universelles

La version rapide consiste en une seule commande :

ln -s AGENTS.md CLAUDE.md

Un inode, deux noms : les règles universelles restent donc identiques. Cependant, il y a un compromis réel : on ne peut pas séparer les directives spécifiques à chaque outil, car il n’y a plus de deuxième fichier. Si Claude a besoin d’un crochet que Codex ne doit jamais voir, un lien symbolique ne peut pas le représenter.

Conserver un noyau commun avec des ajouts spécifiques à chaque outil

Les règles qui doivent être identiques, comme la commande de test, les paramètres de linting et l’interdiction de réécrire le formatage, doivent figurer dans AGENTS.md, tandis que les notes réservées uniquement à Claude ou à Codex vont dans CLAUDE.md. C’est l’option la plus aboutie, mais elle exige une maintenance attentive, c’est pourquoi les équipes l’évitent et blâment ensuite les modèles pour leurs écarts.

Si les deux agents vont modifier en même temps, des instructions partagées ne suffisent pas. Il faut isoler leurs arbres de travail, en utilisant généralement git worktrees, afin qu’ils ne se disputent pas un même index. Des écritures simultanées sur une seule version produisent des conflits de fusion que ni l’un ni l’autre agent n’a intentionnellement causés.

Revue, défis, interventions de sauvetage et travail en arrière-plan

Avec le plugin chargé, on a tendance à vouloir automatiser tout ce qui est possible. La meilleure pratique consiste à utiliser la commande la plus simple adaptée à la tâche, car une revue en lecture seule n’est pas une mise en œuvre, et une mise en œuvre n’est pas un argument de conception.

Revue simple ou revue adverse

/codex:review déclenche une vérification de correction en lecture seule des modifications locales non commitées ou d’une base spécifiée. Il accepte les paramètres --base <ref>, --wait et --background, et il n’écrit jamais de fichiers.

/codex:review --background

/codex:adversarial-review est un défi de conception pilotable qui remet en question les décisions, et du texte libre peut suivre les balises.

/codex:adversarial-review --base main challenge whether this was the right caching and retry design

Sur le chemin inverse, les équivalents sont $cc:review et $cc:adversarial-review, qui accomplissent les mêmes tâches mais sous un hôte différent. Ne mélangez pas les préfixes. Une revue qui ne fait que critiquer l’ordre des importations n’est pas une véritable revue ; il faut donc formuler la question fonctionnelle dans la commande. Si vous ne pouvez pas formuler la question, vous n’êtes pas prêt à passer un tour de raisonnement.

Transfert d’une correction via rescue

/codex:rescue transfère le travail d’implémentation au sous-agent du plugin codex:codex-rescue, et contrairement aux commandes de revue, il modifie des fichiers. Ses flags incluent --background, --wait, --resume et --fresh.

/codex:rescue fix the failing test with the smallest safe patch

L’équivalent inverse est $cc:rescue. Restez précis dans votre demande, car demander de « l’améliorer » entraîne une réécriture que vous ne souhaitez pas et un cycle d’évaluation impossible à interrompre.

Suivi et contrôle des tâches en arrière-plan

Par « en arrière-plan », on entend que la tâche du plugin continue de s’exécuter tandis que vous utilisez Claude Code. Il ne s’agit pas d’un deuxième processus de vérification, et cela ne garantit en aucun cas que le travail est terminé.

/codex:status
/codex:result
/codex:cancel

/codex:status indique l’état des tâches en arrière-plan, /codex:result affiche leurs résultats et /codex:cancel les arrête. Effectuez des vérifications de manière intentionnelle et ne considérez pas le silence comme un succès. Le plugin inverse propose les mêmes trois commandes sous la forme de $cc:status, $cc:result et $cc:cancel ; c’est encore une fois l’hôte qui choisit le préfixe.

Transfert de contexte et création d’un cycle de transfert limité

Une revue dans Claude Code n’est pas identique à une session Codex qui permet de voir les raisonnements antérieurs, et lorsque le fil d’investigation est déjà long, la copie-collage fait que les informations se perdent. /codex:transfer constitue la solution prévue à ce problème. Une synchronisation parfaite de l’état n’est pas possible. Ce que vous obtenez, c’est un fil Codex persistant ainsi qu’une commande de résumé imprimable, permettant ainsi au dialogue de passer d’un outil à l’autre sans qu’un humain doive agir à nouveau comme intermédiaire.

Poursuivre dans Codex après un transfert

/codex:transfer cherche le transcript source dans ~/.claude/projects ; si le fichier JSONL n’y est pas, le transfert ne peut pas le créer. Ce qu’il affiche doit être exécuté dans l’application Codex ou en mode TUI :

codex resume <session-id>

Utilisez l’ID de session émis par la commande, jamais un ID inventé ni une URL de conversation de ChatGPT collée.

Planifier, mettre en œuvre, examiner, rendre

Le cycle qui maintient réellement les choses en marche est monotone :

  1. Planifiez dans Claude Code et écrivez d’abord la ligne d’acceptation.
  2. Mettez en œuvre, soit dans Claude Code, soit via /codex:rescue lorsque le correctif est délimité.
  3. Examinez avec /codex:review ou /codex:adversarial-review, un par un.
  4. Rendez le contrôle à une personne qui peut valider, rejeter ou faire monter l’affaire en grade.

Le processus doit avoir une fin. Un cercle qui revient toujours à « une autre passe » transforme le processus en un véritable enfer.

Arrêter le cycle d’examen infini : un protocole de conflit et de budget

La fonctionnalité conçue pour améliorer la qualité peut épuiser le budget en raison de questions liées au goût. L’exécution de /codex:setup --enable-review-gate ajoute un crochet local Stop, c’est-à-dire un crochet à la fin d’une manche : une fois que Claude tente de terminer, Codex est sollicité pour vérifier le résultat avant que la manche ne puisse se clore. Si Codex détecte des problèmes, Claude est bloqué afin qu’il puisse les résoudre. En l’absence de surveillance, ce cycle circulaire peut consommer rapidement les tokens. La documentation officielle met en garde contre ce phénomène, mais ne propose aucun protocole de gestion budgétaire.

La limite de trois itérations mentionnée ci-dessous constitue une orientation éditoriale issue de cette lacune et non une fonctionnalité officielle du plugin. Il n’existe pas de flag --max-iterations 3 à rechercher.

Définissez d’abord les critères d’acceptation fonctionnelle

Écrivez la liste des obstacles avant que quiconque ne fasse une revue, et assurez-vous qu’elle reste fonctionnelle : tests qui doivent réussir, comportements qui ne doivent pas dégrader, ainsi que problèmes de sécurité ou de données qui entraînent un rejet automatique. La mise en forme, le ton des commentaires et le niveau des titres ne constituent pas d’obstacles à moins que le fichier de directives du dépôt ne les interdise déjà. Intégrez les critères stylistiques dans le système de contrôle, sinon deux agents passeront trois tours à se disputer au sujet d’un H2.

Un cas d’avertissement : avec le système de contrôle de revue activé sur un commit ne contenant que des documents, les deux agents ont débattu pendant longtemps pour savoir si un titre devait être H2 ou H3, jusqu’à ce que la session soit interrompue, bien que la page fût déjà correcte. En l’absence de définition claire de ce qui est considéré comme terminé, le système a inventé ses propres règles. Stockez la liste de contrôle dans AGENTS.md, afin que les deux agents voient les mêmes règles. Il est acceptable de la réécrire dans la commande de revue, mais une demande vague comme « rendez-le plus propre » incite à une réécriture complète.

Limitez les itérations et forcez une décision humaine

Restez limité à trois tours de révision et de correction par modification :

  • Itération 1 : uniquement les blocages fonctionnels.
  • Itération 2 : tous les blocages restants, sans nouvelles erreurs de style.
  • Itération 3 : dernière passe, puis arrêt.

Après trois itérations, une personne décide s’il faut fusionner, annuler ou réécrire la spécification, et les agents ne peuvent pas voter à nouveau. Les discussions communautaires concernant des enveloppes tmux et des scripts personnalisés sont considérées comme des preuves expérimentales et non comme une deuxième voie officielle ; traitez donc ces scripts comme le travail d’autrui et non comme des commandes d’OpenAI.

Arrêtez-vous lorsque rien n’a vraiment changé

Le plugin inverse de Sendbird prend l’empreinte digitale du arbre de travail et omet l’examen de fin de tour lorsque la dernière étape de Codex n’a apporté aucun changement réel. Cette mesure de sécurité est documentée pour le chemin inverse, mais le système en amont ne prévient pas de ce saut. Sur le chemin officiel, c’est l’empreinte digitale qui compte : si git status indique que tout est en ordre, on saute un autre examen ; si la dernière étape n’a modifié que des commentaires, on vérifie s’ils figurent sur la liste d’acceptation et on arrête si ce n’est pas le cas.

Attendez d’avoir effectué au moins un examen manuel pour valider la liste de contrôle avant d’automatiser le système de vérification. Activez --enable-review-gate en dernier, et jamais en premier.

Résolution de problèmes par chemin, authentification, confiance et tâches obsolètes

Diagnostiquez le chemin avant de réinstaller quoi que ce soit. Les pannes sur le chemin officiel upstream et les problèmes liés aux hooks du plugin inverse ressemblent dans un message de chat frustrant, mais ils ne concernent pas le même système. La réinstallation n’est presque jamais la première étape à vérifier.

Le chemin officiel upstream

  • Les commandes du plugin ne sont pas disponibles : exécutez /reload-plugins. Si elles manquent toujours, assurez-vous que /plugin install codex@openai-codex s’est bien terminé, puis exécutez /codex:setup.
  • Codex ne peut pas s’authentifier : tapez !codex login comme indiqué dans le flux de Claude Code. Le plugin lit l’état d’authentification local, et une fenêtre du navigateur de ChatGPT connectée ne constitue pas une interface en ligne de commande connectée.
  • Défauts de surcharge du projet ignorés : assurez-vous que le projet est fiable, et que les modifications ont été apportées dans .codex/config.toml au niveau racine du répertoire, et non seulement dans le fichier du répertoire personnel.
  • Transfer ne parvient pas à trouver la transcription : le fichier JSONL doit se trouver sous ~/.claude/projects ; une session qui n’y a jamais écrit ne peut pas être transférée. Démarrez d’abord une véritable session de projet Claude Code.
  • Tâches en arrière-plan obsolètes : utilisez /codex:status, puis /codex:result ou /codex:cancel ; ne lancez pas une deuxième tentative de récupération simplement parce que la première est restée silencieuse.
  • Erreurs de version de Node : le plugin nécessite une version 18.18 ou ultérieure, donc exécutez node -v avant d’ouvrir un problème.
  • Hook du plugin inverse et confiance dans le cache

    Si les hooks inversés ne fonctionnent pas, définissez hooks = true sous [features] dans ~/.codex/config.toml. Si la configuration inverse semble incomplète, exécutez $cc:setup, qui a pour but de valider les hooks, de confirmer la fiabilité des caches et des chemins écrivables. Pour le plugin communautaire, $claude setup constitue la vérification propre à ce projet ; étant donné qu’il s’agit d’un outil non officiel, ses échecs ne doivent pas être rapportés auprès de openai/codex-plugin-cc. La prise en charge sous Windows sur le chemin proposé par Sendbird est qualifiée de « expérimentale » dans son dépôt, il est donc préférable d’utiliser un espace de travail WSL si l’objectif est d’utiliser le plugin inverse.

    Réponses rapides aux questions fréquentes

    Y a-t-il une façon correcte de les combiner ? Pas vraiment. La première décision concerne l’outil qui héberge la session. Avec Claude Code en tant qu’hébergeur, le plugin OpenAI, ainsi que des fichiers d’instructions partagés et des tâches courtes en format slash-command, suffisent. Avec Codex en tant qu’hébergeur, le plugin inverse de Sendbird et son préfixe $cc: remplissent la même fonction du côté opposé. Il faut garder ces deux procédures séparées et s’assurer que les deux agents n’accèdent pas aux mêmes fichiers en même temps.

    Quel est exactement le texte à entrer pour installer le plugin officiel ? Quatre lignes dans la fenêtre de commande de Claude Code, dans cet ordre : l’ajout du marché pour openai/codex-plugin-cc, l’installation de codex@openai-codex, un rechargement du plugin, et /codex:setup. Si le Codex CLI n’est pas encore présent sur la machine, l’installation peut proposer de le télécharger, ou vous pouvez installer @openai/codex vous-même à l’avance et vous connecter avec !codex login.

    Le plugin dispose-t-il de son propre backend Codex ? Non. Tout est redirigé vers le Codex CLI et le serveur d’application déjà présents sur votre ordinateur, de sorte que la même connexion ainsi que le même forfait ChatGPT ou clé API s’appliquent. Les mêmes droits d’accès requis par ce CLI restent nécessaires.

    Quel est le moyen le plus propre de fournir les mêmes règles aux deux agents ? Trois approches fonctionnent : faire en sorte que CLAUDE.md pointe vers AGENTS.md, créer un lien symbolique entre les deux fichiers, ou placer le noyau commun dans AGENTS.md et conserver les éléments spécifiques à l’outil dans CLAUDE.md. Une configuration de nom de fichier de secours dans les paramètres de l’utilisateur permet à Codex de lire le fichier de Claude en l’absence de AGENTS.md. Le lien symbolique est la méthode la plus rapide, mais au prix de l’absence des fichiers spécifiques à l’outil.

    Où se trouve le choix du modèle par projet ? Dans un fichier .codex/config.toml situé à la racine d’un projet que vous avez marqué comme fiable, en utilisant les clés model et model_reasoning_effort. Les valeurs d’exemple fournies dans la documentation, comme gpt-5.4-mini et high, deviennent rapidement obsolètes, il est donc conseillé de les vérifier. Un projet non fiable recourt silencieusement aux paramètres par défaut de l’utilisateur.

    À quoi sert le contrôle des avis ? En l’activant, un hook Stop local est enregistré. Lorsque Claude tente de terminer une manche, Codex vérifie d’abord le travail en cours, et tout problème détecté bloque la manche afin que Claude puisse les corriger. Sans surveillance, cela peut consommer des tokens. Le plugin inverse permet de sauter une vérification lorsque rien n’a changé dans l’arbre de travail, mais il s’agit là d’un comportement propre à ce plugin et non d’une promesse de la partie upstream.

    Comment une session est-elle transférée ? Exécutez /codex:transfer dans Claude Code. Cela transforme le transcript enregistré sous ~/.claude/projects en un thread Codex persistant et affiche une ligne codex resume contenant l’ID de la session, que vous pouvez ensuite exécuter dans l’application Codex ou dans le TUI. L’absence de transcript dans ce dossier signifie qu’il n’y a rien à transférer.

    Comment empêcher ces deux personnes de gaspiller des jetons ? Définissez à l’avance des critères d’acceptation uniquement fonctionnels, autorisez trois tours de révision et de correction, puis faites intervenir un humain. Activez le contrôle de qualité uniquement après une révision manuelle réussie. Si git status indique un arbre propre, ou si la dernière étape n’a touché qu’au style sans que personne ne soit identifié comme obstacle, mettez fin vous-même à ce cycle.

    Un premier essai sûr

    Choisissez un répertoire que vous comprenez déjà ainsi qu’un test qui échoue ou une petite modification à examiner, puis effectuez un commit ou un stash en premier. Installez uniquement la version officielle et exécutez /codex:review sur cette modification. Lisez le résultat, puis appliquez-le ou le rejetez vous-même, et laissez --enable-review-gate désactivé le premier après-midi.

    Si cette revue s’avère utile, partagez AGENTS.md ensuite et essayez une seule commande /codex:transfer dans un thread de débogage réel. C’est tout l’expérience. Les noms des modèles continueront de changer, mais la décision concernant l’hôte ainsi que la condition d’arrêt resteront pertinentes. Ce qui reste flou, c’est la durée pendant laquelle les équipes supporteront deux factures et deux fichiers d’instructions avant que quelqu’un ne demande à nouveau un seul fournisseur. Pour l’instant, la version sensée de cette pile logicielle est une sonnette avec des règles de maison, et non un colocataire disposant d’une clé.