Utilisez cette page comme référence pour rechercher des informations sur les fichiers de configuration de Codex. Pour comprendre les concepts et consulter des exemples, commencez par les pages Principes de configuration et Configuration avancée.
config.toml
La configuration utilisateur se trouve dans ~/.codex/config.toml. Vous pouvez également redéfinir certains paramètres pour un projet dans des fichiers .codex/config.toml. Codex ne charge les fichiers de configuration propres au projet que si vous faites confiance au projet.
La configuration propre au projet ne peut pas remplacer les clés locales à la machine relatives au fournisseur, à l’authentification,
aux métadonnées de requêtes d’applications gérées par l’hôte, aux notifications, à la sélection du profil de configuration
ou au routage de la télémétrie. Codex ignore openai_base_url,
chatgpt_base_url, apps_mcp_product_sku, model_provider,
model_providers, notify, profile, profiles,
experimental_realtime_ws_base_url et otel lorsqu’elles figurent dans un fichier
.codex/config.toml propre au projet ; définissez plutôt les clés de fournisseur, de notification et de télémétrie
dans la configuration utilisateur. Les fichiers de profil de configuration se trouvent à côté de
config.toml sous la forme $CODEX_HOME/profile-name.config.toml ; sélectionnez-en un avec
--profile profile-name.
Pour les clés relatives au bac à sable et aux approbations (approval_policy, sandbox_mode et sandbox_workspace_write.*), consultez également Bac à sable et approbations, Chemins protégés dans les racines accessibles en écriture et Accès réseau. Pour les profils d’autorisations en version bêta, consultez Autorisations.
| Key | Type / Values | Details |
|---|---|---|
agents | table | Paramètres multi-agents et déclarations de rôles personnalisés. Les noms de paramètres scalaires sont réservés et ne peuvent pas servir de noms de rôles personnalisés. |
agents.<name>.config_file | string (path) | Chemin d’une couche de configuration TOML pour ce rôle ; les chemins relatifs sont résolus par rapport au fichier de configuration qui déclare le rôle. |
agents.<name>.description | string | Consignes relatives au rôle présentées à Codex lorsqu’il choisit et lance ce type d’agent. |
agents.default_subagent_model | string | Modèle par défaut des agents lancés. Un modèle spécifié explicitement au lancement est prioritaire. |
agents.default_subagent_reasoning_effort | string | Effort de raisonnement par défaut des agents lancés. Un effort spécifié explicitement au lancement est prioritaire. |
agents.enabled | boolean | Activez ou désactivez les outils multi-agents (valeur par défaut : true). |
agents.interrupt_message | boolean | Enregistrez un message visible par le modèle lorsqu’un tour d’agent est interrompu (valeur par défaut : true). |
agents.max_concurrent_threads_per_session | number | Nombre maximal de threads d’agents lancés pouvant être ouverts simultanément, sans compter le thread principal. Si ce paramètre n’est pas défini, Codex choisit la valeur par défaut. |
agents.max_threads | number | Ancien alias de agents.max_concurrent_threads_per_session. |
allow_login_shell | boolean | Autorisez les outils reposant sur un shell à utiliser la sémantique des shells de connexion. Valeur par défaut : true ; avec false, les requêtes login = true sont rejetées et, si login est omis, les shells utilisés par défaut ne sont pas des shells de connexion. |
analytics.enabled | boolean | Activez ou désactivez la collecte de données analytiques pour cette machine ou ce profil. Si ce paramètre n’est pas défini, la valeur par défaut du client s’applique. |
approval_policy | untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } } | Détermine quand Codex se met en pause pour demander une approbation avant d’exécuter des commandes. Vous pouvez également utiliser approval_policy = { granular = { ... } } pour autoriser l’affichage de certaines catégories de demandes ou les rejeter automatiquement, tout en gardant les autres demandes interactives. on-failure est obsolète ; utilisez on-request pour les exécutions interactives ou never pour les exécutions non interactives. |
approval_policy.granular.mcp_elicitations | boolean | Lorsque la valeur est true, les demandes d’élicitation MCP peuvent s’afficher au lieu d’être rejetées automatiquement. |
approval_policy.granular.request_permissions | boolean | Lorsque la valeur est true, les demandes de l’outil request_permissions peuvent s’afficher. |
approval_policy.granular.rules | boolean | Lorsque la valeur est true, les demandes d’approbation déclenchées par les règles prompt d’execpolicy peuvent s’afficher. |
approval_policy.granular.sandbox_approval | boolean | Lorsque la valeur est true, les demandes d’approbation liées à l’élévation des autorisations du bac à sable peuvent s’afficher. |
approval_policy.granular.skill_approval | boolean | Lorsque la valeur est true, les demandes d’approbation des scripts de skill peuvent s’afficher. |
approvals_reviewer | user | auto_review | Détermine qui examine les demandes d’approbation admissibles dans le cadre des stratégies on-request ou des stratégies d’approbation granulaires. Valeur par défaut : user ; auto_review utilise le sous-agent de révision. Ce paramètre ne modifie pas le fonctionnement du bac à sable et ne soumet pas à révision les actions qui y sont déjà autorisées. |
apps._default.approvals_reviewer | user | auto_review | Responsable par défaut de l’examen des demandes d’approbation des outils d’application, sauf si une autre valeur est définie pour l’application. Si ce paramètre est omis, les applications héritent de la valeur approvals_reviewer de premier niveau. |
apps._default.default_tools_approval_mode | auto | prompt | writes | approve | Comportement d’approbation par défaut des outils d’application en l’absence de valeurs de remplacement propres à l’application ou à l’outil. |
apps._default.destructive_enabled | boolean | Règle d’autorisation ou de refus appliquée par défaut aux outils d’application avec destructive_hint = true. |
apps._default.enabled | boolean | État d’activation par défaut de toutes les applications, sauf si une autre valeur est définie pour une application. |
apps._default.open_world_enabled | boolean | Règle d’autorisation ou de refus appliquée par défaut aux outils d’application avec open_world_hint = true. |
apps.<id>.approvals_reviewer | user | auto_review | Responsable de l’examen des demandes d’approbation des outils de cette application. Remplace apps._default.approvals_reviewer. |
apps.<id>.default_tools_approval_mode | auto | prompt | writes | approve | Comportement d’approbation par défaut des outils de cette application, sauf si une autre valeur est définie pour un outil. |
apps.<id>.default_tools_enabled | boolean | État d’activation par défaut des outils de cette application, sauf si une autre valeur est définie pour un outil. |
apps.<id>.destructive_enabled | boolean | Autorisez ou bloquez les outils de cette application qui déclarent destructive_hint = true. |
apps.<id>.enabled | boolean | Activez ou désactivez une application ou un connecteur spécifique selon son identifiant (valeur par défaut : true). |
apps.<id>.open_world_enabled | boolean | Autorisez ou bloquez les outils de cette application qui déclarent open_world_hint = true. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Valeur de remplacement du comportement d’approbation d’un seul outil d’application. |
apps.<id>.tools.<tool>.enabled | boolean | Valeur de remplacement de l’état d’activation d’un outil d’application donné (par exemple, repos/list). |
auto_review.policy | string | Instructions locales en Markdown définissant les règles de révision automatique. Le paramètre géré guardian_policy_config est prioritaire. Les valeurs vides sont ignorées. |
background_terminal_max_timeout | number | Durée maximale d’attente en millisecondes pour les appels à vide à write_stdin (interrogation du terminal en arrière-plan). Valeur par défaut : 300000 (5 minutes). Remplace l’ancienne clé background_terminal_timeout. |
chatgpt_base_url | string | Remplacez l’URL de base utilisée lors du processus de connexion à ChatGPT. |
check_for_update_on_startup | boolean | Recherchez les mises à jour de Codex au démarrage (utilisez la valeur false uniquement si les mises à jour sont gérées de manière centralisée). |
cli_auth_credentials_store | file | keyring | auto | Contrôlez l’emplacement où la CLI stocke les identifiants mis en cache (fichier auth.json ou trousseau de clés du système d’exploitation). |
compact_prompt | string | Prompt de remplacement pour le compactage de l’historique, défini directement dans la configuration. |
computer_use.windows.always_allowed_app_ids | array<string> | Identifiants des applications Windows que la fonctionnalité Utilisation de l’ordinateur peut ouvrir sans demander d’approbation. Les applications absentes de cette liste nécessitent une approbation ; supprimez les entrées enregistrées dans les paramètres de la fonctionnalité Utilisation de l’ordinateur de l’application de bureau ChatGPT. |
default_permissions | string | Nom du profil d’autorisations par défaut à appliquer aux appels d’outils exécutés dans le bac à sable. Les profils intégrés sont :read-only, :workspace et :danger-full-access ; les noms de profils personnalisés nécessitent des tables [permissions.<name>] correspondantes. Ne combinez pas ce paramètre avec sandbox_mode ou [sandbox_workspace_write]. |
desktop.custom_file_handlers.<id> | table | Au niveau utilisateur uniquement. Définit une cible Ouvrir dans supplémentaire pour l’application de bureau ChatGPT. Consultez Ajouter des gestionnaires de fichiers personnalisés pour obtenir des exemples et connaître les contraintes relatives aux identifiants des gestionnaires. |
desktop.custom_file_handlers.<id>.args | array<string> | Arguments insérés entre la commande et le fichier fourni en entrée (par défaut : []). |
desktop.custom_file_handlers.<id>.command | string | Chemin de l’exécutable ou nom de la commande à détecter et à lancer. Obligatoire. |
desktop.custom_file_handlers.<id>.icon | string | Chemin d’une ressource intégrée, URL data:image/... encodée en Base64, URI de fichier ou chemin local absolu pour l’icône du gestionnaire. Obligatoire ; l’icône VS Code par défaut est utilisée si la source n’est pas prise en charge. |
desktop.custom_file_handlers.<id>.input | path | json_argument | json_stdin | Méthode utilisée par l’application pour transmettre le fichier au gestionnaire (par défaut : path). |
desktop.custom_file_handlers.<id>.label | string | Nom d’affichage indiqué dans les menus Ouvrir dans. Obligatoire. |
desktop.custom_file_handlers.<id>.supports_ssh | boolean | Proposez le gestionnaire pour les fichiers situés dans des espaces de travail SSH (par défaut : false). |
developer_instructions | string | Instructions de développeur supplémentaires injectées dans la session (facultatives). |
disable_paste_burst | boolean | Désactivez la détection des collages en rafale dans la TUI. |
experimental_compact_prompt_file | string (path) | Chargez le prompt de remplacement pour le compactage depuis un fichier (expérimental). |
experimental_use_unified_exec_tool | boolean | Ancien nom permettant d’activer l’exécution unifiée ; privilégiez [features].unified_exec ou codex --enable unified_exec. |
features.apps | boolean | Activez les intégrations d’applications (connecteurs) (fonctionnalité stable ; activée par défaut). Le trafic des applications et des connecteurs n’est pas soumis au proxy réseau des commandes exécutées dans le bac à sable ni à sa liste de domaines autorisés. |
features.code_mode.direct_only_tool_namespaces | array<string> | Espaces de noms d’outils que le mode code peut utiliser uniquement au moyen d’appels directs à ces outils. |
features.code_mode.enabled | boolean | Activez la configuration du mode code. Cette fonctionnalité est en cours de développement et désactivée par défaut. |
features.code_mode.excluded_tool_namespaces | array<string> | Espaces de noms d’outils que le mode code exclut des consignes sur les outils imbriqués en mode code et ne rend pas accessibles à l’exécuteur. |
features.enable_request_compression | boolean | Compressez avec zstd les corps des requêtes en streaming lorsque cette compression est prise en charge (fonctionnalité stable ; activée par défaut). |
features.fast_mode | boolean | Activez dans la TUI la sélection d’une offre du catalogue de modèles, y compris les commandes de l’offre Rapide lorsque le modèle actif indique qu’il les prend en charge (fonctionnalité stable ; activée par défaut). |
features.goals | boolean | Activez la persistance des objectifs et la poursuite automatique (fonctionnalité stable ; activée par défaut). |
features.hooks | boolean | Activez les hooks de cycle de vie chargés depuis hooks.json ou configurés directement dans [hooks]. features.codex_hooks est un alias obsolète. |
features.memories | boolean | Activez les Mémoires (désactivées par défaut). |
features.multi_agent | boolean | Activez les outils de collaboration multi-agents ( spawn_agent, send_input, resume_agent, wait_agent et close_agent) (stables ; activés par défaut). |
features.network_proxy | boolean | table | Démarrez le proxy réseau des commandes exécutées dans le bac à sable (fonctionnalité expérimentale ; désactivée par défaut). Cette option est nécessaire pour appliquer les règles de domaine des profils d’autorisations, sauf si des exigences experimental_network activées et gérées par un administrateur démarrent le proxy. Utilisez une table pour définir des options de stratégie propres à cette fonctionnalité, telles que domains. Ce proxy ne filtre pas la recherche web, les applications, MCP ni les autres outils hébergés. |
features.network_proxy.allow_local_binding | boolean | Autorisez un accès plus étendu aux réseaux locaux et privés. Valeur par défaut : false ; des règles d’autorisation ciblant exactement une adresse IP locale ou localhost peuvent néanmoins autoriser des cibles locales précises. |
features.network_proxy.allow_upstream_proxy | boolean | Autorisez le chaînage avec un proxy en amont défini dans l’environnement. Valeur par défaut : true. |
features.network_proxy.dangerously_allow_all_unix_sockets | boolean | Autorisez n’importe quelle destination de socket Unix au lieu de limiter l’accès à la liste d’autorisation. Valeur par défaut : false ; utilisez cette option uniquement dans des environnements strictement contrôlés. |
features.network_proxy.dangerously_allow_non_loopback_proxy | boolean | Autorisez les adresses d’écoute autres que celles de la boucle locale. Valeur par défaut : false ; l’activation de cette option peut rendre les points d’écoute du proxy accessibles au-delà de localhost. |
features.network_proxy.domains | map<string, allow | deny> | Stratégie relative aux domaines pour l’accès réseau dans le bac à sable. Par défaut, aucune valeur n’est définie ; aucune destination externe n’est donc autorisée tant que vous n’ajoutez pas de règles allow. La stratégie accepte les noms d’hôte exacts, *.example.com uniquement pour les sous-domaines, **.example.com pour le domaine racine et ses sous-domaines, ainsi que les règles d’autorisation globales * ; privilégiez les règles ciblées, car * ouvre largement l’accès sortant au réseau public. Ajoutez des règles deny pour bloquer certaines destinations ; en cas de conflit, deny l’emporte. |
features.network_proxy.enable_socks5 | boolean | Activez la prise en charge de SOCKS5. Valeur par défaut : true. |
features.network_proxy.enable_socks5_udp | boolean | Autorisez UDP via SOCKS5. Valeur par défaut : true. |
features.network_proxy.enabled | boolean | Démarrez le proxy réseau des commandes exécutées dans le bac à sable lorsque leur accès réseau est activé. Valeur par défaut : false ; les règles de domaine des profils d’autorisations ne sont pas appliquées lorsque le proxy est désactivé. |
features.network_proxy.proxy_url | string | URL d’écoute HTTP pour l’accès réseau dans le bac à sable. Valeur par défaut : "http://127.0.0.1:3128". |
features.network_proxy.socks_url | string | URL d’écoute SOCKS5. Valeur par défaut : "http://127.0.0.1:8081". |
features.network_proxy.unix_sockets | map<string, allow | deny> | Stratégie relative aux sockets Unix pour l’accès réseau dans le bac à sable. Par défaut, aucune valeur n’est définie ; ajoutez des entrées allow pour les sockets autorisés. |
features.personality | boolean | Activez les options de sélection de la personnalité (fonctionnalité stable ; activée par défaut). |
features.prevent_idle_sleep | boolean | Empêchez la machine de se mettre en veille pendant l’exécution d’un tour (fonctionnalité expérimentale ; désactivée par défaut). |
features.remote_plugin | boolean | Activez le catalogue distant de plugins (fonctionnalité stable ; activée par défaut). |
features.rollout_budget.enabled | boolean | Activez le suivi du budget d’exécution. Cette fonctionnalité est en cours de développement et désactivée par défaut. Lorsqu’elle est activée, features.rollout_budget.limit_tokens est obligatoire. |
features.rollout_budget.limit_tokens | integer | Limite strictement positive de tokens pour le suivi du budget d’exécution. Obligatoire lorsque le budget d’exécution est activé. |
features.rollout_budget.prefill_token_weight | number | Multiplicateur fini, positif ou nul, appliqué aux tokens de préremplissage lors de la comptabilisation du budget d’exécution. Valeur par défaut : 1.0. |
features.rollout_budget.reminder_interval_tokens | integer | Intervalle strictement positif, exprimé en tokens, entre les rappels du budget d’exécution. Par défaut, il correspond à 10 % de limit_tokens, avec un minimum de 1 token. |
features.rollout_budget.sampling_token_weight | number | Multiplicateur fini, positif ou nul, appliqué aux tokens échantillonnés lors de la comptabilisation du budget d’exécution. Valeur par défaut : 1.0. |
features.shell_snapshot | boolean | Enregistrez un instantané de l’environnement du shell pour accélérer les commandes répétées (stable ; activé par défaut). |
features.shell_tool | boolean | Activez l’outil shell fourni par défaut pour exécuter des commandes (fonctionnalité stable ; activée par défaut). |
features.skill_mcp_dependency_install | boolean | Autorisez Codex à proposer l’installation des dépendances MCP manquantes pour les Skills et à les installer (fonctionnalité stable ; activée par défaut). |
features.unified_exec | boolean | Utilisez l’outil exec unifié reposant sur un PTY (stable ; activé par défaut, sauf sur Windows). |
features.web_search | boolean | Ancienne option désormais obsolète ; préférez le paramètre de premier niveau web_search. |
features.web_search_cached | boolean | Ancienne option désormais obsolète. Lorsque web_search n’est pas défini, true équivaut à web_search = "cached". |
features.web_search_request | boolean | Ancienne option désormais obsolète. Lorsque web_search n’est pas défini, true équivaut à web_search = "live". |
feedback.enabled | boolean | Activez l’envoi de commentaires via /feedback dans tous les clients locaux (valeur par défaut : true). |
file_opener | vscode | vscode-insiders | windsurf | cursor | none | Schéma d’URI utilisé pour ouvrir les citations depuis la sortie de Codex (par défaut : vscode). |
forced_chatgpt_workspace_id | string (uuid) | Limitez les connexions à ChatGPT à un identifiant d’espace de travail spécifique. |
forced_login_method | chatgpt | api | Restreignez Codex à une méthode d’authentification spécifique. |
hide_agent_reasoning | boolean | Masquez les événements de raisonnement dans la TUI comme dans la sortie de codex exec. |
history.max_bytes | number | Si ce paramètre est défini, il plafonne la taille du fichier d’historique en octets en supprimant les entrées les plus anciennes. |
history.persistence | save-all | none | Choisissez si Codex enregistre les transcriptions de session dans history.jsonl. |
hooks | table | Hooks de cycle de vie configurés directement dans config.toml. Ils utilisent le même schéma d’événements que hooks.json ; consultez le guide Hooks pour voir des exemples et les événements pris en charge. |
hooks.<Event> | array<table> | Groupes de critères de correspondance pour les événements de hook tels que PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop. |
hooks.<Event>[].hooks | array<table> | Gestionnaires de hooks pour un groupe de critères de correspondance. Les hooks de commande et d’outil MCP sont pris en charge, tandis que les gestionnaires de hooks de prompt et d’agent sont analysés, mais ne sont pas exécutés. |
hooks.<Event>[].hooks[].additionalContextLimit | integer | Seuil approximatif de tokens par gestionnaire au-delà duquel une valeur additionalContext trop volumineuse est enregistrée sur disque et un aperçu plus court est présenté au modèle. Valeur par défaut : 2500 ; 0 transmet directement le contexte complet au modèle. Consultez Sorties volumineuses des hooks. |
hooks.<Event>[].hooks[].async | boolean | Exécutez un hook de commande en arrière-plan sans retarder l’opération qui le déclenche. Valeur par défaut : false ; SessionEnd s’exécute toujours de façon synchrone. Consultez Exécutez les hooks en arrière-plan. |
hooks.<Event>[].hooks[].commandWindows | string | Commande de remplacement propre à Windows pour les hooks de commande. L’alias TOML command_windows est également accepté. |
instructions | string | Réservé à un usage futur ; utilisez plutôt model_instructions_file ou AGENTS.md. |
log_dir | string (path) | Répertoire dans lequel Codex écrit les fichiers journaux ; par défaut, $CODEX_HOME/log. Définir explicitement ce paramètre active également le journal TUI facultatif en texte brut codex-tui.log dans ce répertoire. |
mcp_oauth_callback_port | integer | Port fixe global facultatif pour le serveur de rappel HTTP local utilisé lors de la connexion OAuth MCP. Le paramètre oauth.callback_port propre à un serveur est prioritaire. Si aucun de ces paramètres n’est défini, Codex se met à l’écoute sur un port éphémère choisi par le système d’exploitation. |
mcp_oauth_callback_url | string | URL de base de rappel facultative pour la connexion OAuth MCP, par exemple une URL d’entrée d’une devbox. Les clients préenregistrés nouvellement ajoutés utilisent cette URL telle quelle lorsque le serveur d’autorisation prend en charge l’identification de l’émetteur ; les clients existants sans URL de rappel enregistrée y ajoutent un identifiant de rappel propre au serveur. En l’absence de prise en charge de l’identification de l’émetteur, tout serveur MCP préenregistré dont l’URL de rappel configurée ne contient pas l’identifiant requis utilise à la place cette URL en y ajoutant cet identifiant. Les ports indiqués dans les URL de rappel ne déterminent pas le port d’écoute. |
mcp_oauth_credentials_store | auto | file | keyring | Emplacement de stockage privilégié pour les identifiants OAuth MCP. |
mcp_servers.<id>.args | array<string> | Arguments transmis à la commande du serveur MCP stdio. |
mcp_servers.<id>.auth | oauth | chatgpt | Méthode d’authentification de secours pour un serveur HTTP MCP, utilisée après les tokens bearer et les en-têtes d’autorisation configurés. oauth (par défaut) utilise les identifiants OAuth MCP enregistrés lorsqu’ils sont disponibles. chatgpt utilise la session ChatGPT actuelle pour l’origine officielle de confiance de ChatGPT, puis se rabat sur les identifiants OAuth enregistrés. Les deux modes permettent de se connecter sans authentification si aucune source ne fournit d’identifiants. |
mcp_servers.<id>.bearer_token_env_var | string | Variable d’environnement qui fournit le token bearer d’un serveur HTTP MCP. |
mcp_servers.<id>.command | string | Commande de lancement d’un serveur MCP stdio. |
mcp_servers.<id>.cwd | string | Répertoire de travail du processus du serveur MCP stdio. |
mcp_servers.<id>.default_tools_approval_mode | auto | prompt | writes | approve | Comportement d’approbation par défaut des outils MCP de ce serveur, sauf si un outil dispose d’un paramètre spécifique. |
mcp_servers.<id>.disabled_tools | array<string> | Liste de refus appliquée après enabled_tools pour le serveur MCP. |
mcp_servers.<id>.enabled | boolean | Désactivez un serveur MCP sans supprimer sa configuration. |
mcp_servers.<id>.enabled_tools | array<string> | Liste d’autorisation des noms d’outils exposés par le serveur MCP. |
mcp_servers.<id>.env | map<string,string> | Variables d’environnement transmises au serveur MCP stdio. |
mcp_servers.<id>.env_http_headers | map<string,string> | En-têtes HTTP renseignés à partir de variables d’environnement pour un serveur HTTP MCP. |
mcp_servers.<id>.env_vars | array<string | { name = string, source = "local" | "remote" }> | Variables d’environnement supplémentaires à ajouter à la liste d’autorisation d’un serveur MCP stdio. Les entrées sous forme de chaîne utilisent par défaut source = "local" ; utilisez source = "remote" uniquement avec un serveur stdio distant pris en charge par un exécuteur. |
mcp_servers.<id>.experimental_environment | local | remote | Emplacement d’exécution expérimental d’un serveur MCP. remote démarre les serveurs stdio via un environnement d’exécution distant ; le placement distant des serveurs utilisant le transport streamable HTTP n’est pas implémenté. |
mcp_servers.<id>.http_headers | map<string,string> | En-têtes HTTP statiques inclus dans chaque requête HTTP MCP. |
mcp_servers.<id>.oauth_resource | string | Paramètre de ressource OAuth facultatif, défini par la RFC 8707, à inclure lors de la connexion MCP. |
mcp_servers.<id>.oauth.callback_port | integer | Port d’écoute fixe pour le rappel OAuth de ce serveur MCP. Remplace mcp_oauth_callback_port. Pour un rappel direct sur l’interface de bouclage dont l’URL contient un port explicite, configurez le même port d’écoute. |
mcp_servers.<id>.oauth.callback_url | string | URL de rappel OAuth propre au serveur. Les clients préenregistrés la réutilisent lorsque l’identification de l’émetteur est prise en charge ou que l’URL se termine déjà par l’identifiant de rappel propre au serveur. Sinon, Codex utilise l’URL de rappel globale ou par défaut en y ajoutant cet identifiant. Les clients sans identifiant préenregistré utilisent cette URL de rappel lors de leur enregistrement. |
mcp_servers.<id>.oauth.client_id | string | Identifiant client OAuth préenregistré utilisé pour l’autorisation et l’échange de tokens avec ce serveur MCP. |
mcp_servers.<id>.required | boolean | Lorsque la valeur est true, le démarrage ou la reprise échoue si ce serveur MCP activé ne parvient pas à s’initialiser. |
mcp_servers.<id>.scopes | array<string> | Portées OAuth à demander lors de l’authentification auprès de ce serveur MCP. |
mcp_servers.<id>.startup_timeout_ms | number | Alias de startup_timeout_sec exprimé en millisecondes. |
mcp_servers.<id>.startup_timeout_sec | number | Redéfinissez le délai d’expiration par défaut de 10 s au démarrage d’un serveur MCP. |
mcp_servers.<id>.tool_timeout_sec | number | Redéfinissez le délai d’expiration par défaut de 60 s applicable à chaque outil d’un serveur MCP. |
mcp_servers.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Remplacement du comportement d’approbation pour un outil MCP spécifique de ce serveur. |
mcp_servers.<id>.url | string | Point de terminaison d’un serveur MCP utilisant le transport streamable HTTP. |
memories.consolidation_model | string | Modèle de remplacement facultatif pour la consolidation globale des mémoires. |
memories.disable_on_external_context | boolean | Lorsque la valeur est true, les threads qui utilisent un contexte externe, notamment des appels d’outils MCP, la recherche web ou la recherche d’outils, sont exclus de la génération de mémoires. Valeur par défaut : false. Ancien alias : memories.no_memories_if_mcp_or_web_search. |
memories.extract_model | string | Modèle de remplacement facultatif pour l’extraction des mémoires de chaque thread. |
memories.generate_memories | boolean | Lorsque la valeur est false, les threads nouvellement créés ne sont pas conservés comme données d’entrée pour la génération de mémoires. Valeur par défaut : true. |
memories.max_raw_memories_for_consolidation | number | Nombre maximal de mémoires brutes récentes conservées pour la consolidation globale. Valeur par défaut : 256 ; cette valeur est plafonnée à 4096. |
memories.max_rollout_age_days | number | Âge maximal des threads pris en compte pour la génération de mémoires. Valeur par défaut : 30 ; la valeur est limitée à la plage 0-90. |
memories.max_rollouts_per_startup | number | Nombre maximal d’exécutions candidates traitées à chaque passe au démarrage. Valeur par défaut : 16 ; cette valeur est plafonnée à 128. |
memories.max_unused_days | number | Nombre maximal de jours pouvant s’écouler depuis la dernière utilisation d’une mémoire avant qu’elle ne soit exclue de la consolidation. Valeur par défaut : 30 ; la valeur est limitée à la plage 0-365. |
memories.min_rate_limit_remaining_percent | number | Pourcentage minimal devant rester disponible dans les fenêtres de limite de débit de Codex pour que la génération de mémoires puisse commencer. Valeur par défaut : 25 ; la valeur est limitée à la plage 0-100. |
memories.min_rollout_idle_hours | number | Durée d’inactivité minimale avant qu’un thread ne soit pris en compte pour la génération de mémoires. Valeur par défaut : 6 ; la valeur est limitée à la plage 1-48. |
memories.use_memories | boolean | Lorsque la valeur est false, Codex n’injecte pas les mémoires existantes dans les sessions futures. Valeur par défaut : true. |
model | string | Modèle à utiliser (par exemple, gpt-5.5). |
model_auto_compact_token_limit | number | Seuil de tokens qui déclenche le compactage automatique de l’historique (s’il n’est pas défini, les valeurs par défaut du modèle sont utilisées). |
model_auto_compact_token_limit_scope | total | body_after_prefix | Détermine si le seuil de compactage automatique comptabilise tout le contexte actif ( total, valeur par défaut) ou uniquement l’augmentation après le préfixe conservé de la fenêtre de compactage (body_after_prefix). |
model_catalog_json | string (path) | Chemin facultatif vers un catalogue de modèles au format JSON chargé au démarrage. Le fichier de profil sélectionné $CODEX_HOME/profile-name.config.toml peut remplacer cette valeur pour le profil concerné. |
model_context_window | number | Nombre de tokens disponibles dans la fenêtre de contexte du modèle actif. |
model_instructions_file | string (path) | Instructions qui remplacent les instructions intégrées, à utiliser à la place de AGENTS.md. |
model_provider | string | Identifiant du fournisseur défini dans model_providers (valeur par défaut : openai). |
model_providers.<id> | table | Définition d’un fournisseur personnalisé. Les identifiants des fournisseurs intégrés ( openai, ollama et lmstudio) sont réservés et ne peuvent pas être redéfinis. |
model_providers.<id>.auth | table | Configuration d’un token bearer fourni par une commande pour un fournisseur personnalisé. Ne la combinez pas avec env_key, experimental_bearer_token ou requires_openai_auth. |
model_providers.<id>.auth.args | array<string> | Arguments transmis à la commande de récupération du token. |
model_providers.<id>.auth.command | string | Commande à exécuter lorsque Codex a besoin d’un token bearer. La commande doit écrire le token sur stdout. |
model_providers.<id>.auth.cwd | string (path) | Répertoire de travail de la commande de récupération du token. |
model_providers.<id>.auth.refresh_interval_ms | number | Intervalle entre les actualisations proactives du token par Codex, en millisecondes (valeur par défaut : 300000). Définissez cette valeur sur 0 pour n’actualiser le token qu’après une nouvelle tentative d’authentification. |
model_providers.<id>.auth.timeout_ms | number | Durée d’exécution maximale de la commande de récupération du token, en millisecondes (valeur par défaut : 5000). |
model_providers.<id>.base_url | string | URL de base de l’API du fournisseur de modèles. |
model_providers.<id>.env_http_headers | map<string,string> | En-têtes HTTP renseignés à partir des variables d’environnement lorsqu’elles sont présentes. |
model_providers.<id>.env_key | string | Variable d’environnement fournissant la clé API du fournisseur. |
model_providers.<id>.env_key_instructions | string | Instructions facultatives pour configurer la clé API du fournisseur. |
model_providers.<id>.experimental_bearer_token | string | Token bearer du fournisseur défini directement (déconseillé ; utilisez env_key). |
model_providers.<id>.http_headers | map<string,string> | En-têtes HTTP statiques ajoutés aux requêtes envoyées au fournisseur. |
model_providers.<id>.name | string | Nom d’affichage d’un fournisseur de modèles personnalisé. |
model_providers.<id>.query_params | map<string,string> | Paramètres de requête supplémentaires ajoutés aux requêtes envoyées au fournisseur. |
model_providers.<id>.request_max_retries | number | Nombre de nouvelles tentatives pour les requêtes HTTP envoyées au fournisseur (valeur par défaut : 4). |
model_providers.<id>.requires_openai_auth | boolean | Le fournisseur utilise l’authentification OpenAI (valeur par défaut : false). |
model_providers.<id>.stream_idle_timeout_ms | number | Délai maximal d’inactivité des flux SSE en millisecondes (valeur par défaut : 300000). |
model_providers.<id>.stream_max_retries | number | Nombre de tentatives de reprise des flux SSE après une interruption (valeur par défaut : 5). |
model_providers.<id>.supports_standalone_web_search | boolean | Déclarez la prise en charge d’un point de terminaison compatible pour la recherche web autonome (valeur par défaut : false). La recherche autonome reste en cours de développement et désactivée par défaut ; la compatibilité du fournisseur ne suffit pas à l’activer. |
model_providers.<id>.supports_websockets | boolean | Indique si ce fournisseur prend en charge le transport WebSocket de la Responses API. |
model_providers.<id>.wire_api | responses | Protocole utilisé par le fournisseur. responses est la seule valeur prise en charge et constitue la valeur par défaut lorsque ce paramètre est omis. |
model_providers.amazon-bedrock.aws.profile | string | Nom du profil AWS utilisé par le fournisseur intégré amazon-bedrock. |
model_providers.amazon-bedrock.aws.region | string | Région AWS utilisée par le fournisseur intégré amazon-bedrock. |
model_reasoning_effort | minimal | low | medium | high | xhigh | Ajustez l’effort de raisonnement pour les modèles pris en charge (Responses API uniquement ; xhigh dépend du modèle). |
model_reasoning_summary | auto | concise | detailed | none | Sélectionnez le niveau de détail du résumé du raisonnement ou désactivez entièrement les résumés. |
model_supports_reasoning_summaries | boolean | Forcez Codex à envoyer ou non les métadonnées de raisonnement. |
model_verbosity | low | medium | high | Valeur de remplacement facultative du niveau de verbosité de la Responses API pour GPT-5 ; si elle n’est pas définie, la valeur par défaut du modèle ou du préréglage sélectionné est utilisée. |
notice.hide_full_access_warning | boolean | Enregistrez la confirmation du message d’avertissement relatif à l’accès complet. |
notice.hide_gpt-5.1-codex-max_migration_prompt | boolean | Enregistrez la confirmation du message de migration vers gpt-5.1-codex-max. |
notice.hide_gpt5_1_migration_prompt | boolean | Enregistrez la confirmation du message de migration vers GPT-5.1. |
notice.hide_rate_limit_model_nudge | boolean | Enregistrez la désactivation du rappel de changement de modèle lié à la limite de débit. |
notice.hide_world_writable_warning | boolean | Enregistrez la confirmation de l’avertissement concernant les répertoires accessibles en écriture à tous sous Windows. |
notice.model_migrations | map<string,string> | Enregistrez les migrations de modèles confirmées sous forme de correspondances ancien->nouveau. |
notify | array<string> | Commande exécutée pour les notifications ; elle reçoit une charge utile JSON de Codex. |
openai_base_url | string | URL de base personnalisée pour le fournisseur de modèles openai intégré. |
oss_provider | lmstudio | ollama | Fournisseur local par défaut utilisé lors de l’exécution avec --oss (s’il n’est pas défini, Codex vous demande de le choisir). |
otel.environment | string | Étiquette d’environnement appliquée aux événements OpenTelemetry émis (par défaut : dev). |
otel.exporter | none | otlp-http | otlp-grpc | Sélectionnez l’exportateur OpenTelemetry et fournissez les éventuelles métadonnées du point de terminaison. |
otel.exporter.<id>.endpoint | string | Point de terminaison de l’exportateur pour les journaux OTEL. |
otel.exporter.<id>.headers | map<string,string> | En-têtes statiques inclus dans les requêtes de l’exportateur OTEL. |
otel.exporter.<id>.protocol | binary | json | Protocole utilisé par l’exportateur OTLP/HTTP. |
otel.exporter.<id>.tls.ca-certificate | string | Chemin d’accès au certificat de l’autorité de certification (CA) pour la connexion TLS de l’exportateur OTEL. |
otel.exporter.<id>.tls.client-certificate | string | Chemin d’accès au certificat client pour la connexion TLS de l’exportateur OTEL. |
otel.exporter.<id>.tls.client-private-key | string | Chemin d’accès à la clé privée du client pour la connexion TLS de l’exportateur OTEL. |
otel.log_user_prompt | boolean | Activez l’exportation des prompts utilisateur bruts avec les journaux OpenTelemetry. |
otel.metrics_exporter | none | statsig | otlp-http | otlp-grpc | Sélectionnez l’exportateur de métriques OpenTelemetry (par défaut : statsig). |
otel.trace_exporter | none | otlp-http | otlp-grpc | Sélectionnez l’exportateur de traces OpenTelemetry et fournissez les éventuelles métadonnées du point de terminaison. |
otel.trace_exporter.<id>.endpoint | string | Point de terminaison de l’exportateur de traces pour les journaux OTEL. |
otel.trace_exporter.<id>.headers | map<string,string> | En-têtes statiques inclus dans les requêtes de l’exportateur de traces OTEL. |
otel.trace_exporter.<id>.protocol | binary | json | Protocole utilisé par l’exportateur de traces OTLP/HTTP. |
otel.trace_exporter.<id>.tls.ca-certificate | string | Chemin d’accès au certificat de l’autorité de certification (CA) pour la connexion TLS de l’exportateur de traces OTEL. |
otel.trace_exporter.<id>.tls.client-certificate | string | Chemin d’accès au certificat client pour la connexion TLS de l’exportateur de traces OTEL. |
otel.trace_exporter.<id>.tls.client-private-key | string | Chemin d’accès à la clé privée du client pour la connexion TLS de l’exportateur de traces OTEL. |
permissions.<name>.description | string | Description lisible par l’utilisateur de ce profil nommé. Un profil n’hérite pas de la description de son profil parent via extends. |
permissions.<name>.extends | string | Profil parent facultatif appliqué avant ce profil nommé. Indiquez un autre profil nommé, :read-only ou :workspace ; :danger-full-access, les parents non définis et les cycles sont rejetés. |
permissions.<name>.filesystem | table | Profil d’autorisations nommé pour le système de fichiers. Chaque clé est un chemin absolu ou un token spécial tel que :minimal ou :workspace_roots. |
permissions.<name>.filesystem.":workspace_roots".<subpath-or-glob> | "read" | "write" | "deny" | Accès au système de fichiers dont la portée est définie par rapport à chaque racine effective de l’espace de travail. Utilisez "." pour la racine elle-même ; des sous-chemins avec motif glob tels que "**/*.env" peuvent interdire la lecture avec "deny". |
permissions.<name>.filesystem.<path-or-glob> | "read" | "write" | "deny" | table | Accordez un accès direct à un chemin, à un motif glob ou à un token spécial, ou limitez la portée des entrées imbriquées à cette racine. Utilisez "deny" pour interdire la lecture des chemins correspondants. |
permissions.<name>.filesystem.glob_scan_max_depth | number | Profondeur maximale d’expansion des motifs glob d’interdiction de lecture sur les plateformes qui prennent un instantané des correspondances avant le démarrage du bac à sable. Si elle est définie, elle doit être au moins égale à 1. |
permissions.<name>.network.allow_local_binding | boolean | Autorisez, depuis le bac à sable, un accès plus étendu aux réseaux locaux ou privés. Même si cette option reste définie sur false, des règles d’autorisation visant une adresse IP locale littérale exacte ou localhost peuvent toujours autoriser des cibles locales précises. |
permissions.<name>.network.allow_upstream_proxy | boolean | Autorisez le trafic réseau du bac à sable à passer par un autre proxy en amont. |
permissions.<name>.network.dangerously_allow_all_unix_sockets | boolean | Autorisez des destinations de socket Unix arbitraires plutôt que l’ensemble restreint par défaut. Utilisez cette option uniquement dans des environnements étroitement contrôlés. |
permissions.<name>.network.dangerously_allow_non_loopback_proxy | boolean | Autorisez les adresses de liaison autres que les adresses de bouclage pour les écouteurs réseau du bac à sable. L’activation de cette option peut rendre les écouteurs accessibles au-delà de localhost. |
permissions.<name>.network.domains | table | Règles de domaine applicables aux commandes exécutées dans le bac à sable. Elles ne sont appliquées que lorsque features.network_proxy ou des exigences réseau actives gérées par un administrateur activent le proxy. Les hôtes exacts, *.example.com, **.example.com et les règles d’autorisation globales * sont pris en charge ; deny prévaut. Ces règles ne limitent ni la recherche web, ni les applications, ni les serveurs MCP. |
permissions.<name>.network.domains.<pattern> | allow | deny | Autorisez ou refusez un hôte exact ou un motif générique à portée définie, tel que *.example.com ou **.example.com. |
permissions.<name>.network.enable_socks5 | boolean | Activez la prise en charge de SOCKS5 lorsque ce profil d’autorisations active l’accès réseau dans le bac à sable. |
permissions.<name>.network.enable_socks5_udp | boolean | Autorisez le protocole UDP via l’écouteur SOCKS5 lorsque celui-ci est activé. |
permissions.<name>.network.enabled | boolean | Activez l’accès réseau pour les commandes de ce profil d’autorisations. Cela ne démarre pas le proxy réseau. Si features.network_proxy n’est pas activé et qu’aucune exigence réseau gérée par un administrateur n’est activée, l’accès réseau des commandes est direct et les règles de domaine du profil ne sont pas appliquées. |
permissions.<name>.network.mode | limited | full | Mode du proxy réseau utilisé pour le trafic des sous-processus. |
permissions.<name>.network.proxy_url | string | URL d’écoute HTTP utilisée lorsque ce profil d’autorisations active l’accès réseau dans le bac à sable. |
permissions.<name>.network.socks_url | string | Point de terminaison du proxy SOCKS5 utilisé par ce profil d’autorisations. |
permissions.<name>.network.unix_sockets | table | Règles de remplacement de la liste d’autorisation des sockets Unix pour l’accès réseau dans le bac à sable. Utilisez les chemins de socket comme clés ; allow ajoute un chemin et deny le refuse. |
permissions.<name>.network.unix_sockets.<path> | allow | deny | Ajoutez un chemin absolu de socket Unix à la liste d’autorisation effective avec allow, ou refusez-le avec deny. Les entrées refusées sont exclues de la liste d’autorisation effective. |
permissions.<name>.workspace_roots | table | Racines d’espace de travail définies par le profil, auxquelles s’appliquent les règles de système de fichiers :workspace_roots, au même titre que les racines d’espace de travail de la session définies à l’exécution. |
permissions.<name>.workspace_roots.<path> | boolean | Incluez un chemin dans l’ensemble des racines d’espace de travail du profil en définissant cette option sur true. Les entrées désactivées restent inactives. |
personality | none | friendly | pragmatic | Style de communication par défaut des modèles qui déclarent la capacité supportsPersonality ; peut être redéfini pour chaque fil de discussion ou tour, ou via /personality. |
plan_mode_reasoning_effort | none | minimal | low | medium | high | xhigh | Valeur de remplacement de l’effort de raisonnement propre au mode plan. En l’absence de valeur, le mode plan utilise la valeur par défaut de son préréglage intégré. |
plugins.<plugin>.mcp_servers.<server>.default_tools_approval_mode | auto | prompt | writes | approve | Comportement d’approbation par défaut pour les outils d’un serveur MCP fourni par un plugin. |
plugins.<plugin>.mcp_servers.<server>.disabled_tools | array<string> | Liste de refus appliquée après enabled_tools pour un serveur MCP fourni par un plugin. |
plugins.<plugin>.mcp_servers.<server>.enabled | boolean | Activez ou désactivez un serveur MCP fourni avec un plugin installé sans modifier le manifeste du plugin. |
plugins.<plugin>.mcp_servers.<server>.enabled_tools | array<string> | Liste d’autorisation des outils exposés par un serveur MCP fourni par un plugin. |
plugins.<plugin>.mcp_servers.<server>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Remplacement du comportement d’approbation pour un outil MCP donné fourni par un plugin. |
project_doc_fallback_filenames | array<string> | Noms de fichiers supplémentaires à rechercher lorsque AGENTS.md est absent. |
project_doc_max_bytes | number | Nombre maximal d’octets lus dans AGENTS.md lors de la préparation des instructions du projet. |
project_root_markers | array<string> | Liste des noms de fichiers marquant la racine du projet, utilisée lors de la recherche de cette racine dans les répertoires parents. |
projects.<path>.trust_level | string | Définissez un projet ou un arbre de travail comme fiable ou non fiable ( "trusted" | "untrusted"). Les projets non fiables ignorent les couches .codex/ propres au projet, notamment la configuration, les hooks et les règles locales au projet. |
review_model | string | Modèle de remplacement facultatif utilisé par /review (par défaut, le modèle de la session en cours). |
sandbox_mode | read-only | workspace-write | danger-full-access | Stratégie du bac à sable pour l’accès au système de fichiers et au réseau lors de l’exécution des commandes. |
sandbox_workspace_write.exclude_slash_tmp | boolean | Excluez /tmp des racines accessibles en écriture en mode workspace-write. |
sandbox_workspace_write.exclude_tmpdir_env_var | boolean | Excluez $TMPDIR des racines accessibles en écriture en mode workspace-write. |
sandbox_workspace_write.network_access | boolean | Autorisez l’accès réseau sortant dans le bac à sable workspace-write. |
sandbox_workspace_write.writable_roots | array<string> | Racines supplémentaires accessibles en écriture lorsque sandbox_mode = "workspace-write". |
service_tier | string | Offre privilégiée pour les nouveaux tours. Utilisez fast ou une autre offre déclarée par le modèle actif ; fast correspond à la valeur de requête priority. |
shell_environment_policy.exclude | array<string> | Motifs d’exclusion des variables d’environnement au format historique. Pour les nouvelles configurations, utilisez shell_environment_policy.filters ; ne combinez pas les deux formes dans une même couche. |
shell_environment_policy.experimental_use_profile | boolean | Utilisez le profil du shell de l’utilisateur lors du lancement de sous-processus. |
shell_environment_policy.filters | map<string, include | exclude> | Filtres canoniques de variables d’environnement utilisant des motifs insensibles à la casse. Les entrées d’inclusion constituent une liste d’autorisation et ne peuvent pas rétablir les valeurs exclues. Les valeurs définies explicitement avec set s’appliquent après les exclusions. Ne combinez pas ces filtres avec les anciens tableaux exclude ou include_only dans une même couche. |
shell_environment_policy.ignore_default_excludes | boolean | Conservez les variables dont le nom contient KEY, SECRET ou TOKEN avant l’application des autres filtres (valeur par défaut : true). Définissez cette option sur false pour appliquer les exclusions automatiques fondées sur les noms de variables associés à des secrets. |
shell_environment_policy.include_only | array<string> | Liste d’autorisation historique fondée sur des motifs de noms de variables d’environnement. Pour les nouvelles configurations, utilisez shell_environment_policy.filters ; ne combinez pas les deux formes dans une même couche. |
shell_environment_policy.inherit | all | core | none | Mode d’héritage de base de l’environnement lors du lancement de sous-processus. |
shell_environment_policy.set | map<string,string> | Valeurs de variables d’environnement définies explicitement et injectées après les exclusions ; les filtres d’inclusion peuvent néanmoins les supprimer. |
show_raw_agent_reasoning | boolean | Affichez le contenu brut du raisonnement lorsque le modèle actif en produit. |
skills.config | array<object> | Valeurs de remplacement des paramètres d’activation de chaque skill, stockées dans config.toml. |
skills.config.<index>.enabled | boolean | Activez ou désactivez le skill référencé. |
skills.config.<index>.path | string (path) | Chemin vers un dossier de skill contenant SKILL.md. |
sqlite_home | string (path) | Répertoire dans lequel Codex stocke la base de données d’état SQLite utilisée pour les tâches d’agents et les autres états d’exécution permettant une reprise. |
suppress_unstable_features_warning | boolean | Masquez l’avertissement qui s’affiche lorsque des indicateurs de fonctionnalités en cours de développement sont activés. |
tool_output_token_limit | number | Budget de tokens pour stocker les sorties de chaque outil ou fonction dans l’historique. |
tool_suggest.disabled_tools | array<table> | Désactivez les suggestions pour certains connecteurs ou plugins détectables. Chaque entrée utilise type = "connector" ou "plugin", ainsi qu’un id. |
tool_suggest.discoverables | array<table> | Autorisez les suggestions d’outils pour des connecteurs ou plugins supplémentaires détectables. Chaque entrée utilise type = "connector" ou "plugin", ainsi qu’un id. |
tools.view_image | boolean | Activez l’outil view_image permettant de joindre des images locales. |
tools.web_search | boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } } | Configuration facultative de l’outil de recherche web. Le format objet permet de définir la taille du contexte de recherche, les domaines de recherche autorisés et la localisation approximative de l’utilisateur. Ces filtres de domaines de recherche sont distincts des règles de domaines réseau applicables aux commandes exécutées dans le bac à sable et ne limitent ni les connecteurs ni les serveurs MCP. |
tui | table | Options propres à la TUI, comme l’activation des notifications de bureau intégrées. |
tui.alternate_screen | auto | always | never | Contrôlez l’utilisation de l’écran alternatif par la TUI (par défaut : auto ; en mode auto, il n’est pas utilisé dans Zellij afin de préserver l’historique de défilement). |
tui.animations | boolean | Activez les animations du terminal (écran d’accueil, effet de scintillement et indicateur de chargement rotatif) (par défaut : true). |
tui.keymap.<context>.<action> | string | array<string> | Association d’un raccourci clavier à une action de la TUI. Les contextes pris en charge incluent global, chat, composer, editor, vim_normal, vim_operator, vim_text_object, pager, list et approval. Pour certaines actions de la zone de saisie, les associations correspondantes de tui.keymap.global s’appliquent à défaut ; lorsqu’elles sont prises en charge, les associations propres au contexte sont prioritaires. |
tui.keymap.<context>.<action> = [] | empty array | Supprimez le raccourci de cette action dans ce contexte de mappage clavier. Les noms de touches utilisent des chaînes normalisées comme ctrl-a, shift-enter, page-down ou minus. |
tui.model_availability_nux.<model> | integer | État interne de l’info-bulle de démarrage, indexé par le slug du modèle. |
tui.notification_condition | unfocused | always | Indiquez si les notifications de la TUI se déclenchent uniquement lorsque le terminal n’a pas le focus ou indépendamment du focus. Valeur par défaut : unfocused. |
tui.notification_method | auto | osc9 | bel | Méthode utilisée pour les notifications du terminal (par défaut : auto). |
tui.notifications | boolean | array<string> | Activez les notifications de la TUI et, si nécessaire, limitez-les à certains types d’événements. |
tui.raw_output_mode | boolean | Démarrez la TUI en mode d’historique de défilement brut pour faciliter la sélection et la copie dans le terminal (par défaut : false). Vous pouvez activer ou désactiver ce mode avec /raw ou le raccourci clavier alt-r par défaut. |
tui.resume_cwd | current | session | Répertoire de travail à utiliser lorsque vous reprenez ou forkez une session. S’il n’est pas défini, Codex vous demande de choisir un répertoire si votre répertoire actuel diffère du répertoire enregistré pour la session. |
tui.show_tooltips | boolean | Affichez les info-bulles de prise en main sur l’écran d’accueil de la TUI (par défaut : true). |
tui.status_line | array<string> | null | Liste ordonnée des identifiants des éléments de la ligne d’état au bas de la TUI. null désactive la ligne d’état. |
tui.terminal_title | array<string> | null | Liste ordonnée des identifiants des éléments du titre de la fenêtre ou de l’onglet du terminal. Valeur par défaut : ["spinner", "project"] ; null désactive les mises à jour du titre. |
tui.theme | string | Thème de coloration syntaxique à utiliser en remplacement (nom du thème en kebab-case). |
tui.vim_mode_default | boolean | Démarrez la zone de saisie en mode normal de Vim plutôt qu’en mode insertion (par défaut : false). Vous pouvez toujours modifier ce réglage pour chaque session avec /vim. |
web_search | disabled | cached | indexed | live | Mode de recherche web (par défaut : "cached" ; cached utilise un index géré par OpenAI sans accès externe au Web ; indexed n’autorise l’accès externe que si l’index de recherche le permet ; si vous utilisez --yolo ou un autre paramètre de bac à sable avec accès complet, la valeur par défaut est "live"). Utilisez "live" pour une récupération de contenu en direct sans restriction, ou "disabled" pour supprimer l’outil. |
windows_wsl_setup_acknowledged | boolean | Enregistrez la confirmation de la prise en main sous Windows (Windows uniquement). |
windows.sandbox | unelevated | elevated | Mode de bac à sable natif réservé à Windows lorsque Codex s’exécute nativement sur Windows. |
windows.sandbox_private_desktop | boolean | Lors d’une exécution native sur Windows, exécutez par défaut le processus enfant final placé en bac à sable sur un bureau privé. Définissez false uniquement pour assurer la compatibilité avec l’ancien comportement Winsta0\\Default. |
agentstableagents.<name>.config_filestring (path)agents.<name>.descriptionstringagents.default_subagent_modelstringagents.default_subagent_reasoning_effortstringagents.enabledbooleanagents.interrupt_messagebooleanagents.max_concurrent_threads_per_sessionnumberagents.max_threadsnumberagents.max_concurrent_threads_per_session.allow_login_shellbooleantrue ; avec false, les requêtes login = true sont rejetées et, si login est omis, les shells utilisés par défaut ne sont pas des shells de connexion.analytics.enabledbooleanapproval_policyuntrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }approval_policy = { granular = { ... } } pour autoriser l’affichage de certaines catégories de demandes ou les rejeter automatiquement, tout en gardant les autres demandes interactives. on-failure est obsolète ; utilisez on-request pour les exécutions interactives ou never pour les exécutions non interactives.approval_policy.granular.mcp_elicitationsbooleantrue, les demandes d’élicitation MCP peuvent s’afficher au lieu d’être rejetées automatiquement.approval_policy.granular.request_permissionsbooleantrue, les demandes de l’outil request_permissions peuvent s’afficher.approval_policy.granular.rulesbooleantrue, les demandes d’approbation déclenchées par les règles prompt d’execpolicy peuvent s’afficher.approval_policy.granular.sandbox_approvalbooleantrue, les demandes d’approbation liées à l’élévation des autorisations du bac à sable peuvent s’afficher.approval_policy.granular.skill_approvalbooleantrue, les demandes d’approbation des scripts de skill peuvent s’afficher.approvals_revieweruser | auto_reviewon-request ou des stratégies d’approbation granulaires. Valeur par défaut : user ; auto_review utilise le sous-agent de révision. Ce paramètre ne modifie pas le fonctionnement du bac à sable et ne soumet pas à révision les actions qui y sont déjà autorisées.apps._default.approvals_revieweruser | auto_reviewapprovals_reviewer de premier niveau.apps._default.default_tools_approval_modeauto | prompt | writes | approveapps._default.destructive_enabledbooleandestructive_hint = true.apps._default.enabledbooleanapps._default.open_world_enabledbooleanopen_world_hint = true.apps.<id>.approvals_revieweruser | auto_reviewapps._default.approvals_reviewer.apps.<id>.default_tools_approval_modeauto | prompt | writes | approveapps.<id>.default_tools_enabledbooleanapps.<id>.destructive_enabledbooleandestructive_hint = true.apps.<id>.enabledbooleanapps.<id>.open_world_enabledbooleanopen_world_hint = true.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approveapps.<id>.tools.<tool>.enabledbooleanrepos/list).auto_review.policystringguardian_policy_config est prioritaire. Les valeurs vides sont ignorées.background_terminal_max_timeoutnumberwrite_stdin (interrogation du terminal en arrière-plan). Valeur par défaut : 300000 (5 minutes). Remplace l’ancienne clé background_terminal_timeout.chatgpt_base_urlstringcheck_for_update_on_startupbooleancli_auth_credentials_storefile | keyring | autocompact_promptstringcomputer_use.windows.always_allowed_app_idsarray<string>default_permissionsstring:read-only, :workspace et :danger-full-access ; les noms de profils personnalisés nécessitent des tables [permissions.<name>] correspondantes. Ne combinez pas ce paramètre avec sandbox_mode ou [sandbox_workspace_write].desktop.custom_file_handlers.<id>tabledesktop.custom_file_handlers.<id>.argsarray<string>[]).desktop.custom_file_handlers.<id>.commandstringdesktop.custom_file_handlers.<id>.iconstringdata:image/... encodée en Base64, URI de fichier ou chemin local absolu pour l’icône du gestionnaire. Obligatoire ; l’icône VS Code par défaut est utilisée si la source n’est pas prise en charge.desktop.custom_file_handlers.<id>.inputpath | json_argument | json_stdinpath).desktop.custom_file_handlers.<id>.labelstringdesktop.custom_file_handlers.<id>.supports_sshbooleanfalse).developer_instructionsstringdisable_paste_burstbooleanexperimental_compact_prompt_filestring (path)experimental_use_unified_exec_toolboolean[features].unified_exec ou codex --enable unified_exec.features.appsbooleanfeatures.code_mode.direct_only_tool_namespacesarray<string>features.code_mode.enabledbooleanfeatures.code_mode.excluded_tool_namespacesarray<string>features.enable_request_compressionbooleanfeatures.fast_modebooleanfeatures.goalsbooleanfeatures.hooksbooleanhooks.json ou configurés directement dans [hooks]. features.codex_hooks est un alias obsolète.features.multi_agentbooleanspawn_agent, send_input, resume_agent, wait_agent et close_agent) (stables ; activés par défaut).features.network_proxyboolean | tableexperimental_network activées et gérées par un administrateur démarrent le proxy. Utilisez une table pour définir des options de stratégie propres à cette fonctionnalité, telles que domains. Ce proxy ne filtre pas la recherche web, les applications, MCP ni les autres outils hébergés.features.network_proxy.allow_local_bindingbooleanfalse ; des règles d’autorisation ciblant exactement une adresse IP locale ou localhost peuvent néanmoins autoriser des cibles locales précises.features.network_proxy.allow_upstream_proxybooleantrue.features.network_proxy.dangerously_allow_all_unix_socketsbooleanfalse ; utilisez cette option uniquement dans des environnements strictement contrôlés.features.network_proxy.dangerously_allow_non_loopback_proxybooleanfalse ; l’activation de cette option peut rendre les points d’écoute du proxy accessibles au-delà de localhost.features.network_proxy.domainsmap<string, allow | deny>allow. La stratégie accepte les noms d’hôte exacts, *.example.com uniquement pour les sous-domaines, **.example.com pour le domaine racine et ses sous-domaines, ainsi que les règles d’autorisation globales * ; privilégiez les règles ciblées, car * ouvre largement l’accès sortant au réseau public. Ajoutez des règles deny pour bloquer certaines destinations ; en cas de conflit, deny l’emporte.features.network_proxy.enable_socks5booleantrue.features.network_proxy.enable_socks5_udpbooleantrue.features.network_proxy.enabledbooleanfalse ; les règles de domaine des profils d’autorisations ne sont pas appliquées lorsque le proxy est désactivé.features.network_proxy.proxy_urlstring"http://127.0.0.1:3128".features.network_proxy.socks_urlstring"http://127.0.0.1:8081".features.network_proxy.unix_socketsmap<string, allow | deny>allow pour les sockets autorisés.features.personalitybooleanfeatures.prevent_idle_sleepbooleanfeatures.remote_pluginbooleanfeatures.rollout_budget.enabledbooleanfeatures.rollout_budget.limit_tokens est obligatoire.features.rollout_budget.limit_tokensintegerfeatures.rollout_budget.prefill_token_weightnumber1.0.features.rollout_budget.reminder_interval_tokensintegerlimit_tokens, avec un minimum de 1 token.features.rollout_budget.sampling_token_weightnumber1.0.features.shell_snapshotbooleanfeatures.shell_toolbooleanshell fourni par défaut pour exécuter des commandes (fonctionnalité stable ; activée par défaut).features.skill_mcp_dependency_installbooleanfeatures.unified_execbooleanfeatures.web_searchbooleanweb_search.features.web_search_cachedbooleanweb_search n’est pas défini, true équivaut à web_search = "cached".features.web_search_requestbooleanweb_search n’est pas défini, true équivaut à web_search = "live".feedback.enabledboolean/feedback dans tous les clients locaux (valeur par défaut : true).file_openervscode | vscode-insiders | windsurf | cursor | nonevscode).forced_chatgpt_workspace_idstring (uuid)forced_login_methodchatgpt | apihide_agent_reasoningbooleancodex exec.history.max_bytesnumberhistory.persistencesave-all | nonehookstableconfig.toml. Ils utilisent le même schéma d’événements que hooks.json ; consultez le guide Hooks pour voir des exemples et les événements pris en charge.hooks.<Event>array<table>PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop.hooks.<Event>[].hooksarray<table>hooks.<Event>[].hooks[].additionalContextLimitintegeradditionalContext trop volumineuse est enregistrée sur disque et un aperçu plus court est présenté au modèle. Valeur par défaut : 2500 ; 0 transmet directement le contexte complet au modèle. Consultez Sorties volumineuses des hooks.hooks.<Event>[].hooks[].asyncbooleanfalse ; SessionEnd s’exécute toujours de façon synchrone. Consultez Exécutez les hooks en arrière-plan.hooks.<Event>[].hooks[].commandWindowsstringcommand_windows est également accepté.instructionsstringmodel_instructions_file ou AGENTS.md.log_dirstring (path)$CODEX_HOME/log. Définir explicitement ce paramètre active également le journal TUI facultatif en texte brut codex-tui.log dans ce répertoire.mcp_oauth_callback_portintegeroauth.callback_port propre à un serveur est prioritaire. Si aucun de ces paramètres n’est défini, Codex se met à l’écoute sur un port éphémère choisi par le système d’exploitation.mcp_oauth_callback_urlstringmcp_oauth_credentials_storeauto | file | keyringmcp_servers.<id>.argsarray<string>mcp_servers.<id>.authoauth | chatgptoauth (par défaut) utilise les identifiants OAuth MCP enregistrés lorsqu’ils sont disponibles. chatgpt utilise la session ChatGPT actuelle pour l’origine officielle de confiance de ChatGPT, puis se rabat sur les identifiants OAuth enregistrés. Les deux modes permettent de se connecter sans authentification si aucune source ne fournit d’identifiants.mcp_servers.<id>.bearer_token_env_varstringmcp_servers.<id>.commandstringmcp_servers.<id>.cwdstringmcp_servers.<id>.default_tools_approval_modeauto | prompt | writes | approvemcp_servers.<id>.disabled_toolsarray<string>enabled_tools pour le serveur MCP.mcp_servers.<id>.enabledbooleanmcp_servers.<id>.enabled_toolsarray<string>mcp_servers.<id>.envmap<string,string>mcp_servers.<id>.env_http_headersmap<string,string>mcp_servers.<id>.env_varsarray<string | { name = string, source = "local" | "remote" }>source = "local" ; utilisez source = "remote" uniquement avec un serveur stdio distant pris en charge par un exécuteur.mcp_servers.<id>.experimental_environmentlocal | remoteremote démarre les serveurs stdio via un environnement d’exécution distant ; le placement distant des serveurs utilisant le transport streamable HTTP n’est pas implémenté.mcp_servers.<id>.http_headersmap<string,string>mcp_servers.<id>.oauth_resourcestringmcp_servers.<id>.oauth.callback_portintegermcp_oauth_callback_port. Pour un rappel direct sur l’interface de bouclage dont l’URL contient un port explicite, configurez le même port d’écoute.mcp_servers.<id>.oauth.callback_urlstringmcp_servers.<id>.oauth.client_idstringmcp_servers.<id>.requiredbooleanmcp_servers.<id>.scopesarray<string>mcp_servers.<id>.startup_timeout_msnumberstartup_timeout_sec exprimé en millisecondes.mcp_servers.<id>.startup_timeout_secnumbermcp_servers.<id>.tool_timeout_secnumbermcp_servers.<id>.tools.<tool>.approval_modeauto | prompt | writes | approvemcp_servers.<id>.urlstringmemories.consolidation_modelstringmemories.disable_on_external_contextbooleantrue, les threads qui utilisent un contexte externe, notamment des appels d’outils MCP, la recherche web ou la recherche d’outils, sont exclus de la génération de mémoires. Valeur par défaut : false. Ancien alias : memories.no_memories_if_mcp_or_web_search.memories.extract_modelstringmemories.generate_memoriesbooleanfalse, les threads nouvellement créés ne sont pas conservés comme données d’entrée pour la génération de mémoires. Valeur par défaut : true.memories.max_raw_memories_for_consolidationnumber256 ; cette valeur est plafonnée à 4096.memories.max_rollout_age_daysnumber30 ; la valeur est limitée à la plage 0-90.memories.max_rollouts_per_startupnumber16 ; cette valeur est plafonnée à 128.memories.max_unused_daysnumber30 ; la valeur est limitée à la plage 0-365.memories.min_rate_limit_remaining_percentnumber25 ; la valeur est limitée à la plage 0-100.memories.min_rollout_idle_hoursnumber6 ; la valeur est limitée à la plage 1-48.memories.use_memoriesbooleanfalse, Codex n’injecte pas les mémoires existantes dans les sessions futures. Valeur par défaut : true.modelstringgpt-5.5).model_auto_compact_token_limitnumbermodel_auto_compact_token_limit_scopetotal | body_after_prefixtotal, valeur par défaut) ou uniquement l’augmentation après le préfixe conservé de la fenêtre de compactage (body_after_prefix).model_catalog_jsonstring (path)$CODEX_HOME/profile-name.config.toml peut remplacer cette valeur pour le profil concerné.model_context_windownumbermodel_instructions_filestring (path)AGENTS.md.model_providerstringmodel_providers (valeur par défaut : openai).model_providers.<id>tableopenai, ollama et lmstudio) sont réservés et ne peuvent pas être redéfinis.model_providers.<id>.authtableenv_key, experimental_bearer_token ou requires_openai_auth.model_providers.<id>.auth.argsarray<string>model_providers.<id>.auth.commandstringmodel_providers.<id>.auth.cwdstring (path)model_providers.<id>.auth.refresh_interval_msnumber0 pour n’actualiser le token qu’après une nouvelle tentative d’authentification.model_providers.<id>.auth.timeout_msnumbermodel_providers.<id>.base_urlstringmodel_providers.<id>.env_http_headersmap<string,string>model_providers.<id>.env_keystringmodel_providers.<id>.env_key_instructionsstringmodel_providers.<id>.experimental_bearer_tokenstringenv_key).model_providers.<id>.http_headersmap<string,string>model_providers.<id>.namestringmodel_providers.<id>.query_paramsmap<string,string>model_providers.<id>.request_max_retriesnumbermodel_providers.<id>.requires_openai_authbooleanmodel_providers.<id>.stream_idle_timeout_msnumbermodel_providers.<id>.stream_max_retriesnumbermodel_providers.<id>.supports_standalone_web_searchbooleanmodel_providers.<id>.supports_websocketsbooleanmodel_providers.<id>.wire_apiresponsesresponses est la seule valeur prise en charge et constitue la valeur par défaut lorsque ce paramètre est omis.model_providers.amazon-bedrock.aws.profilestringamazon-bedrock.model_providers.amazon-bedrock.aws.regionstringamazon-bedrock.model_reasoning_effortminimal | low | medium | high | xhighxhigh dépend du modèle).model_reasoning_summaryauto | concise | detailed | nonemodel_supports_reasoning_summariesbooleanmodel_verbositylow | medium | highnotice.hide_full_access_warningbooleannotice.hide_gpt-5.1-codex-max_migration_promptbooleannotice.hide_gpt5_1_migration_promptbooleannotice.hide_rate_limit_model_nudgebooleannotice.hide_world_writable_warningbooleannotice.model_migrationsmap<string,string>notifyarray<string>openai_base_urlstringopenai intégré.oss_providerlmstudio | ollama--oss (s’il n’est pas défini, Codex vous demande de le choisir).otel.environmentstringdev).otel.exporternone | otlp-http | otlp-grpcotel.exporter.<id>.endpointstringotel.exporter.<id>.headersmap<string,string>otel.exporter.<id>.protocolbinary | jsonotel.exporter.<id>.tls.ca-certificatestringotel.exporter.<id>.tls.client-certificatestringotel.exporter.<id>.tls.client-private-keystringotel.log_user_promptbooleanotel.metrics_exporternone | statsig | otlp-http | otlp-grpcstatsig).otel.trace_exporternone | otlp-http | otlp-grpcotel.trace_exporter.<id>.endpointstringotel.trace_exporter.<id>.headersmap<string,string>otel.trace_exporter.<id>.protocolbinary | jsonotel.trace_exporter.<id>.tls.ca-certificatestringotel.trace_exporter.<id>.tls.client-certificatestringotel.trace_exporter.<id>.tls.client-private-keystringpermissions.<name>.descriptionstringextends.permissions.<name>.extendsstring:read-only ou :workspace ; :danger-full-access, les parents non définis et les cycles sont rejetés.permissions.<name>.filesystemtable:minimal ou :workspace_roots.permissions.<name>.filesystem.":workspace_roots".<subpath-or-glob>"read" | "write" | "deny""." pour la racine elle-même ; des sous-chemins avec motif glob tels que "**/*.env" peuvent interdire la lecture avec "deny".permissions.<name>.filesystem.<path-or-glob>"read" | "write" | "deny" | table"deny" pour interdire la lecture des chemins correspondants.permissions.<name>.filesystem.glob_scan_max_depthnumber1.permissions.<name>.network.allow_local_bindingbooleanfalse, des règles d’autorisation visant une adresse IP locale littérale exacte ou localhost peuvent toujours autoriser des cibles locales précises.permissions.<name>.network.allow_upstream_proxybooleanpermissions.<name>.network.dangerously_allow_all_unix_socketsbooleanpermissions.<name>.network.dangerously_allow_non_loopback_proxybooleanpermissions.<name>.network.domainstablefeatures.network_proxy ou des exigences réseau actives gérées par un administrateur activent le proxy. Les hôtes exacts, *.example.com, **.example.com et les règles d’autorisation globales * sont pris en charge ; deny prévaut. Ces règles ne limitent ni la recherche web, ni les applications, ni les serveurs MCP.permissions.<name>.network.domains.<pattern>allow | deny*.example.com ou **.example.com.permissions.<name>.network.enable_socks5booleanpermissions.<name>.network.enable_socks5_udpbooleanpermissions.<name>.network.enabledbooleanfeatures.network_proxy n’est pas activé et qu’aucune exigence réseau gérée par un administrateur n’est activée, l’accès réseau des commandes est direct et les règles de domaine du profil ne sont pas appliquées.permissions.<name>.network.modelimited | fullpermissions.<name>.network.proxy_urlstringpermissions.<name>.network.socks_urlstringpermissions.<name>.network.unix_socketstableallow ajoute un chemin et deny le refuse.permissions.<name>.network.unix_sockets.<path>allow | denyallow, ou refusez-le avec deny. Les entrées refusées sont exclues de la liste d’autorisation effective.permissions.<name>.workspace_rootstable:workspace_roots, au même titre que les racines d’espace de travail de la session définies à l’exécution.permissions.<name>.workspace_roots.<path>booleantrue. Les entrées désactivées restent inactives.personalitynone | friendly | pragmaticsupportsPersonality ; peut être redéfini pour chaque fil de discussion ou tour, ou via /personality.plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighplugins.<plugin>.mcp_servers.<server>.default_tools_approval_modeauto | prompt | writes | approveplugins.<plugin>.mcp_servers.<server>.disabled_toolsarray<string>enabled_tools pour un serveur MCP fourni par un plugin.plugins.<plugin>.mcp_servers.<server>.enabledbooleanplugins.<plugin>.mcp_servers.<server>.enabled_toolsarray<string>plugins.<plugin>.mcp_servers.<server>.tools.<tool>.approval_modeauto | prompt | writes | approveproject_doc_fallback_filenamesarray<string>AGENTS.md est absent.project_doc_max_bytesnumberAGENTS.md lors de la préparation des instructions du projet.project_root_markersarray<string>projects.<path>.trust_levelstring"trusted" | "untrusted"). Les projets non fiables ignorent les couches .codex/ propres au projet, notamment la configuration, les hooks et les règles locales au projet.review_modelstring/review (par défaut, le modèle de la session en cours).sandbox_moderead-only | workspace-write | danger-full-accesssandbox_workspace_write.exclude_slash_tmpboolean/tmp des racines accessibles en écriture en mode workspace-write.sandbox_workspace_write.exclude_tmpdir_env_varboolean$TMPDIR des racines accessibles en écriture en mode workspace-write.sandbox_workspace_write.network_accessbooleansandbox_workspace_write.writable_rootsarray<string>sandbox_mode = "workspace-write".service_tierstringfast ou une autre offre déclarée par le modèle actif ; fast correspond à la valeur de requête priority.shell_environment_policy.excludearray<string>shell_environment_policy.filters ; ne combinez pas les deux formes dans une même couche.shell_environment_policy.experimental_use_profilebooleanshell_environment_policy.filtersmap<string, include | exclude>set s’appliquent après les exclusions. Ne combinez pas ces filtres avec les anciens tableaux exclude ou include_only dans une même couche.shell_environment_policy.ignore_default_excludesbooleanshell_environment_policy.include_onlyarray<string>shell_environment_policy.filters ; ne combinez pas les deux formes dans une même couche.shell_environment_policy.inheritall | core | noneshell_environment_policy.setmap<string,string>show_raw_agent_reasoningbooleanskills.configarray<object>skills.config.<index>.enabledbooleanskills.config.<index>.pathstring (path)SKILL.md.sqlite_homestring (path)suppress_unstable_features_warningbooleantool_output_token_limitnumbertool_suggest.disabled_toolsarray<table>type = "connector" ou "plugin", ainsi qu’un id.tool_suggest.discoverablesarray<table>type = "connector" ou "plugin", ainsi qu’un id.tools.view_imagebooleanview_image permettant de joindre des images locales.tools.web_searchboolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }tuitabletui.alternate_screenauto | always | nevertui.animationsbooleantui.keymap.<context>.<action>string | array<string>global, chat, composer, editor, vim_normal, vim_operator, vim_text_object, pager, list et approval. Pour certaines actions de la zone de saisie, les associations correspondantes de tui.keymap.global s’appliquent à défaut ; lorsqu’elles sont prises en charge, les associations propres au contexte sont prioritaires.tui.keymap.<context>.<action> = []empty arrayctrl-a, shift-enter, page-down ou minus.tui.model_availability_nux.<model>integertui.notification_conditionunfocused | alwaysunfocused.tui.notification_methodauto | osc9 | beltui.notificationsboolean | array<string>tui.raw_output_modeboolean/raw ou le raccourci clavier alt-r par défaut.tui.resume_cwdcurrent | sessiontui.show_tooltipsbooleantui.status_linearray<string> | nullnull désactive la ligne d’état.tui.terminal_titlearray<string> | null["spinner", "project"] ; null désactive les mises à jour du titre.tui.themestringtui.vim_mode_defaultboolean/vim.web_searchdisabled | cached | indexed | live"cached" ; cached utilise un index géré par OpenAI sans accès externe au Web ; indexed n’autorise l’accès externe que si l’index de recherche le permet ; si vous utilisez --yolo ou un autre paramètre de bac à sable avec accès complet, la valeur par défaut est "live"). Utilisez "live" pour une récupération de contenu en direct sans restriction, ou "disabled" pour supprimer l’outil.windows_wsl_setup_acknowledgedbooleanwindows.sandboxunelevated | elevatedwindows.sandbox_private_desktopbooleanfalse uniquement pour assurer la compatibilité avec l’ancien comportement Winsta0\\Default.Le dernier schéma JSON de config.toml est disponible ici.
Pour bénéficier de l’autocomplétion et des diagnostics lors de la modification de config.toml dans VS Code ou Cursor, vous pouvez installer l’extension Even Better TOML et ajouter cette ligne au début de votre fichier config.toml :
#:schema https://developers.openai.com/codex/config-schema.json
Remarque : renommez experimental_instructions_file en model_instructions_file. Codex marque l’ancienne clé comme obsolète ; mettez à jour les configurations existantes afin d’utiliser le nouveau nom.
requirements.toml
requirements.toml est un fichier de configuration imposé par l’administrateur qui encadre les paramètres sensibles pour la sécurité, sans que les utilisateurs puissent déroger à ces contraintes. Consultez Exigences imposées par l’administrateur pour connaître les emplacements du fichier et obtenir des explications et des exemples.
Pour les utilisateurs de ChatGPT Business et ChatGPT Enterprise, Codex peut aussi appliquer des exigences récupérées depuis le cloud. Consultez la page sur la sécurité pour connaître les règles de priorité.
Utilisez [features] dans requirements.toml pour fixer les indicateurs de fonctionnalités de l’environnement d’exécution à l’aide des mêmes
clés canoniques que dans config.toml. Les exigences peuvent aussi inclure des clés documentées
propres à l’application et qui ne doivent pas figurer dans config.toml. Les clés omises restent
sans contrainte.
Certaines exigences gérées imposent une valeur de configuration exacte plutôt qu’une liste d’autorisation. Les utilisateurs ne peuvent pas remplacer les valeurs imposées pour un chemin, une préférence de mise à jour, une politique de shell de connexion, un paramètre d’envoi de commentaires ou un paramètre de bureau privé sous Windows.
Les listes d’autorisation gérées pour les profils d’autorisations nécessitent Codex 0.138.0 ou une version ultérieure. Codex
0.137.0 et les versions antérieures ignorent allowed_permission_profiles et le paramètre géré
default_permissions.
Utilisez allowed_sandbox_modes avec sandbox_mode. Pour les déploiements utilisant des profils
d’autorisations, utilisez allowed_permission_profiles avec le paramètre géré
default_permissions.
La table [models.new_thread] fournit des valeurs par défaut gérées, sans les imposer.
Les choix explicites au lancement effectués avec des options CLI dédiées ou des valeurs de remplacement via --config sont
prioritaires. Un remplacement explicite du modèle ou de l’effort de raisonnement empêche l’application des deux champs gérés
relatifs au modèle ; service_tier est indépendant.
| Key | Type / Values | Details |
|---|---|---|
allow_appshots | boolean | Définissez cette option sur false pour désactiver Appshots pour les utilisateurs gérés. Si cette option est omise, les exigences ne restreignent pas Appshots et les règles normales de disponibilité du produit s’appliquent. |
allow_login_shell | boolean | Imposez l’autorisation ou l’interdiction, pour les outils shell, de démarrer un shell de connexion. |
allow_managed_hooks_only | boolean | Lorsque la valeur est true, Codex ignore les hooks utilisateur, de projet, de session et de plugin, tout en autorisant les hooks gérés provenant de requirements.toml et d’autres couches de configuration gérées. |
allow_remote_control | boolean | Définissez cette option sur false pour désactiver le contrôle à distance des appareils pour les utilisateurs gérés. Si cette option est omise, les exigences ne restreignent pas le contrôle à distance des appareils, qui reste soumis aux règles normales de disponibilité du produit. |
allowed_approval_policies | array<string> | Valeurs autorisées pour approval_policy (par exemple untrusted, on-request, never et granular). |
allowed_approvals_reviewers | array<string> | Valeurs autorisées pour approvals_reviewer, telles que user et auto_review. |
allowed_permission_profiles | table<boolean> | Liste complète des profils d’autorisations autorisés. Les profils définis sur true sont autorisés. Ceux qui sont omis ou définis sur false sont refusés, y compris les profils ajoutés dans de futures versions. Lorsque des sources d’exigences sont combinées, les entrées sont mises en correspondance d’après le nom du profil. |
allowed_permission_profiles.<name> | boolean | Autorisez ou refusez un profil d’autorisations intégré ou personnalisé défini dans une configuration ou une source d’exigences chargée. Une source d’exigences ultérieure, de priorité supérieure, peut utiliser false pour désactiver un profil autorisé par une source antérieure de priorité inférieure. |
allowed_sandbox_modes | array<string> | Valeurs autorisées pour sandbox_mode. |
allowed_web_search_modes | array<string> | Valeurs autorisées pour web_search (disabled, cached, indexed, live). disabled est toujours autorisé ; une liste vide n’autorise donc que disabled. |
apps | table | Exigences gérées pour les applications, indexées par identifiant d’application. Elles peuvent désactiver une application ou restreindre le comportement d’approbation d’outils spécifiques. |
apps.<id>.enabled | boolean | Définissez cette option sur false pour désactiver une application. Une exigence de désactivation reste contraignante lorsque plusieurs sources d’exigences sont fusionnées. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Définissez le mode d’approbation géré pour un outil d’une application. |
check_for_update_on_startup | boolean | Imposez l’activation ou la désactivation de la recherche de mises à jour au démarrage de Codex. |
computer_use | table | Exigences imposées via requirements.toml pour la fonctionnalité Utilisation de l’ordinateur. |
computer_use.allow_locked_computer_use | boolean | Définissez cette option sur false pour empêcher la fonctionnalité Utilisation de l’ordinateur de fonctionner après le verrouillage d’un appareil macOS géré. Si cette option est omise, les exigences ne restreignent pas son utilisation après verrouillage. |
default_permissions | string | Profil d’autorisations par défaut géré par l’administrateur. Le profil doit être autorisé par allowed_permission_profiles. Définissez-le explicitement pour obtenir un comportement prévisible ; si ce paramètre est omis, Codex ne choisit :workspace par défaut que si :workspace et :read-only sont tous deux explicitement autorisés. |
enforce_residency | string | Exigez que le trafic du service Codex respecte une option de résidence des données prise en charge. La valeur us est actuellement acceptée. |
experimental_network | table | Exigences réseau gérées par l’administrateur pour les commandes locales exécutées dans un bac à sable, imposées via requirements.toml. Lorsqu’elles sont activées, ces exigences peuvent démarrer le proxy réseau des commandes sans features.network_proxy. Elles ne régissent pas la recherche web, les applications, les serveurs MCP, les navigateurs ni l’accès réseau de Codex Cloud. |
experimental_network.allow_local_binding | boolean | Autorisez un accès plus étendu aux réseaux locaux ou privés depuis le bac à sable. Des règles d’autorisation portant sur une adresse IP locale exacte indiquée littéralement ou sur localhost peuvent néanmoins autoriser des destinations locales précises lorsque cette option reste définie sur false. |
experimental_network.allow_upstream_proxy | boolean | Autorisez le trafic réseau du bac à sable à passer par un proxy amont défini dans l’environnement. |
experimental_network.allowed_domains | array<string> | Règles d’autorisation définies par l’administrateur pour l’accès réseau des commandes exécutées dans le bac à sable lorsque le proxy réseau géré est activé. Ces règles ne s’appliquent pas à la recherche web, aux applications ni aux serveurs MCP. Ne combinez pas cette option avec experimental_network.domains. |
experimental_network.dangerously_allow_all_unix_sockets | boolean | Autorisez des destinations de sockets Unix arbitraires au lieu de limiter l’accès à une liste d’autorisation. Utilisez cette option uniquement dans des environnements strictement contrôlés. |
experimental_network.dangerously_allow_non_loopback_proxy | boolean | Autorisez les adresses d’écoute hors de l’interface de bouclage pour les exigences [experimental_network]. L’activation de cette option peut rendre les services d’écoute accessibles au-delà de localhost. |
experimental_network.denied_domains | array<string> | Règles de refus définies par l’administrateur sous forme de liste pour l’accès réseau dans le bac à sable. Ne combinez pas cette option avec experimental_network.domains. |
experimental_network.domains | map<string, allow | deny> | Politique de domaines définie par l’administrateur, sous forme de table, pour l’accès réseau dans le bac à sable. Accepte les hôtes exacts, *.example.com pour les sous-domaines uniquement, **.example.com pour le domaine racine et ses sous-domaines, ainsi que les règles globales d’autorisation * ; préférez des règles ciblées, car * ouvre largement l’accès sortant vers les réseaux publics. En cas de conflit, deny prévaut. Ne combinez pas cette option avec experimental_network.allowed_domains ou experimental_network.denied_domains. |
experimental_network.enabled | boolean | Activez les exigences d’accès réseau dans le bac à sable. Cela n’accorde pas d’accès au réseau lorsque le bac à sable actif maintient l’accès réseau des commandes désactivé. |
experimental_network.http_port | integer | Port d’écoute HTTP sur l’interface de bouclage à utiliser pour les exigences [experimental_network]. |
experimental_network.managed_allowed_domains_only | boolean | Lorsque la valeur est true, seules les règles d’autorisation gérées par l’administrateur restent en vigueur tant que les exigences d’accès réseau dans le bac à sable sont actives ; les ajouts des utilisateurs à la liste d’autorisation sont ignorés. En l’absence de règles d’autorisation gérées, les règles d’autorisation de domaines ajoutées par les utilisateurs ne restent pas en vigueur. |
experimental_network.socks_port | integer | Port d’écoute SOCKS5 sur l’interface de bouclage à utiliser pour les exigences [experimental_network]. |
experimental_network.unix_sockets | map<string, allow | deny> | Politique de sockets Unix gérée par l’administrateur pour l’accès réseau dans le bac à sable. |
features | table | Valeurs imposées aux fonctionnalités. Utilisez les noms canoniques de config.toml pour les fonctionnalités de l’environnement d’exécution ; les clés d’exigences documentées propres à l’application sont également prises en charge ici. |
features.<name> | boolean | Exigez qu’une fonctionnalité documentée de l’environnement d’exécution ou de l’application reste activée ou désactivée. |
features.apps | boolean | Imposez la disponibilité ou l’indisponibilité de l’intégration des Applications pour les utilisateurs gérés. |
features.browser_use | boolean | Définissez cette option sur false dans requirements.toml pour désactiver la fonctionnalité Utilisation de l’ordinateur dans les navigateurs et rendre l’agent de navigation indisponible. |
features.browser_use_external | boolean | Définissez cette option sur false dans requirements.toml pour désactiver la fonctionnalité Utilisation de l’ordinateur dans les navigateurs externes. |
features.browser_use_full_cdp_access | boolean | Définissez cette option sur false dans requirements.toml pour désactiver l’accès complet à Chrome DevTools Protocol dans l’environnement d’exécution local, y compris le mode développeur du navigateur, et empêcher l’application de bureau ChatGPT d’activer le paramètre correspondant. Si cette option est omise, les règles normales de disponibilité du produit s’appliquent. |
features.computer_use | boolean | Définissez cette option sur false dans requirements.toml pour désactiver les fonctionnalités Utilisation de l’ordinateur et Enregistrer et rejouer, ainsi que les parcours d’installation ou d’activation associés. |
features.fast_mode | boolean | Imposez l’activation ou la désactivation de la fonctionnalité canonique fast_mode pour les utilisateurs gérés. |
features.guardian_approval | boolean | Imposez la disponibilité ou l’indisponibilité de l’approbation Guardian pour les utilisateurs gérés. |
features.in_app_browser | boolean | Définissez cette option sur false dans requirements.toml pour désactiver le volet du navigateur intégré. |
features.in_app_updates | boolean | Définissez cette option sur false dans requirements.toml pour désactiver les mises à jour intégrées à l’application. Si cette exigence est omise, les mises à jour restent activées par défaut. |
features.memories | boolean | Imposez la disponibilité ou l’indisponibilité des Mémoires pour les utilisateurs gérés. |
features.multi_agent | boolean | Imposez la disponibilité ou l’indisponibilité de la fonctionnalité multi-agent pour les utilisateurs gérés. |
features.plugin_sharing | boolean | Définissez cette option sur false dans le fichier requirements.toml géré dans le cloud pour désactiver le partage des plugins créés localement au sein de l’espace de travail. |
features.plugins | boolean | Imposez la disponibilité ou l’indisponibilité des plugins pour les utilisateurs gérés. |
features.remote_plugin | boolean | Imposez la disponibilité ou l’indisponibilité du catalogue distant de plugins pour les utilisateurs gérés. |
features.workspace_dependencies | boolean | Imposez la disponibilité ou l’indisponibilité de l’environnement d’exécution intégré pour les dépendances de l’espace de travail pour les utilisateurs gérés. |
feedback | table | Paramètres d’envoi de commentaires gérés par l’administrateur. |
feedback.enabled | boolean | Imposez le choix d’autoriser ou non les utilisateurs à envoyer des commentaires depuis les différents clients Codex. |
guardian_policy_config | string | Instructions gérées au format Markdown pour la politique de révision automatique. Elles prévalent sur la politique locale [auto_review].policy. Les valeurs vides sont ignorées. |
hooks | table | Hooks de cycle de vie gérés et imposés par l’administrateur. Ils nécessitent un répertoire de hooks géré et utilisent le même schéma d’événements que les [hooks] définis directement dans config.toml. |
hooks.<Event> | array<table> | Groupes de critères de correspondance pour un événement de hook comme PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop. |
hooks.<Event>[].hooks | array<table> | Gestionnaires de hooks pour un groupe de critères de correspondance. Les hooks de commande et d’outil MCP sont pris en charge ; les gestionnaires de hooks de prompt et d’agent sont analysés, mais ne sont pas exécutés. |
hooks.<Event>[].hooks[].additionalContextLimit | integer | Seuil approximatif de tokens par gestionnaire au-delà duquel le contenu additionalContext trop volumineux est enregistré sur disque et un aperçu plus court est présenté au modèle. Valeur par défaut : 2500 ; avec 0, le contexte complet est transmis directement au modèle. Consultez Sorties de hooks volumineuses. |
hooks.<Event>[].hooks[].async | boolean | Exécutez un hook de commande en arrière-plan sans retarder l’opération qui le déclenche. Valeur par défaut : false ; SessionEnd s’exécute toujours de façon synchrone. Consultez Exécutez les hooks en arrière-plan. |
hooks.<Event>[].hooks[].commandWindows | string | Commande de remplacement propre à Windows pour les hooks de commande. L’alias TOML command_windows est également accepté. |
hooks.managed_dir | string (absolute path) | Répertoire contenant les scripts de hooks gérés sur macOS et Linux. Avant de charger les hooks gérés, Codex vérifie que le chemin du répertoire est absolu et que le répertoire existe. |
hooks.windows_managed_dir | string (absolute path) | Répertoire contenant les scripts de hooks gérés sur Windows. Avant de charger les hooks gérés, Codex vérifie que le chemin du répertoire est absolu et que le répertoire existe. |
log_dir | string (path) | Imposez le répertoire dans lequel Codex écrit les fichiers journaux locaux. |
marketplaces | table | Exigences définies par l’administrateur pour les sources des Marketplace de plugins. Ces règles s’appliquent lorsque restrict_to_allowed_sources est défini sur true. |
marketplaces.allowed_sources | table | Sources de Marketplace autorisées, indexées par le nom de règle choisi par l’administrateur. Les noms distincts se cumulent d’une couche d’exigences à l’autre ; les champs associés à un même nom suivent l’ordre de priorité habituel des couches. |
marketplaces.allowed_sources.<name> | table | Règle définissant une source autorisée. Après la fusion des exigences, la valeur finale de source détermine les champs de même niveau que Codex interprète. |
marketplaces.allowed_sources.<name>.host_pattern | string | Expression régulière requise lorsque source = "host_pattern". Codex l’applique au nom d’hôte en minuscules extrait d’une source Git HTTPS, SSH ou au format SCP. Utilisez ^ et $ pour exiger que la correspondance porte sur l’intégralité du nom d’hôte. |
marketplaces.allowed_sources.<name>.path | string (absolute path) | Répertoire local de la Marketplace requis lorsque source = "local". Codex exige un chemin absolu et compare les chemins après normalisation. |
marketplaces.allowed_sources.<name>.ref | string | Référence Git exacte facultative pour une règle git. Si elle est omise, la règle autorise toute référence pour le dépôt correspondant. |
marketplaces.allowed_sources.<name>.source | git | host_pattern | local | Type de règle de correspondance pour une source de Marketplace. Utilisez git pour un dépôt, host_pattern pour des hôtes Git identifiés par une expression régulière, ou local pour un répertoire. |
marketplaces.allowed_sources.<name>.url | string | URL du dépôt Git requise lorsque source = "git". Codex normalise l’URL configurée et l’URL autorisée avant d’exiger qu’elles désignent exactement le même dépôt. |
marketplaces.restrict_to_allowed_sources | boolean | Lorsque la valeur est true, les sources de Marketplace configurées par l’utilisateur doivent correspondre à allowed_sources lors de l’ajout d’une Marketplace, de l’installation d’un plugin ou de l’actualisation d’une Marketplace Git configurée. Les Marketplace OpenAI gérées par Codex restent autorisées si elles utilisent la source et le nom qui leur sont réservés. Ce paramètre ne filtre pas à l’exécution les Marketplace déjà configurées par l’utilisateur. |
mcp_servers | table | Liste d’autorisation des serveurs MCP qui peuvent être activés. L’activation d’un serveur MCP exige une correspondance à la fois sur son nom ( <id>) et sur son identité. Tout serveur MCP configuré absent de cette liste, ou dont l’identité ne correspond pas, est désactivé. |
mcp_servers.<id>.identity | table | Règle d’identité pour un seul serveur MCP. Définissez soit command (stdio), soit url (streamable HTTP). |
mcp_servers.<id>.identity.command | string | table | Autorisez un serveur MCP stdio au moyen d’une chaîne de commande exacte, ou utilisez une table de critères de correspondance pour exiger un exécutable exact et des critères ordonnés pour les arguments. Lorsqu’une chaîne est utilisée, les arguments, cwd, env et env_vars ne sont pas examinés. |
mcp_servers.<id>.identity.command.args | array<table> | Critères de correspondance ordonnés pour les arguments d’un serveur stdio. La liste d’arguments configurée doit avoir la même longueur, et l’argument à chaque position doit satisfaire le critère correspondant. Les critères de correspondance de la commande n’examinent pas cwd, env ni env_vars. |
mcp_servers.<id>.identity.command.args[].expression | string | Expression régulière utilisée par un critère de correspondance d’argument regex. Elle doit être valide et correspondre à l’intégralité de la valeur de l’argument. |
mcp_servers.<id>.identity.command.args[].match | exact | prefix | regex | Opération de correspondance pour l’argument à cette position. |
mcp_servers.<id>.identity.command.args[].value | string | Valeur utilisée par un critère de correspondance d’argument exact ou prefix. |
mcp_servers.<id>.identity.command.executable | string | Exécutable auquel la valeur command configurée pour le serveur stdio doit correspondre exactement. |
mcp_servers.<id>.identity.url | string | table | Autorisez un serveur MCP streamable HTTP au moyen d’une chaîne d’URL exacte, ou utilisez une table de critères de correspondance de valeur exact, prefix ou regex. |
mcp_servers.<id>.identity.url.expression | string | Expression régulière utilisée par un critère de correspondance d’URL regex. Elle doit être valide et correspondre à l’intégralité de la valeur de l’URL. |
mcp_servers.<id>.identity.url.match | exact | prefix | regex | Opération de correspondance pour l’URL configurée du serveur MCP. |
mcp_servers.<id>.identity.url.value | string | Valeur utilisée par un critère de correspondance d’URL exact ou prefix. |
model_catalog_json | string (path) | Imposez le catalogue de modèles au format JSON que Codex utilise au démarrage. |
models | table | Paramètres de modèle par défaut gérés pour les nouveaux fils de discussion. Ces valeurs prévalent sur les valeurs par défaut de l’utilisateur et du projet, mais une sélection explicite pour le nouveau fil de discussion peut les remplacer. |
models.new_thread | table | Valeurs par défaut à appliquer au démarrage d’un nouveau fil de discussion local. Chaque paramètre de modèle est facultatif. |
models.new_thread.model | string | Modèle par défaut pour les nouveaux fils de discussion. Une option --model explicite ou un remplacement du modèle ou du raisonnement via --config est prioritaire. |
models.new_thread.model_reasoning_effort | string | Effort de raisonnement par défaut pour les nouveaux fils de discussion. Un remplacement explicite du modèle ou de l’effort de raisonnement empêche l’application des deux champs gérés relatifs au modèle. |
models.new_thread.service_tier | string | Offre par défaut pour les nouveaux fils de discussion. Un remplacement explicite de l’offre est prioritaire, indépendamment des champs relatifs au modèle. |
permissions | table | Profils d’autorisations définis par l’administrateur et indexés par nom de profil. Ils utilisent les mêmes champs de profil que config.toml. |
permissions.<name> | table | Profil d’autorisations défini par l’administrateur. Son nom ne peut pas commencer par :, reprendre le nom réservé filesystem, ni être identique à celui d’un profil provenant d’une configuration chargée. Les champs du profil sont les mêmes que dans config.toml ; consultez le guide Autorisations pour obtenir le schéma complet du profil. |
permissions.filesystem.deny_read | array<string> | Interdictions de lecture dans le système de fichiers imposées par l’administrateur. Les entrées peuvent être des chemins ou des motifs glob, et les utilisateurs ne peuvent pas assouplir ces restrictions au moyen d’une configuration locale. |
plugins | table | Listes d’autorisation de serveurs MCP propres aux plugins, indexées par identifiant de plugin. Lorsque cette table est présente, les serveurs fournis avec des plugins sont désactivés si aucune entrée ne correspond à la fois au plugin et au serveur. |
plugins.<plugin>.mcp_servers | table | Liste d’autorisation des serveurs MCP fournis avec un plugin. Les exigences relatives aux serveurs de plugins utilisent les mêmes formes d’identité exacte et de critères de correspondance que les exigences mcp_servers de niveau supérieur. |
plugins.<plugin>.mcp_servers.<server>.identity | table | Règle d’identité pour un serveur MCP fourni avec un plugin. Définissez soit command (stdio), soit url (streamable HTTP). |
plugins.<plugin>.mcp_servers.<server>.identity.command | string | table | Autorisez le serveur MCP stdio d’un plugin en indiquant la chaîne exacte de sa commande, ou utilisez une table de correspondance pour imposer un exécutable précis et des règles de correspondance ordonnées pour les arguments. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args | array<table> | Règles de correspondance ordonnées pour les arguments d’un serveur stdio fourni avec un plugin. La liste d’arguments configurée doit avoir la même longueur, et chaque argument doit satisfaire la règle à sa position. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].expression | string | Expression régulière utilisée par une règle de correspondance d’argument regex. L’expression doit correspondre à l’intégralité de la valeur de l’argument. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].match | exact | prefix | regex | Opération de correspondance pour l’argument à cette position. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].value | string | Valeur utilisée par une règle de correspondance d’argument exact ou prefix. |
plugins.<plugin>.mcp_servers.<server>.identity.command.executable | string | Exécutable auquel la commande configurée du serveur stdio fourni avec le plugin doit correspondre exactement. |
plugins.<plugin>.mcp_servers.<server>.identity.url | string | table | Autorisez le serveur MCP HTTP streamable d’un plugin en indiquant la chaîne exacte de son URL, ou utilisez une table définissant une règle de correspondance de valeur de type exact, prefix ou regex. |
plugins.<plugin>.mcp_servers.<server>.identity.url.expression | string | Expression régulière utilisée par une règle de correspondance d’URL regex. L’expression doit correspondre à l’intégralité de la valeur de l’URL. |
plugins.<plugin>.mcp_servers.<server>.identity.url.match | exact | prefix | regex | Opération de correspondance pour l’URL du serveur MCP fourni avec le plugin. |
plugins.<plugin>.mcp_servers.<server>.identity.url.value | string | Valeur utilisée par une règle de correspondance d’URL exact ou prefix. |
remote_sandbox_config | array<table> | Exigences de bac à sable propres à chaque hôte. La première entrée dont les motifs hostname_patterns correspondent au nom d’hôte résolu remplace la valeur allowed_sandbox_modes de niveau supérieur pour cette source d’exigences. Actuellement, les entrées propres à un hôte ne remplacent que les modes de bac à sable. |
remote_sandbox_config[].allowed_sandbox_modes | array<string> | Modes de bac à sable autorisés à appliquer lorsque cette entrée propre à l’hôte correspond. |
remote_sandbox_config[].hostname_patterns | array<string> | Motifs de noms d’hôte insensibles à la casse. Ils prennent en charge * pour une séquence quelconque de caractères et ? pour un seul caractère. |
rules | table | Règles de commande imposées par l’administrateur et fusionnées avec les fichiers .rules. Les règles définies dans les exigences doivent être restrictives. |
rules.prefix_rules | array<table> | Liste des règles de préfixe imposées. Chaque règle doit inclure pattern et decision. |
rules.prefix_rules[].decision | prompt | forbidden | Obligatoire. Les règles définies dans les exigences peuvent uniquement demander l’approbation ou interdire (et non autoriser). |
rules.prefix_rules[].justification | string | Justification facultative non vide, affichée dans les demandes d’approbation ou les messages de rejet. |
rules.prefix_rules[].pattern | array<table> | Préfixe de commande exprimé sous forme d’un motif composé de tokens. Chaque token définit soit token, soit any_of. |
rules.prefix_rules[].pattern[].any_of | array<string> | Liste des tokens alternatifs autorisés à cette position. |
rules.prefix_rules[].pattern[].token | string | Un seul token littéral à cette position. |
sqlite_home | string (path) | Imposez le répertoire où Codex stocke l’état d’exécution dans SQLite. |
windows | table | Exigences concernant le bac à sable natif de Windows. |
windows.allowed_sandbox_implementations | array<string> | Implémentations du bac à sable natif de Windows autorisées pour windows.sandbox (elevated et unelevated). La liste ne doit pas être vide. Lorsque les deux sont autorisées et qu’aucun mode n’est sélectionné, Codex privilégie elevated. |
windows.sandbox_private_desktop | boolean | Imposez l’utilisation ou non d’un bureau privé pour lancer le processus enfant du bac à sable natif Windows. |
allow_appshotsbooleanfalse pour désactiver Appshots pour les utilisateurs gérés. Si cette option est omise, les exigences ne restreignent pas Appshots et les règles normales de disponibilité du produit s’appliquent.allow_login_shellbooleanallow_managed_hooks_onlybooleantrue, Codex ignore les hooks utilisateur, de projet, de session et de plugin, tout en autorisant les hooks gérés provenant de requirements.toml et d’autres couches de configuration gérées.allow_remote_controlbooleanfalse pour désactiver le contrôle à distance des appareils pour les utilisateurs gérés. Si cette option est omise, les exigences ne restreignent pas le contrôle à distance des appareils, qui reste soumis aux règles normales de disponibilité du produit.allowed_approval_policiesarray<string>approval_policy (par exemple untrusted, on-request, never et granular).allowed_approvals_reviewersarray<string>approvals_reviewer, telles que user et auto_review.allowed_permission_profilestable<boolean>true sont autorisés. Ceux qui sont omis ou définis sur false sont refusés, y compris les profils ajoutés dans de futures versions. Lorsque des sources d’exigences sont combinées, les entrées sont mises en correspondance d’après le nom du profil.allowed_permission_profiles.<name>booleanfalse pour désactiver un profil autorisé par une source antérieure de priorité inférieure.allowed_sandbox_modesarray<string>sandbox_mode.allowed_web_search_modesarray<string>web_search (disabled, cached, indexed, live). disabled est toujours autorisé ; une liste vide n’autorise donc que disabled.appstableapps.<id>.enabledbooleanfalse pour désactiver une application. Une exigence de désactivation reste contraignante lorsque plusieurs sources d’exigences sont fusionnées.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approvecheck_for_update_on_startupbooleancomputer_usetablerequirements.toml pour la fonctionnalité Utilisation de l’ordinateur.computer_use.allow_locked_computer_usebooleanfalse pour empêcher la fonctionnalité Utilisation de l’ordinateur de fonctionner après le verrouillage d’un appareil macOS géré. Si cette option est omise, les exigences ne restreignent pas son utilisation après verrouillage.default_permissionsstringallowed_permission_profiles. Définissez-le explicitement pour obtenir un comportement prévisible ; si ce paramètre est omis, Codex ne choisit :workspace par défaut que si :workspace et :read-only sont tous deux explicitement autorisés.enforce_residencystringus est actuellement acceptée.experimental_networktablerequirements.toml. Lorsqu’elles sont activées, ces exigences peuvent démarrer le proxy réseau des commandes sans features.network_proxy. Elles ne régissent pas la recherche web, les applications, les serveurs MCP, les navigateurs ni l’accès réseau de Codex Cloud.experimental_network.allow_local_bindingbooleanlocalhost peuvent néanmoins autoriser des destinations locales précises lorsque cette option reste définie sur false.experimental_network.allow_upstream_proxybooleanexperimental_network.allowed_domainsarray<string>experimental_network.domains.experimental_network.dangerously_allow_all_unix_socketsbooleanexperimental_network.dangerously_allow_non_loopback_proxyboolean[experimental_network]. L’activation de cette option peut rendre les services d’écoute accessibles au-delà de localhost.experimental_network.denied_domainsarray<string>experimental_network.domains.experimental_network.domainsmap<string, allow | deny>*.example.com pour les sous-domaines uniquement, **.example.com pour le domaine racine et ses sous-domaines, ainsi que les règles globales d’autorisation * ; préférez des règles ciblées, car * ouvre largement l’accès sortant vers les réseaux publics. En cas de conflit, deny prévaut. Ne combinez pas cette option avec experimental_network.allowed_domains ou experimental_network.denied_domains.experimental_network.enabledbooleanexperimental_network.http_portinteger[experimental_network].experimental_network.managed_allowed_domains_onlybooleantrue, seules les règles d’autorisation gérées par l’administrateur restent en vigueur tant que les exigences d’accès réseau dans le bac à sable sont actives ; les ajouts des utilisateurs à la liste d’autorisation sont ignorés. En l’absence de règles d’autorisation gérées, les règles d’autorisation de domaines ajoutées par les utilisateurs ne restent pas en vigueur.experimental_network.socks_portinteger[experimental_network].experimental_network.unix_socketsmap<string, allow | deny>featurestableconfig.toml pour les fonctionnalités de l’environnement d’exécution ; les clés d’exigences documentées propres à l’application sont également prises en charge ici.features.<name>booleanfeatures.appsbooleanfeatures.browser_usebooleanfalse dans requirements.toml pour désactiver la fonctionnalité Utilisation de l’ordinateur dans les navigateurs et rendre l’agent de navigation indisponible.features.browser_use_externalbooleanfalse dans requirements.toml pour désactiver la fonctionnalité Utilisation de l’ordinateur dans les navigateurs externes.features.browser_use_full_cdp_accessbooleanfalse dans requirements.toml pour désactiver l’accès complet à Chrome DevTools Protocol dans l’environnement d’exécution local, y compris le mode développeur du navigateur, et empêcher l’application de bureau ChatGPT d’activer le paramètre correspondant. Si cette option est omise, les règles normales de disponibilité du produit s’appliquent.features.computer_usebooleanfalse dans requirements.toml pour désactiver les fonctionnalités Utilisation de l’ordinateur et Enregistrer et rejouer, ainsi que les parcours d’installation ou d’activation associés.features.fast_modebooleanfast_mode pour les utilisateurs gérés.features.guardian_approvalbooleanfeatures.in_app_browserbooleanfalse dans requirements.toml pour désactiver le volet du navigateur intégré.features.in_app_updatesbooleanfalse dans requirements.toml pour désactiver les mises à jour intégrées à l’application. Si cette exigence est omise, les mises à jour restent activées par défaut.features.memoriesbooleanfeatures.multi_agentbooleanfeatures.plugin_sharingbooleanfalse dans le fichier requirements.toml géré dans le cloud pour désactiver le partage des plugins créés localement au sein de l’espace de travail.features.pluginsbooleanfeatures.remote_pluginbooleanfeatures.workspace_dependenciesbooleanfeedbacktablefeedback.enabledbooleanguardian_policy_configstring[auto_review].policy. Les valeurs vides sont ignorées.hookstable[hooks] définis directement dans config.toml.hooks.<Event>array<table>PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop.hooks.<Event>[].hooksarray<table>hooks.<Event>[].hooks[].additionalContextLimitintegeradditionalContext trop volumineux est enregistré sur disque et un aperçu plus court est présenté au modèle. Valeur par défaut : 2500 ; avec 0, le contexte complet est transmis directement au modèle. Consultez Sorties de hooks volumineuses.hooks.<Event>[].hooks[].asyncbooleanfalse ; SessionEnd s’exécute toujours de façon synchrone. Consultez Exécutez les hooks en arrière-plan.hooks.<Event>[].hooks[].commandWindowsstringcommand_windows est également accepté.hooks.managed_dirstring (absolute path)hooks.windows_managed_dirstring (absolute path)log_dirstring (path)marketplacestablerestrict_to_allowed_sources est défini sur true.marketplaces.allowed_sourcestablemarketplaces.allowed_sources.<name>tablesource détermine les champs de même niveau que Codex interprète.marketplaces.allowed_sources.<name>.host_patternstringsource = "host_pattern". Codex l’applique au nom d’hôte en minuscules extrait d’une source Git HTTPS, SSH ou au format SCP. Utilisez ^ et $ pour exiger que la correspondance porte sur l’intégralité du nom d’hôte.marketplaces.allowed_sources.<name>.pathstring (absolute path)source = "local". Codex exige un chemin absolu et compare les chemins après normalisation.marketplaces.allowed_sources.<name>.refstringgit. Si elle est omise, la règle autorise toute référence pour le dépôt correspondant.marketplaces.allowed_sources.<name>.sourcegit | host_pattern | localgit pour un dépôt, host_pattern pour des hôtes Git identifiés par une expression régulière, ou local pour un répertoire.marketplaces.allowed_sources.<name>.urlstringsource = "git". Codex normalise l’URL configurée et l’URL autorisée avant d’exiger qu’elles désignent exactement le même dépôt.marketplaces.restrict_to_allowed_sourcesbooleantrue, les sources de Marketplace configurées par l’utilisateur doivent correspondre à allowed_sources lors de l’ajout d’une Marketplace, de l’installation d’un plugin ou de l’actualisation d’une Marketplace Git configurée. Les Marketplace OpenAI gérées par Codex restent autorisées si elles utilisent la source et le nom qui leur sont réservés. Ce paramètre ne filtre pas à l’exécution les Marketplace déjà configurées par l’utilisateur.mcp_serverstable<id>) et sur son identité. Tout serveur MCP configuré absent de cette liste, ou dont l’identité ne correspond pas, est désactivé.mcp_servers.<id>.identitytablecommand (stdio), soit url (streamable HTTP).mcp_servers.<id>.identity.commandstring | tablecwd, env et env_vars ne sont pas examinés.mcp_servers.<id>.identity.command.argsarray<table>cwd, env ni env_vars.mcp_servers.<id>.identity.command.args[].expressionstringregex. Elle doit être valide et correspondre à l’intégralité de la valeur de l’argument.mcp_servers.<id>.identity.command.args[].matchexact | prefix | regexmcp_servers.<id>.identity.command.args[].valuestringexact ou prefix.mcp_servers.<id>.identity.command.executablestringcommand configurée pour le serveur stdio doit correspondre exactement.mcp_servers.<id>.identity.urlstring | tableexact, prefix ou regex.mcp_servers.<id>.identity.url.expressionstringregex. Elle doit être valide et correspondre à l’intégralité de la valeur de l’URL.mcp_servers.<id>.identity.url.matchexact | prefix | regexmcp_servers.<id>.identity.url.valuestringexact ou prefix.model_catalog_jsonstring (path)modelstablemodels.new_threadtablemodels.new_thread.modelstring--model explicite ou un remplacement du modèle ou du raisonnement via --config est prioritaire.models.new_thread.model_reasoning_effortstringmodels.new_thread.service_tierstringpermissionstableconfig.toml.permissions.<name>table:, reprendre le nom réservé filesystem, ni être identique à celui d’un profil provenant d’une configuration chargée. Les champs du profil sont les mêmes que dans config.toml ; consultez le guide Autorisations pour obtenir le schéma complet du profil.permissions.filesystem.deny_readarray<string>pluginstableplugins.<plugin>.mcp_serverstablemcp_servers de niveau supérieur.plugins.<plugin>.mcp_servers.<server>.identitytablecommand (stdio), soit url (streamable HTTP).plugins.<plugin>.mcp_servers.<server>.identity.commandstring | tableplugins.<plugin>.mcp_servers.<server>.identity.command.argsarray<table>plugins.<plugin>.mcp_servers.<server>.identity.command.args[].expressionstringregex. L’expression doit correspondre à l’intégralité de la valeur de l’argument.plugins.<plugin>.mcp_servers.<server>.identity.command.args[].matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.command.args[].valuestringexact ou prefix.plugins.<plugin>.mcp_servers.<server>.identity.command.executablestringplugins.<plugin>.mcp_servers.<server>.identity.urlstring | tableexact, prefix ou regex.plugins.<plugin>.mcp_servers.<server>.identity.url.expressionstringregex. L’expression doit correspondre à l’intégralité de la valeur de l’URL.plugins.<plugin>.mcp_servers.<server>.identity.url.matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.url.valuestringexact ou prefix.remote_sandbox_configarray<table>hostname_patterns correspondent au nom d’hôte résolu remplace la valeur allowed_sandbox_modes de niveau supérieur pour cette source d’exigences. Actuellement, les entrées propres à un hôte ne remplacent que les modes de bac à sable.remote_sandbox_config[].allowed_sandbox_modesarray<string>remote_sandbox_config[].hostname_patternsarray<string>* pour une séquence quelconque de caractères et ? pour un seul caractère.rulestable.rules. Les règles définies dans les exigences doivent être restrictives.rules.prefix_rulesarray<table>pattern et decision.rules.prefix_rules[].decisionprompt | forbiddenrules.prefix_rules[].justificationstringrules.prefix_rules[].patternarray<table>token, soit any_of.rules.prefix_rules[].pattern[].any_ofarray<string>rules.prefix_rules[].pattern[].tokenstringsqlite_homestring (path)windowstablewindows.allowed_sandbox_implementationsarray<string>windows.sandbox (elevated et unelevated). La liste ne doit pas être vide. Lorsque les deux sont autorisées et qu’aucun mode n’est sélectionné, Codex privilégie elevated.windows.sandbox_private_desktopboolean