
Codex CLI avec un fournisseur personnalisé : config.toml, modèles GPT et Claude, extension IDE et correctifs
Codex lit un seul fichier, ~/.codex/config.toml, partagé par la CLI, codex exec et l’extension pour IDE. Un fournisseur personnalisé défini dans ce fichier dirige Codex vers cette passerelle, où la même configuration permet d’utiliser des modèles GPT et Claude. Les versions actuelles de Codex utilisent uniquement la Responses API (wire_api = "responses"), de sorte que les anciens guides qui utilisent wire_api = "chat" ne fonctionnent plus.
Installer Codex
# macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or with a package manager
npm install -g @openai/codex
brew install --cask codex
codex --versionpowershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"L’extension Codex pour VS Code, Cursor et Windsurf s’installe depuis la place de marché des extensions de l’éditeur et utilise le même ~/.codex/config.toml que la CLI ; tout ce qui suit s’applique donc aux deux.
Utiliser une clé du bon groupe
Une clé de passerelle appartient à un groupe, et ce groupe détermine les modèles qu’elle peut appeler. Pour les modèles GPT, créez la clé dans le groupe **Codex** du tableau de bord. Pour les modèles Claude, toute clé Claude avec paiement à l’usage convient. Une clé d’un groupe Unlimited nécessite une offre active ; sans celle-ci, chaque requête échoue avec No active subscription found for this group.
export AIPRIME_CODEX_KEY=key_from_the_codex_group # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group # Claude modelssetx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwardsconfig.toml pour les modèles GPT
model_provider = "aiprime"
model = "gpt-6-astra"
model_reasoning_effort = "high"
[model_providers.aiprime]
name = "AI Prime Tech"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CODEX_KEY"
wire_api = "responses"
supports_websockets = false| Définir | Pourquoi |
|---|---|
[model_providers.aiprime] | Tout identifiant sauf l’identifiant réservé openai, ollama et lmstudio |
base_url = "https://aiprimetech.io/v1" | Codex ajoute /responses à cette valeur |
env_key | Le **nom** de la variable d’environnement contenant la clé, et non la clé elle-même |
wire_api = "responses" | La seule valeur acceptée par les versions actuelles de Codex |
supports_websockets = false | Maintient Codex en streaming HTTP simple, qui fonctionne avec n’importe quel proxy ou VPN |
requires_openai_auth = true ou experimental_bearer_token à ce fournisseur. Avec requires_openai_auth = true Codex ignore env_key et envoie à la place vos identifiants de connexion ChatGPT ou OpenAI, que la passerelle refuse.Utiliser Codex avec les modèles Claude
La passerelle accepte les requêtes Responses API pour les modèles Claude et les convertit, ce qui permet à Codex de piloter également Claude. Ajoutez un second fournisseur qui utilise votre clé Claude, puis un profil pour basculer vers celui-ci.
[model_providers.aiprime_claude]
name = "AI Prime Tech (Claude)"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CLAUDE_KEY"
wire_api = "responses"
supports_websockets = falsemodel_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"codex --profile claude
codex exec --profile claude "review the last commit for bugs"Depuis Codex 0.134.0, chaque profil dispose de son propre fichier, ~/.codex/<name>.config.toml, avec ses clés au niveau racine ; [profiles.<name>] les tables dans config.toml ne sont plus lues. Les profils et les fournisseurs ne peuvent être définis que dans votre configuration utilisateur : le fichier du projet .codex/config.toml ignore model_provider et model_providers.
Modèles et effort de raisonnement
| Identifiant du modèle | Fournisseur | À utiliser pour |
|---|---|---|
gpt-6-astra | Clé du groupe Codex | Le modèle GPT le plus puissant de la passerelle ; longues tâches d’agent |
gpt-6-sol | Clé du groupe Codex | Un modèle GPT plus rapide et moins cher pour la programmation courante |
gpt-5.6-terra | Clé du groupe Codex | Tâches simples et modifications rapides |
claude-sonnet-5 | Clé Claude | Le modèle Claude par défaut pour les tâches de programmation |
claude-opus-5-5 | Clé Claude | Raisonnement plus complexe et refactorisations importantes |
claude-fable-5-1 | Clé Claude | Le plus performant et le plus cher |
model_reasoning_effort accepte low, medium, high, xhigh ou max, selon le modèle. Ne définissez pas none : ces modèles refusent cette valeur avec 'none' is not supported. review_model définit un modèle différent pour /review si vous le souhaitez. Le tableau de bord affiche tous les modèles que le groupe de votre clé peut appeler.
Extension pour IDE et codex exec
L’extension pour IDE lit le même config.toml, mais env_key est résolu à partir de l’environnement propre à l’éditeur. Un éditeur lancé depuis le Dock ou le menu Démarrer ne voit pas les variables exportées dans .bashrc, et Codex échoue alors avec Invalid API key alors que la CLI fonctionne. Définissez la variable au niveau du système (sous Windows, setx permet de le faire), ou lancez l’éditeur depuis un terminal, par exemple code ..
codex exec exécute une seule tâche sans interface interactive, ce qui convient aux scripts et à la CI. Il utilise la même configuration et les mêmes profils :
codex exec "write unit tests for utils.py"
codex exec --profile claude "summarise the changes on this branch"
codex login status # which authentication method is activeNouvelles tentatives et délais d’attente
Chaque fournisseur possède ses propres paramètres de nouvelle tentative et de streaming. Les valeurs par défaut sont de 4 nouvelles tentatives de requête, 5 reconnexions du flux et un délai d’inactivité de 5 minutes par flux. Les longues phases de raisonnement peuvent rester silencieuses pendant un certain temps ; augmenter le délai d’inactivité est donc utile pour les niveaux d’effort élevés.
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000Dépannage : erreurs rencontrées par les utilisateurs de Codex
Les erreurs ci-dessous sont celles que les clients Codex produisent réellement sur cette passerelle, classées de la plus courante à la moins courante.
| Ce que vous voyez | Cause | Solution |
|---|---|---|
403 No active subscription found for this group | La clé appartient à un groupe Unlimited sans offre active | Utilisez une clé d’un groupe avec paiement à l’usage (Codex pour GPT), ou souscrivez une offre |
401 Invalid API key | La variable est vide dans le processus qui exécute Codex (souvent l’IDE), ou requires_openai_auth = true a amené Codex à envoyer d’autres identifiants de connexion | echo $AIPRIME_CODEX_KEY ; supprimez requires_openai_auth ; redémarrez l’éditeur |
404 Model "..." is not supported by any configured account in this group | Le modèle n’appartient pas au groupe de la clé, par exemple un modèle Claude avec une clé GPT | Changez de fournisseur ou de profil pour que la clé corresponde au modèle |
426 WebSocket upgrade required | Le transport WebSocket est activé, mais la connexion n’a pas été mise à niveau | supports_websockets = false, et supprimez responses_websockets_v2 de [features] |
403 Your API key has expired | La clé a été créée avec une date d’expiration | Créez une nouvelle clé dans le tableau de bord |
'none' is not supported | Effort de raisonnement défini sur none | Utilisez low ou un niveau supérieur |
404 page not found | base_url contient /v1 deux fois | Utilisez exactement https://aiprimetech.io/v1 |
Erreur de configuration concernant wire_api après une mise à niveau | A wire_api = "chat" ligne provenant d’un ancien guide | Définissez wire_api = "responses" |
Your balance is used up | Le solde est nul | Recharger |
Concurrency limit exceeded for user | Plusieurs agents ou fenêtres Codex fonctionnent en même temps | Réduisez le nombre d’exécutions en parallèle ou demandez au support une limite de concurrence plus élevée |
Vous comparez Codex et Claude Code avant de choisir ? Consultez Claude Code vs Codex.
Questions fréquentes
Où se trouve le fichier de configuration de Codex ?
La CLI Codex peut-elle utiliser les modèles Claude ?
wire_api = "chat" fonctionne-t-il encore dans Codex ?
Pourquoi l’extension Codex pour VS Code indique-t-elle que la clé API est invalide alors que la CLI fonctionne ?
Que signifie « Aucun abonnement actif trouvé pour ce groupe » dans Codex ?
Obtenez une clé API — aucun compte Anthropic ni inscription sur liste d’attente requis.
Obtenir votre clé APIAI Prime Tech est une passerelle API indépendante. Elle n’est ni affiliée à Anthropic, ni approuvée par Anthropic, ni revendeuse d’Anthropic. Claude et les noms de modèles associés sont des marques de leurs propriétaires respectifs.