Codex lit les informations de configuration à plusieurs emplacements. Vos paramètres personnels par défaut sont stockés dans ~/.codex/config.toml, et vous pouvez les remplacer au niveau d’un projet à l’aide de fichiers .codex/config.toml. Par mesure de sécurité, Codex ne charge les couches .codex/ propres à un projet que si vous avez déclaré ce projet fiable.
Fichier de configuration de Codex
Codex stocke la configuration au niveau utilisateur dans ~/.codex/config.toml. Pour limiter certains paramètres à un projet ou à un sous-dossier spécifique, ajoutez un fichier .codex/config.toml dans votre dépôt.
Pour ouvrir le fichier de configuration depuis l’extension IDE Codex, sélectionnez l’icône d’engrenage en haut à droite, puis Paramètres Codex > Ouvrir config.toml.
La CLI et l’extension IDE partagent les mêmes couches de configuration. Vous pouvez les utiliser pour :
- Définir le modèle et le fournisseur par défaut.
- Configurer les politiques d’approbation et les paramètres du bac à sable.
- Configurer les serveurs MCP.
Ordre de priorité de la configuration
Codex détermine les valeurs dans l’ordre suivant (de la priorité la plus élevée à la plus faible) :
- Options de la CLI et remplacements via
--config - Fichiers de configuration du projet :
.codex/config.toml, appliqués dans l’ordre de la racine du projet jusqu’au répertoire de travail actuel (le plus proche prévaut ; projets déclarés fiables uniquement) - Fichiers de profil sélectionnés avec
--profile profile-name(~/.codex/profile-name.config.toml) - Configuration utilisateur :
~/.codex/config.toml - Configuration système (si elle existe) :
/etc/codex/config.tomlsous Unix - Valeurs par défaut intégrées
Utilisez cet ordre de priorité pour définir les valeurs par défaut communes dans config.toml et réservez les fichiers de profil aux valeurs qui diffèrent.
Si vous marquez un projet comme non fiable, Codex ignore les couches .codex/ propres à ce projet, notamment sa configuration locale, ses hooks et ses règles. Les configurations utilisateur et système sont tout de même chargées, y compris les hooks et les règles définis au niveau utilisateur ou global.
Pour les remplacements ponctuels via -c/--config (y compris les règles d’utilisation des guillemets en TOML), consultez Configuration avancée.
Sur les machines gérées, votre organisation peut également imposer des contraintes via
requirements.toml (par exemple, interdire approval_policy = "never" ou
sandbox_mode = "danger-full-access"). Consultez Configuration
gérée et Exigences imposées
par l’administrateur.
Options de configuration courantes
Voici quelques-unes des options les plus souvent modifiées :
Modèle par défaut
Choisissez le modèle que Codex utilise par défaut dans la CLI et l’IDE.
model = "gpt-5.6"Demandes d’approbation
Déterminez quand Codex doit s’interrompre pour demander votre approbation avant d’exécuter les commandes générées.
approval_policy = "on-request"
Pour connaître les différences de comportement entre untrusted, on-request et never, consultez Exécuter sans demande d’approbation et Combinaisons courantes de bac à sable et d’approbation.
Niveau du bac à sable
Définissez le niveau d’accès de Codex au système de fichiers et au réseau pendant l’exécution des commandes.
sandbox_mode = "workspace-write"
Pour connaître le comportement propre à chaque mode (notamment les chemins .git/.codex protégés et les paramètres réseau par défaut), consultez Bac à sable et approbations, Chemins protégés dans les racines accessibles en écriture et Accès réseau.
Profils d’autorisation
Codex prend également en charge des profils d’autorisation nommés qui permettent de réutiliser les politiques d’accès au système de fichiers et
au réseau. Les profils intégrés sont :read-only, :workspace et
:danger-full-access. Les profils personnalisés utilisent des tables [permissions.<name>] et une
valeur default_permissions correspondante. Consultez Autorisations.
Mode du bac à sable sous Windows
Lorsque vous exécutez Codex de façon native sous Windows, définissez le mode natif du bac à sable sur elevated dans la table windows. N’utilisez unelevated que si vous ne disposez pas des droits d’administrateur ou si la configuration avec élévation échoue.
[windows]
sandbox = "elevated" # Recommended
# sandbox = "unelevated" # Fallback if admin permissions/setup are unavailable
Mode de recherche web
Codex active la recherche web par défaut pour les discussions locales et fournit des résultats issus d’un cache de recherche web. Ce cache est un index de résultats web géré par OpenAI. Le mode avec cache renvoie donc des résultats préindexés au lieu de récupérer les pages en direct. Cela réduit l’exposition aux attaques par injection de prompt provenant de contenus quelconques récupérés en direct, mais vous devez tout de même considérer les résultats web comme non fiables. Si vous utilisez --yolo ou un autre paramètre de bac à sable avec accès complet, la recherche web renvoie par défaut des résultats en direct. Choisissez un mode avec web_search :
"cached"(par défaut) renvoie les résultats du cache de recherche web."indexed"n’autorise l’accès web externe que lorsque la requête est contrôlée par l’index de recherche."live"récupère les données les plus récentes sur le web (comme--search)."disabled"désactive l’outil de recherche web.
web_search = "cached" # default; serves results from the web search cache
# web_search = "indexed" # gate external web access through the search index
# web_search = "live" # fetch the most recent data from the web (same as --search)
# web_search = "disabled"
Effort de raisonnement
Réglez l’effort que le modèle consacre au raisonnement lorsque cette option est prise en charge.
model_reasoning_effort = "high"
Style de communication
Définissez un style de communication par défaut pour les modèles compatibles.
personality = "friendly" # or "pragmatic" or "none"
Vous pouvez ensuite modifier ce paramètre dans une session active avec /personality, ou pour chaque fil de discussion ou tour de conversation lorsque vous utilisez les API App Server.
Raccourcis clavier de la TUI
Personnalisez les raccourcis clavier du terminal dans tui.keymap. Pour certaines actions de la zone de saisie, les raccourcis correspondants définis dans tui.keymap.global sont utilisés à défaut ; les raccourcis propres au contexte sont prioritaires lorsqu’ils sont pris en charge. Une liste vide supprime le raccourci associé à l’action.
[tui.keymap.global]
open_transcript = "ctrl-t"
[tui.keymap.composer]
submit = ["enter", "ctrl-m"]
[tui.keymap.chat]
interrupt_turn = "f12"
Environnement des commandes
Contrôlez les variables d’environnement que Codex transmet aux commandes qu’il lance. Utilisez des filtres par clé pour ne conserver que les variables dont vous avez besoin :
[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"
ignore_default_excludes vaut true par défaut, ce qui désactive le filtrage automatique
des noms de variables contenant KEY, SECRET ou TOKEN. Définissez cette option sur false
pour activer ce filtrage automatique. Pour les règles d’exclusion, l’ordre de priorité et
la configuration héritée, consultez Politique d’environnement
du shell.
Répertoire des journaux
Modifiez le répertoire dans lequel Codex écrit ses fichiers journaux locaux. Définir explicitement log_dir
active également le journal TUI facultatif en texte brut, codex-tui.log, dans ce répertoire.
log_dir = "/absolute/path/to/codex-logs"
Pour les exécutions ponctuelles, vous pouvez également le définir depuis la CLI :
codex -c log_dir=./.codex-log
Indicateurs de fonctionnalité
Utilisez la table [features] dans config.toml pour activer ou désactiver les fonctionnalités facultatives et expérimentales.
Indicateurs de fonctionnalité courants
| Clé | Valeur par défaut | Maturité | Description |
|---|---|---|---|
apps | true | Stable | Activer les intégrations d’applications (connecteurs) |
goals | true | Stable | Activer la persistance des objectifs et la poursuite automatique |
hooks | true | Stable | Activer les hooks de cycle de vie via hooks.json ou directement dans [hooks]. Consultez Hooks. |
fast_mode | true | Stable | Activer la sélection du mode Rapide et l’utilisation de service_tier = "fast" |
memories | false | Expérimental | Activer les Mémoires |
multi_agent | true | Stable | Activer les outils de collaboration avec les Sous-agents |
personality | true | Stable | Activer les contrôles permettant de choisir une personnalité |
remote_plugin | true | Stable | Activer le catalogue distant de plugins |
shell_snapshot | true | Stable | Créer un instantané de votre environnement shell afin d’accélérer les exécutions répétées de commandes |
shell_tool | true | Stable | Activer l’outil shell par défaut |
unified_exec | true, sauf sous Windows | Stable | Utiliser l’outil d’exécution unifié reposant sur un PTY |
web_search | true | Obsolète | Option héritée ; préférez le paramètre web_search de premier niveau |
web_search_cached | false | Obsolète | Option héritée qui se traduit par web_search = "cached" si ce paramètre n’est pas défini |
web_search_request | false | Obsolète | Option héritée qui se traduit par web_search = "live" si ce paramètre n’est pas défini |
Ce tableau répertorie les indicateurs courants destinés aux utilisateurs, et non toutes les fonctionnalités internes ou en cours de développement. La colonne Maturité comporte des libellés tels que Expérimental, Bêta et Stable. Consultez Maturité des fonctionnalités pour savoir comment interpréter ces libellés.
Pour configurer les hooks de cycle de vie, consultez Hooks.
Activation des fonctionnalités
- Dans
config.toml, ajoutezfeature_name = trueà la section[features]. - Depuis la CLI, exécutez
codex --enable feature_name. - Pour activer plusieurs fonctionnalités, exécutez
codex --enable feature_a --enable feature_b. - Pour désactiver une fonctionnalité, attribuez la valeur
falseà sa clé dansconfig.toml.