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 redéfinir 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.*), complétez cette référence avec les sections Bac à sable et approbations, Chemins protégés dans les répertoires racines accessibles en écriture et Accès réseau. Pour les profils d’autorisations en bêta, consultez Autorisations.
Codex et ChatGPT Work ne prennent plus en charge approval_policy = "untrusted".
Supprimez ce paramètre ou choisissez une politique prise en charge. Les entrées de projet avec
trust_level = "untrusted" dans le fichier utilisateur ~/.codex/config.toml restent prises en charge. Consultez
Migrez depuis l’ancienne politique d’approbation untrusted
pour découvrir des exemples et les compromis liés aux approbations.
| Key | Type / Values | Details |
|---|---|---|
agents | table | Paramètres multi-agents et déclarations de rôles personnalisés. Les noms des 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 vers une couche de configuration TOML pour ce rôle ; les chemins relatifs sont résolus à partir du fichier de configuration qui déclare le rôle. |
agents.<name>.description | string | Instructions sur le rôle présentées à Codex lorsqu’il choisit et crée un agent de ce type. |
agents.default_subagent_model | string | Modèle par défaut des agents créés. Un modèle explicitement indiqué lors de la création a priorité. |
agents.default_subagent_reasoning_effort | string | Effort de raisonnement par défaut des agents créés. Un effort explicitement indiqué lors de la création a priorité. |
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 fils de discussion des agents créés pouvant être ouverts simultanément, à l’exclusion du fil 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 basés sur le shell à utiliser le comportement d’un shell de connexion. La valeur par défaut est true ; avec false, les demandes login = true sont rejetées et, si login est omis, les shells ne sont pas des shells de connexion. |
analytics.enabled | boolean | Activez ou désactivez l’analyse d’utilisation 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 | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } } | Détermine quand Codex s’interrompt pour demander une approbation avant d’exécuter des commandes. Vous pouvez également utiliser approval_policy = { granular = { ... } } pour autoriser ou rejeter automatiquement certaines catégories de demandes tout en laissant les autres interactives. untrusted n’est pas pris en charge et 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 | Avec la valeur true, les demandes d’élicitation MCP peuvent s’afficher au lieu d’être rejetées automatiquement. |
approval_policy.granular.request_permissions | boolean | Avec la valeur true, les demandes de l’outil request_permissions peuvent s’afficher. |
approval_policy.granular.rules | boolean | Avec la valeur true, les demandes d’approbation déclenchées par les règles prompt d’execpolicy peuvent s’afficher. |
approval_policy.granular.sandbox_approval | boolean | Avec la valeur true, les demandes d’approbation pour une élévation des autorisations du bac à sable peuvent s’afficher. |
approval_policy.granular.skill_approval | boolean | Avec la valeur true, les demandes d’approbation des scripts de skills peuvent s’afficher. |
approvals_reviewer | user | auto_review | Détermine qui examine les demandes d’approbation éligibles dans le cadre des politiques on-request ou granulaires. La valeur par défaut est user ; auto_review fait appel au sous-agent de révision. Ce paramètre ne modifie pas le 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 de la révision par défaut pour les demandes d’approbation des outils d’applications, sauf si un paramètre propre à une application le redéfinit. 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 pour les outils d’applications en l’absence de paramètres propres à l’application ou à l’outil. |
apps._default.destructive_enabled | boolean | Autorisation ou interdiction par défaut pour les outils d’applications avec destructive_hint = true. |
apps._default.enabled | boolean | État d’activation par défaut de toutes les applications, sauf si un paramètre propre à une application le redéfinit. |
apps._default.open_world_enabled | boolean | Autorisation ou interdiction par défaut pour les outils d’applications avec open_world_hint = true. |
apps.<id>.approvals_reviewer | user | auto_review | Responsable de la révision 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 un réglage propre à un outil le remplace. |
apps.<id>.default_tools_enabled | boolean | État d’activation par défaut des outils de cette application, sauf si un réglage propre à un outil le remplace. |
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 à l’aide de son identifiant (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 | Réglage du comportement d’approbation propre à un outil de l’application. |
apps.<id>.tools.<tool>.enabled | boolean | Réglage d’activation propre à un outil de l’application (par exemple repos/list). |
auto_review.policy | string | Instructions de politique locales en Markdown pour la révision automatique. Le paramètre administré 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 d’interrogation write_stdin vides (interrogation du terminal en arrière-plan). Par défaut : 300000 (5 minutes). Remplace l’ancienne clé background_terminal_timeout. |
browser_use.allow_history_access | boolean | Définissez ce paramètre sur false pour restreindre l’accès à l’historique du navigateur. Les exigences administrées peuvent imposer cette restriction. |
browser_use.default_origin_policy | table | Restrictions par défaut pour les origines du navigateur. Les champs access, uploads, downloads et full_cdp_access sont pris en charge, chacun avec la valeur allow ou deny. |
browser_use.origins.<origin> | table | Restrictions du navigateur par origine, avec les mêmes champs que browser_use.default_origin_policy. Incluez un schéma HTTP ou HTTPS et, éventuellement, un port ; omettez les chemins, les chaînes de requête et les fragments. Les valeurs locales ne peuvent pas assouplir les interdictions administrées. |
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 (définissez ce paramètre sur false uniquement si les mises à jour sont gérées de manière centralisée). |
cli_auth_credentials_store | file | keyring | auto | ephemeral | Définissez où la CLI stocke les identifiants mis en cache. |
compact_prompt | string | Prompt de remplacement pour le compactage de l’historique, défini directement dans la configuration. |
computer_use.default_app_access | allow | deny | Politique d’accès par défaut aux applications natives pour l’Utilisation de l’ordinateur. Des entrées propres à chaque application peuvent définir une politique ; la configuration locale ne peut pas assouplir les restrictions administrées. |
computer_use.macos.bundle_ids | map<string, allow | deny> | Accès aux applications macOS natives, avec l’identifiant de bundle comme clé. |
computer_use.windows.always_allowed_app_ids | array<string> | Identifiants des applications Windows que l’Utilisation de l’ordinateur peut ouvrir sans demander d’approbation. Les applications absentes de la liste nécessitent une approbation ; supprimez les entrées enregistrées dans les paramètres d’Utilisation de l’ordinateur de l’application de bureau ChatGPT. |
computer_use.windows.aumids | map<string, allow | deny> | Accès aux applications Windows empaquetées, avec l’Application User Model ID (AUMID) comme clé. |
computer_use.windows.exes | array<table> | Règles d’accès aux exécutables Windows. Chaque règle exige publisher_name, product_name et access (allow ou deny) ; binary_name est facultatif. |
default_permissions | string | Nom du profil d’autorisations par défaut à appliquer aux appels d’outils exécutés en 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 | Uniquement au niveau utilisateur. Définit une cible Ouvrir dans supplémentaire pour l’application de bureau ChatGPT. Consultez Ajouter des gestionnaires de fichiers personnalisés pour des exemples et 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 ; les sources non prises en charge utilisent l’icône VS Code par défaut. |
desktop.custom_file_handlers.<id>.input | path | json_argument | json_stdin | Mode de transmission du fichier d’entrée par l’application au gestionnaire (par défaut : path). |
desktop.custom_file_handlers.<id>.label | string | Nom affiché dans les menus Ouvrir dans. Obligatoire. |
desktop.custom_file_handlers.<id>.supports_ssh | boolean | Proposez le gestionnaire pour les fichiers des espaces de travail SSH (par défaut : false). |
developer_instructions | string | Instructions développeur supplémentaires injectées dans la session (facultatives). |
disable_paste_burst | boolean | Désactivez la détection du collage en rafale dans la TUI. |
experimental_compact_prompt_file | string (path) | Chargez le prompt de compactage de remplacement depuis un fichier (expérimental). |
experimental_use_unified_exec_tool | boolean | Ancien nom du paramètre activant 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 contrôlé par le proxy réseau des commandes exécutées dans le bac à sable ni par sa liste de domaines autorisés. |
features.code_mode.direct_only_tool_namespaces | array<string> | Espaces de noms d’outils que le mode code ne peut utiliser que par des appels d’outils directs. |
features.code_mode.enabled | boolean | Activez la configuration de la fonctionnalité de 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 instructions sur les appels d’outils imbriqués en mode code et des outils accessibles à l’exécuteur. |
features.context_management.experimental_mode | boolean | Activez la gestion expérimentale du contexte (désactivée par défaut). Au lieu de compresser à répétition le contexte en un seul résumé, elle utilise des notes et un historique consultable par recherche pour conserver les détails accumulés. Nécessite une connexion à ChatGPT avec un abonnement Plus, Pro ou Pro Lite. |
features.enable_request_compression | boolean | Compressez les corps des requêtes en streaming avec zstd lorsque cette compression est prise en charge (stable ; activé par défaut). |
features.fast_mode | boolean | Activez la sélection d’une offre du catalogue de modèles dans la TUI, y compris les commandes de l’offre Rapide lorsque le modèle actif les déclare disponibles (stable ; activé par défaut). |
features.goals | boolean | Activez les objectifs persistants et la poursuite automatique (stable ; activé par défaut). |
features.hooks | boolean | Activez les hooks de cycle de vie chargés depuis hooks.json ou depuis la configuration [hooks] intégrée. 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-agent ( spawn_agent, send_input, resume_agent, wait_agent et close_agent) (stable ; activé par défaut). |
features.network_proxy | boolean | table | Démarrez le proxy réseau pour les commandes exécutées dans le bac à sable (expérimental ; désactivé par défaut). Nécessaire pour appliquer les règles de domaine des profils de permissions, sauf si les exigences experimental_network activées et gérées par l’administrateur démarrent le proxy. Utilisez une table pour définir les options de politique propres à la fonctionnalité, telles que domains. 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 large au réseau local ou privé. Valeur par défaut : false ; des règles d’autorisation ciblant une adresse IP locale littérale exacte ou localhost peuvent toujours autoriser des destinations locales précises. |
features.network_proxy.allow_upstream_proxy | boolean | Autorisez le chaînage via 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 hors boucle locale. Valeur par défaut : false ; l’activation de cette option peut exposer les points d’écoute du proxy au-delà de localhost. |
features.network_proxy.domains | map<string, allow | deny> | Politique de domaine pour les accès réseau dans le bac à sable. Non définie par défaut : aucune destination externe n’est donc autorisée tant que vous n’ajoutez pas de règles allow. Prend en charge 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 d’autorisation globales * ; privilégiez les règles à portée limitée, car * ouvre largement les accès sortants au réseau public. Ajoutez des règles deny pour les destinations bloquées ; deny prévaut en cas de conflit. |
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 l’accès réseau des commandes est activé. Valeur par défaut : false ; les règles de domaine des profils de permissions ne sont pas appliquées lorsque le proxy est désactivé. |
features.network_proxy.proxy_url | string | URL d’écoute HTTP pour les 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> | Politique relative aux sockets Unix pour les accès réseau dans le bac à sable. Non définie par défaut ; ajoutez des entrées allow pour les sockets autorisés. |
features.personality | boolean | Activez les commandes de sélection de la personnalité (stable ; activé par défaut). |
features.prevent_idle_sleep | boolean | Empêchez la mise en veille de la machine pendant l’exécution d’un tour (expérimental ; désactivé par défaut). |
features.remote_plugin | boolean | Activez le catalogue distant de plugins (stable ; activé 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, supérieur ou égal à zéro, appliqué aux tokens de préremplissage dans le calcul du budget d’exécution. La valeur par défaut est 1.0. |
features.rollout_budget.reminder_interval_tokens | integer | Intervalle strictement positif, en tokens, entre les rappels du budget d’exécution. La valeur par défaut est de 10 % de limit_tokens, avec un minimum de 1 token. |
features.rollout_budget.sampling_token_weight | number | Multiplicateur fini, supérieur ou égal à zéro, appliqué aux tokens échantillonnés dans le calcul du budget d’exécution. La valeur par défaut est 1.0. |
features.shell_snapshot | boolean | Créez un instantané de l’environnement shell pour accélérer les commandes répétées (stable ; activé par défaut). |
features.shell_tool | boolean | Activez l’outil shell par défaut pour exécuter des commandes (stable ; activé par défaut). |
features.skill_mcp_dependency_install | boolean | Autorisez les demandes d’installation et l’installation des dépendances MCP manquantes pour les skills (stable ; activé par défaut). |
features.unified_exec | boolean | Utilisez l’outil d’exécution unifié reposant sur un PTY (stable ; activé par défaut, sauf sur Windows). |
features.web_search | boolean | Ancienne option d’activation obsolète ; privilégiez le paramètre web_search de premier niveau. |
features.web_search_cached | boolean | Ancienne option d’activation obsolète. Lorsque web_search n’est pas défini, true correspond à web_search = "cached". |
features.web_search_request | boolean | Ancienne option d’activation obsolète. Lorsque web_search n’est pas défini, true correspond à web_search = "live". |
feedback.enabled | boolean | Activez l’envoi de commentaires via /feedback dans les clients locaux (par défaut : true). |
file_opener | vscode | vscode-insiders | windsurf | cursor | none | Schéma d’URI utilisé pour ouvrir les citations présentes dans les réponses de Codex (par défaut : vscode). |
forced_chatgpt_workspace_id | string (uuid) | Limitez les connexions à ChatGPT à un identifiant d’espace de travail précis. |
forced_login_method | chatgpt | api | Limitez Codex à une méthode d’authentification précise. |
hide_agent_reasoning | boolean | Masquez les événements de raisonnement dans la TUI et dans la sortie de codex exec. |
history.max_bytes | number | Si ce paramètre est défini, il limite la taille du fichier d’historique en octets en supprimant les entrées les plus anciennes. |
history.persistence | save-all | none | Déterminez si Codex enregistre les transcriptions des sessions 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 des Hooks pour des exemples et la liste des événements pris en charge. |
hooks.<Event> | array<table> | Groupes de critères de correspondance pour les événements de hooks tels que PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit, Stop ou Interrupt. |
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 un additionalContext trop volumineux est enregistré sur disque et un aperçu plus court est présenté au modèle. La valeur par défaut est 2500 ; 0 transmet directement l’intégralité du contexte 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. La valeur par défaut est false ; SessionEnd s’exécute toujours de manière synchrone. Consultez Exécutez les hooks en arrière-plan. |
hooks.<Event>[].hooks[].commandWindows | string | Commande de remplacement réservée à Windows pour les hooks de commande. L’alias TOML command_windows est également accepté. |
instructions | string | Réservé à un usage futur ; privilégiez model_instructions_file ou AGENTS.md. |
log_dir | string (path) | Répertoire dans lequel Codex écrit les fichiers journaux ; la valeur par défaut est $CODEX_HOME/log. Définir explicitement ce paramètre active également le journal facultatif en texte brut de la TUI, codex-tui.log, dans ce répertoire. |
marketplaces.<name>.ref | string | Branche, tag ou commit Git facultatif pour la marketplace. |
marketplaces.<name>.source | string | Emplacement du dépôt Git ou répertoire racine de la marketplace locale. Utilisez un chemin absolu pour une source locale ; le répertoire contient .agents/plugins/marketplace.json. |
marketplaces.<name>.source_type | git | local | Type de source d’une marketplace de plugins configurée. Les marketplaces peuvent être définies dans un fichier config.toml système, géré dans le cloud, utilisateur ou propre à un projet de confiance. |
marketplaces.<name>.sparse_paths | array<string> | Chemins facultatifs d’extraction partielle (sparse checkout) pour une marketplace Git. Incluez le catalogue de la marketplace et tous les répertoires de plugins locaux qu’il référence. |
mcp_oauth_callback_port | integer | Port fixe global facultatif pour le serveur HTTP local de rappel utilisé lors de la connexion OAuth MCP. Le paramètre oauth.callback_port propre à un serveur est prioritaire. Si aucun des deux n’est défini, Codex é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 de 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. Si l’identification de l’émetteur n’est pas prise en charge, tout serveur MCP préenregistré dont l’URL de rappel configurée ne contient pas l’identifiant requis utilise cette URL en y ajoutant l’identifiant. Les ports des URL de rappel ne déterminent pas le port d’écoute. |
mcp_oauth_credentials_store | auto | file | keyring | Stockage privilégié pour les identifiants OAuth MCP. |
mcp_optional_startup_grace_ms | integer (milliseconds) | Délai d’attente commun aux serveurs MCP facultatifs lors de la constitution du catalogue initial d’outils. La valeur par défaut est 1000. Définissez-le sur 0 pour utiliser à la place le délai startup_timeout_sec de chaque serveur. |
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 MCP HTTP, après les tokens bearer et les en-têtes d’autorisation configurés. oauth (valeur par défaut) utilise les identifiants OAuth MCP enregistrés lorsqu’ils sont disponibles. chatgpt utilise la session ChatGPT actuelle pour l’origine officielle et de confiance de ChatGPT, puis se rabat sur les identifiants OAuth enregistrés. Les deux modes peuvent se connecter sans authentification si aucune source ne fournit d’identifiants. |
mcp_servers.<id>.bearer_token_env_var | string | Variable d’environnement fournissant le token bearer d’un serveur MCP HTTP. |
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 réglage propre à un outil le remplace. |
mcp_servers.<id>.disabled_tools | array<string> | Liste d’interdiction 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 des noms d’outils que le serveur MCP est autorisé à exposer. |
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 MCP HTTP. |
mcp_servers.<id>.env_vars | array<string | { name = string, source = "local" | "remote" }> | Variables d’environnement supplémentaires à autoriser pour un serveur MCP stdio. Les entrées sous forme de chaînes utilisent par défaut source = "local" ; utilisez source = "remote" uniquement avec un transport 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 ; l’exécution à distance des serveurs utilisant le transport HTTP en streaming n’est pas implémentée. |
mcp_servers.<id>.http_headers | map<string,string> | En-têtes HTTP statiques inclus dans chaque requête MCP HTTP. |
mcp_servers.<id>.http_headers_helper | string (command) | Commande locale qui affiche un objet JSON contenant les noms et les valeurs des en-têtes HTTP. Prise en charge uniquement pour les serveurs MCP HTTP connectés localement. Les tokens bearer explicites et les identifiants OAuth ont priorité sur les en-têtes Authorization fournis par l’utilitaire. |
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 du rappel OAuth pour 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’ID de rappel propre au serveur. Sinon, Codex utilise l’URL de rappel globale ou par défaut, à laquelle il ajoute cet ID. Les clients sans ID préenregistré utilisent cette URL de rappel lors de leur enregistrement. |
mcp_servers.<id>.oauth.client_id | string | ID 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 peut 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 | Remplacez le délai d’attente de démarrage par défaut de 10 s d’un serveur MCP. |
mcp_servers.<id>.tool_timeout_sec | number | Remplacez le délai d’attente par défaut de 60 s par outil d’un serveur MCP. |
mcp_servers.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Réglage du comportement d’approbation propre à un outil MCP de ce serveur. |
mcp_servers.<id>.tools.<tool>.output_token_limit | integer (positive) | Budget de tokens pour la sortie d’un outil MCP, avant la marge standard de 20 % pour la sérialisation. Remplace, pour cet outil, le budget de troncature des sorties défini par défaut par le modèle. |
mcp_servers.<id>.url | string | Point de terminaison d’un serveur MCP utilisant le transport HTTP en streaming. |
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 fils qui utilisent un contexte externe, comme 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 fil. |
memories.generate_memories | boolean | Lorsque la valeur est false, les nouveaux fils de discussion ne sont pas enregistrés comme données d’entrée pour la génération de mémoires. La valeur par défaut est 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, plafonnée à 4096. |
memories.max_rollout_age_days | number | Ancienneté maximale des fils pris en compte pour la génération de mémoires. Valeur par défaut : 30, bornée à l’intervalle 0-90. |
memories.max_rollouts_per_startup | number | Nombre maximal de traces d’exécution candidates traitées par passe au démarrage. Valeur par défaut : 16, plafonnée à 128. |
memories.max_unused_days | number | Nombre maximal de jours écoulés depuis la dernière utilisation d’une mémoire avant son exclusion de la consolidation. Valeur par défaut : 30, bornée à l’intervalle 0-365. |
memories.min_rate_limit_remaining_percent | number | Pourcentage minimal restant requis dans les fenêtres de limite de débit de Codex avant le démarrage de la génération de mémoires. Valeur par défaut : 25, bornée à l’intervalle 0-100. |
memories.min_rollout_idle_hours | number | Durée minimale d’inactivité avant qu’un fil soit pris en compte pour la génération de mémoires. Valeur par défaut : 6, bornée à l’intervalle 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.6-sol). |
model_auto_compact_token_limit | number | Seuil de tokens déclenchant le compactage automatique de l’historique (si ce paramètre n’est pas défini, les valeurs par défaut du modèle s’appliquent). |
model_auto_compact_token_limit_scope | total | body_after_prefix | Détermine si le seuil de compactage automatique prend en compte l’ensemble du contexte actif ( total, la valeur par défaut) ou uniquement son accroissement 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 JSON chargé au démarrage. Le fichier de profil $CODEX_HOME/profile-name.config.toml sélectionné peut redéfinir ce chemin pour le profil concerné. |
model_context_window | number | Nombre de tokens de la fenêtre de contexte disponibles pour le modèle actif. |
model_instructions_file | string (path) | Remplacement des instructions intégrées, à utiliser plutôt que AGENTS.md. |
model_provider | string | Identifiant du fournisseur défini dans model_providers (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 obtenu 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 d’obtention 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 d’obtention du token. |
model_providers.<id>.auth.refresh_interval_ms | number | Intervalle auquel Codex actualise le token de manière proactive, en millisecondes (valeur par défaut : 300000). Définissez la valeur sur 0 pour ne l’actualiser qu’après une nouvelle tentative d’authentification. |
model_providers.<id>.auth.timeout_ms | number | Durée maximale d’exécution de la commande d’obtention 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 de 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 renseigné 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 d’expiration pour inactivité des flux SSE, en millisecondes (valeur par défaut : 300000). |
model_providers.<id>.stream_max_retries | number | Nombre de nouvelles tentatives en cas d’interruption du streaming SSE (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 de 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 l’API Responses. |
model_providers.<id>.wire_api | responses | Protocole utilisé par le fournisseur. responses est la seule valeur prise en charge et s’applique par défaut si 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 compatibles (API Responses uniquement ; xhigh dépend du modèle). |
model_reasoning_summary | auto | concise | detailed | none | Sélectionnez le niveau de détail des résumés de raisonnement ou désactivez-les complètement. |
model_supports_reasoning_summaries | boolean | Forcez Codex à envoyer ou à ne pas envoyer les métadonnées de raisonnement. |
model_verbosity | low | medium | high | Remplacement facultatif du niveau de détail des réponses de l’API Responses pour GPT-5 ; si ce paramètre n’est pas défini, 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 de lecture de l’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 le choix de désactiver le rappel de changement de modèle lié aux limites de débit. |
notice.hide_world_writable_warning | boolean | Enregistrez la confirmation de lecture de l’avertissement relatif aux répertoires Windows accessibles en écriture à tous. |
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 des données JSON de Codex. |
openai_base_url | string | URL de base de remplacement pour le fournisseur de modèles intégré openai. |
oss_provider | lmstudio | ollama | Fournisseur local utilisé par défaut lors d’une exécution avec --oss (si ce paramètre n’est pas défini, le choix est demandé à l’utilisateur). |
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 du certificat d’autorité de certification pour les connexions TLS de l’exportateur OTEL. |
otel.exporter.<id>.tls.client-certificate | string | Chemin du certificat client pour les connexions TLS de l’exportateur OTEL. |
otel.exporter.<id>.tls.client-private-key | string | Chemin de la clé privée du client pour les connexions 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 du certificat d’autorité de certification pour les connexions TLS de l’exportateur de traces OTEL. |
otel.trace_exporter.<id>.tls.client-certificate | string | Chemin du certificat client pour les connexions TLS de l’exportateur de traces OTEL. |
otel.trace_exporter.<id>.tls.client-private-key | string | Chemin de la clé privée du client pour les connexions TLS de l’exportateur de traces OTEL. |
permissions.<name>.description | string | Description lisible de ce profil nommé. Un profil n’hérite pas de la description de son parent via extends. |
permissions.<name>.extends | string | Profil parent facultatif appliqué avant ce profil nommé. Choisissez un autre profil nommé, :read-only ou :workspace ; :danger-full-access, les parents non définis et les cycles sont refusés. |
permissions.<name>.filesystem | table | Profil nommé d’autorisations du 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 défini relativement à chaque racine d’espace de travail effective. Utilisez "." pour la racine elle-même ; des sous-chemins 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 pour un chemin, un motif glob ou un token spécial, ou définissez la portée des entrées imbriquées sous 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 figent les correspondances avant le démarrage du bac à sable. La valeur doit être au moins égale à 1 lorsqu’elle est définie. |
permissions.<name>.network.allow_local_binding | boolean | Autorisez un accès plus large aux réseaux locaux ou privés depuis le bac à sable. Des règles autorisant une adresse IP locale littérale exacte ou localhost peuvent toujours autoriser des cibles locales précises lorsque ce paramètre reste à false. |
permissions.<name>.network.allow_upstream_proxy | boolean | Autorisez les connexions réseau en bac à sable à passer par un autre proxy en amont. |
permissions.<name>.network.dangerously_allow_all_unix_sockets | boolean | Autorisez toutes les destinations de sockets Unix au lieu de l’ensemble restreint par défaut. Utilisez ce paramètre uniquement dans des environnements étroitement contrôlés. |
permissions.<name>.network.dangerously_allow_non_loopback_proxy | boolean | Autorisez les services d’écoute réseau du bac à sable à se lier à des adresses autres que celles de bouclage. L’activation de ce paramètre peut les rendre accessibles au-delà de localhost. |
permissions.<name>.network.domains | table | Règles de domaines pour les commandes exécutées en bac à sable. Elles ne sont appliquées que lorsque features.network_proxy ou des exigences réseau actives gérées par l’administrateur activent le proxy. Les hôtes exacts, *.example.com, **.example.com et les règles d’autorisation globales * sont pris en charge ; deny est prioritaire. Ces règles ne restreignent ni la recherche web, ni les applications, ni les serveurs MCP. |
permissions.<name>.network.domains.<pattern> | allow | deny | Autorisez ou interdisez un hôte exact ou un motif à caractères génériques de portée limitée 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 en bac à sable. |
permissions.<name>.network.enable_socks5_udp | boolean | Autorisez UDP via le service d’écoute SOCKS5 lorsqu’il 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. Sans features.network_proxy ni exigences réseau actives gérées par l’administrateur, l’accès réseau des commandes est direct et les règles de domaines 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 en 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 | Surcharges de la liste d’autorisation des sockets Unix pour l’accès réseau en bac à sable. Utilisez les chemins des sockets 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, en plus des racines d’espace de travail définies à l’exécution pour la session. |
permissions.<name>.workspace_roots.<path> | boolean | Ajoutez un chemin à l’ensemble des racines d’espace de travail du profil lorsque la valeur est true. Les entrées désactivées restent inactives. |
personality | none | friendly | pragmatic | Style de communication par défaut pour les modèles qui déclarent supportsPersonality ; il peut être redéfini pour chaque fil de discussion ou tour, ou via /personality. |
plan_mode_reasoning_effort | none | minimal | low | medium | high | xhigh | Réglage de raisonnement de remplacement propre au mode plan. S’il n’est pas défini, le mode plan utilise son préréglage intégré par défaut. |
plugins.<plugin>.enabled | boolean | Activez ou désactivez un plugin d’une marketplace locale à l’aide d’une clé plugin-name@marketplace-name. Ce paramètre est lu dans la configuration fusionnée effective ; les paramètres d’un projet de confiance peuvent remplacer les valeurs par défaut utilisateur, gérées dans le cloud et système. L’actualisation de la marketplace peut installer ou actualiser les plugins configurés, même lorsqu’ils sont désactivés. Ce paramètre ne remplace pas les états d’activation gérés par l’espace de travail. |
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 d’exclusion 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 inclus dans 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 | Surcharge du comportement d’approbation pour un outil MCP fourni par un plugin. |
project_doc_fallback_filenames | array<string> | Autres noms de fichiers à essayer 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 qui indiquent la racine du projet ; utilisée pour rechercher cette racine dans les répertoires parents. |
projects.<path>.trust_level | string | Marquez un projet ou un arbre de travail comme fiable ou non fiable ( "trusted" | "untrusted"). Pour les projets non fiables, les couches .codex/ propres au projet sont ignorées, y compris la configuration locale, les hooks et les règles du 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 | Politique du bac à sable pour l’accès au système de fichiers et au réseau pendant l’exécution des commandes. |
sandbox_workspace_write.exclude_slash_tmp | boolean | Excluez /tmp des répertoires racines accessibles en écriture en mode workspace-write. |
sandbox_workspace_write.exclude_tmpdir_env_var | boolean | Excluez $TMPDIR des répertoires 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> | Répertoires 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 priority dans la requête. |
shell_environment_policy.exclude | array<string> | Anciens motifs d’exclusion des variables d’environnement. Utilisez shell_environment_policy.filters pour toute nouvelle configuration ; ne combinez pas les deux formes dans une même couche. |
shell_environment_policy.experimental_use_profile | boolean | Utilisez le profil shell de l’utilisateur lors de la création de sous-processus. |
shell_environment_policy.filters | map<string, include | exclude> | Filtres canoniques par motif pour les variables d’environnement, insensibles à la casse. Les entrées d’inclusion créent une liste d’autorisation et ne peuvent pas rétablir les valeurs exclues. Les valeurs explicites de set sont appliquées 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 (par défaut : true). Définissez ce paramètre sur false pour appliquer les exclusions automatiques fondées sur les noms de secrets. |
shell_environment_policy.include_only | array<string> | Ancienne liste d’autorisation de motifs de variables d’environnement. Utilisez shell_environment_policy.filters pour toute nouvelle configuration ; ne combinez pas les deux formes dans une même couche. |
shell_environment_policy.inherit | all | core | none | Règles de base pour l’héritage de l’environnement lors de la création de sous-processus. |
shell_environment_policy.set | map<string,string> | Valeurs d’environnement explicites injectées après les exclusions ; les filtres d’inclusion peuvent encore les supprimer. |
show_raw_agent_reasoning | boolean | Affichez le contenu brut du raisonnement lorsque le modèle actif en émet. |
skills.config | array<object> | Paramètres d’activation propres à chaque skill, enregistrés 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. |
skills.max_context_tokens | integer (positive) | Budget de tokens pour le catalogue des skills disponibles. La valeur par défaut est de 2 % de la fenêtre de contexte du modèle. Les valeurs explicites sont plafonnées à 10000 tokens. |
sqlite_home | string (path) | Répertoire dans lequel Codex stocke la base de données d’état SQLite utilisée pour les tâches des agents et les autres états d’exécution permettant une reprise. |
suppress_unstable_features_warning | boolean | Masquez l’avertissement qui apparaît lorsque des indicateurs de fonctionnalités en cours de développement sont activés. |
tool_output_token_limit | number | Budget de tokens pour le stockage de chaque sortie d’outil ou de 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" et un id. |
tool_suggest.discoverables | array<table> | Autorisez les suggestions d’outils provenant d’autres connecteurs ou plugins détectables. Chaque entrée utilise type = "connector" ou "plugin" et 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. La forme 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 des commandes exécutées en bac à sable et ne restreignent ni les connecteurs ni les serveurs MCP. |
tui | table | Options propres à l’interface textuelle (TUI), comme l’activation des notifications de bureau intégrées. |
tui.alternate_screen | auto | always | never | Déterminez l’utilisation de l’écran alternatif pour l’interface textuelle (par défaut : auto ; auto le désactive dans Zellij pour préserver l’historique de défilement). |
tui.animations | boolean | Activez les animations du terminal (écran d’accueil, effet de scintillement, indicateur de chargement) (par défaut : true). |
tui.keymap.<context>.<action> | string | array<string> | Association d’un raccourci clavier à une action de l’interface textuelle. Les contextes pris en charge comprennent global, chat, composer, editor, vim_normal, vim_operator, vim_text_object, pager, list et approval. Certaines actions de la zone de saisie utilisent les associations correspondantes de tui.keymap.global comme solution de repli ; les associations propres au contexte sont prioritaires lorsqu’elles sont prises en charge. |
tui.keymap.<context>.<action> = [] | empty array | Supprimez l’association de l’action dans ce contexte de raccourcis clavier. Les noms des touches utilisent des chaînes normalisées telles que ctrl-a, shift-enter, page-down ou minus. |
tui.model_availability_nux.<model> | integer | État interne des infobulles de démarrage, indexé par slug de modèle. |
tui.notification_condition | unfocused | always | Déterminez si les notifications de l’interface textuelle se déclenchent uniquement lorsque le terminal n’a pas le focus ou indépendamment du focus. 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 l’interface textuelle ; vous pouvez les limiter à certains types d’événements. |
tui.raw_output_mode | boolean | Démarrez l’interface textuelle 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 par défaut alt-r. |
tui.resume_cwd | current | session | Répertoire de travail à utiliser pour reprendre ou forker une session. Si ce paramètre n’est pas défini, Codex vous demande de choisir lorsque votre répertoire actuel diffère du répertoire enregistré pour la session. |
tui.show_tooltips | boolean | Affichez les infobulles de prise en main sur l’écran d’accueil de l’interface textuelle (par défaut : true). |
tui.status_line | array<string> | null | Liste ordonnée des identifiants des éléments de la ligne d’état en bas de l’interface textuelle. 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. Par défaut : ["spinner", "project"] ; null désactive les mises à jour du titre. |
tui.theme | string | Remplacement du thème de coloration syntaxique (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 activer ou désactiver 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 maintenu par OpenAI sans accès au web externe ; indexed n’autorise l’accès externe que sous le contrôle de l’index de recherche ; 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 récupérer du contenu en direct sans restriction, ou "disabled" pour supprimer l’outil. |
windows_wsl_setup_acknowledged | boolean | Enregistrez la confirmation du parcours de prise en main de Windows (Windows uniquement). |
windows.sandbox | unelevated | elevated | Mode de bac à sable natif propre à Windows, utilisé lorsque Codex s’exécute nativement sur Windows. |
windows.sandbox_private_desktop | boolean | Exécutez par défaut le processus enfant final placé dans le bac à sable sur un bureau privé lors d’une exécution native sur Windows. Définissez ce paramètre sur 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 demandes login = true sont rejetées et, si login est omis, les shells ne sont pas des shells de connexion.analytics.enabledbooleanapproval_policyon-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }approval_policy = { granular = { ... } } pour autoriser ou rejeter automatiquement certaines catégories de demandes tout en laissant les autres interactives. untrusted n’est pas pris en charge et 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 pour une élévation des autorisations du bac à sable peuvent s’afficher.approval_policy.granular.skill_approvalbooleantrue, les demandes d’approbation des scripts de skills peuvent s’afficher.approvals_revieweruser | auto_reviewon-request ou granulaires. La valeur par défaut est user ; auto_review fait appel au sous-agent de révision. Ce paramètre ne modifie pas le 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 vides (interrogation du terminal en arrière-plan). Par défaut : 300000 (5 minutes). Remplace l’ancienne clé background_terminal_timeout.browser_use.allow_history_accessbooleanfalse pour restreindre l’accès à l’historique du navigateur. Les exigences administrées peuvent imposer cette restriction.browser_use.default_origin_policytableaccess, uploads, downloads et full_cdp_access sont pris en charge, chacun avec la valeur allow ou deny.browser_use.origins.<origin>tablebrowser_use.default_origin_policy. Incluez un schéma HTTP ou HTTPS et, éventuellement, un port ; omettez les chemins, les chaînes de requête et les fragments. Les valeurs locales ne peuvent pas assouplir les interdictions administrées.chatgpt_base_urlstringcheck_for_update_on_startupbooleancli_auth_credentials_storefile | keyring | auto | ephemeralcompact_promptstringcomputer_use.default_app_accessallow | denycomputer_use.macos.bundle_idsmap<string, allow | deny>computer_use.windows.always_allowed_app_idsarray<string>computer_use.windows.aumidsmap<string, allow | deny>computer_use.windows.exesarray<table>publisher_name, product_name et access (allow ou deny) ; binary_name est facultatif.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 ; les sources non prises en charge utilisent l’icône VS Code par défaut.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.context_management.experimental_modebooleanfeatures.enable_request_compressionbooleanfeatures.fast_modebooleanfeatures.goalsbooleanfeatures.hooksbooleanhooks.json ou depuis la configuration [hooks] intégrée. features.codex_hooks est un alias obsolète.features.multi_agentbooleanspawn_agent, send_input, resume_agent, wait_agent et close_agent) (stable ; activé par défaut).features.network_proxyboolean | tableexperimental_network activées et gérées par l’administrateur démarrent le proxy. Utilisez une table pour définir les options de politique propres à la fonctionnalité, telles que domains. 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 une adresse IP locale littérale exacte ou localhost peuvent toujours autoriser des destinations 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 exposer les points d’écoute du proxy au-delà de localhost.features.network_proxy.domainsmap<string, allow | deny>allow. Prend en charge 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 d’autorisation globales * ; privilégiez les règles à portée limitée, car * ouvre largement les accès sortants au réseau public. Ajoutez des règles deny pour les destinations bloquées ; deny prévaut en cas de conflit.features.network_proxy.enable_socks5booleantrue.features.network_proxy.enable_socks5_udpbooleantrue.features.network_proxy.enabledbooleanfalse ; les règles de domaine des profils de permissions 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 par défaut pour exécuter des commandes (stable ; activé par défaut).features.skill_mcp_dependency_installbooleanfeatures.unified_execbooleanfeatures.web_searchbooleanweb_search de premier niveau.features.web_search_cachedbooleanweb_search n’est pas défini, true correspond à web_search = "cached".features.web_search_requestbooleanweb_search n’est pas défini, true correspond à web_search = "live".feedback.enabledboolean/feedback dans les clients locaux (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 des Hooks pour des exemples et la liste des événements pris en charge.hooks.<Event>array<table>PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit, Stop ou Interrupt.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. La valeur par défaut est 2500 ; 0 transmet directement l’intégralité du contexte au modèle. Consultez Sorties volumineuses des hooks.hooks.<Event>[].hooks[].asyncbooleanfalse ; SessionEnd s’exécute toujours de manière 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 facultatif en texte brut de la TUI, codex-tui.log, dans ce répertoire.marketplaces.<name>.refstringmarketplaces.<name>.sourcestringmarketplaces.<name>.source_typegit | localmarketplaces.<name>.sparse_pathsarray<string>mcp_oauth_callback_portintegeroauth.callback_port propre à un serveur est prioritaire. Si aucun des deux n’est défini, Codex écoute sur un port éphémère choisi par le système d’exploitation.mcp_oauth_callback_urlstringmcp_oauth_credentials_storeauto | file | keyringmcp_optional_startup_grace_msinteger (milliseconds)1000. Définissez-le sur 0 pour utiliser à la place le délai startup_timeout_sec de chaque serveur.mcp_servers.<id>.argsarray<string>mcp_servers.<id>.authoauth | chatgptoauth (valeur par défaut) utilise les identifiants OAuth MCP enregistrés lorsqu’ils sont disponibles. chatgpt utilise la session ChatGPT actuelle pour l’origine officielle et de confiance de ChatGPT, puis se rabat sur les identifiants OAuth enregistrés. Les deux modes peuvent 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 transport 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 ; l’exécution à distance des serveurs utilisant le transport HTTP en streaming n’est pas implémentée.mcp_servers.<id>.http_headersmap<string,string>mcp_servers.<id>.http_headers_helperstring (command)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>.tools.<tool>.output_token_limitinteger (positive)mcp_servers.<id>.urlstringmemories.consolidation_modelstringmemories.disable_on_external_contextbooleantrue, les fils qui utilisent un contexte externe, comme 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 nouveaux fils de discussion ne sont pas enregistrés comme données d’entrée pour la génération de mémoires. La valeur par défaut est true.memories.max_raw_memories_for_consolidationnumber256, plafonnée à 4096.memories.max_rollout_age_daysnumber30, bornée à l’intervalle 0-90.memories.max_rollouts_per_startupnumber16, plafonnée à 128.memories.max_unused_daysnumber30, bornée à l’intervalle 0-365.memories.min_rate_limit_remaining_percentnumber25, bornée à l’intervalle 0-100.memories.min_rollout_idle_hoursnumber6, bornée à l’intervalle 1-48.memories.use_memoriesbooleanfalse, Codex n’injecte pas les mémoires existantes dans les sessions futures. Valeur par défaut : true.modelstringgpt-5.6-sol).model_auto_compact_token_limitnumbermodel_auto_compact_token_limit_scopetotal | body_after_prefixtotal, la valeur par défaut) ou uniquement son accroissement 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 sélectionné peut redéfinir ce chemin pour le profil concerné.model_context_windownumbermodel_instructions_filestring (path)AGENTS.md.model_providerstringmodel_providers (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 ne l’actualiser 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 s’applique par défaut si 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.oss_providerlmstudio | ollama--oss (si ce paramètre n’est pas défini, le choix est demandé à l’utilisateur).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 refusé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 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 lorsqu’elle est définie.permissions.<name>.network.allow_local_bindingbooleanlocalhost peuvent toujours autoriser des cibles locales précises lorsque ce paramètre reste à false.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 l’administrateur activent le proxy. Les hôtes exacts, *.example.com, **.example.com et les règles d’autorisation globales * sont pris en charge ; deny est prioritaire. Ces règles ne restreignent 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 ni exigences réseau actives gérées par l’administrateur, l’accès réseau des commandes est direct et les règles de domaines 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, en plus des racines d’espace de travail définies à l’exécution pour la session.permissions.<name>.workspace_roots.<path>booleantrue. Les entrées désactivées restent inactives.personalitynone | friendly | pragmaticsupportsPersonality ; il peut être redéfini pour chaque fil de discussion ou tour, ou via /personality.plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighplugins.<plugin>.enabledbooleanplugin-name@marketplace-name. Ce paramètre est lu dans la configuration fusionnée effective ; les paramètres d’un projet de confiance peuvent remplacer les valeurs par défaut utilisateur, gérées dans le cloud et système. L’actualisation de la marketplace peut installer ou actualiser les plugins configurés, même lorsqu’ils sont désactivés. Ce paramètre ne remplace pas les états d’activation gérés par l’espace de travail.plugins.<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"). Pour les projets non fiables, les couches .codex/ propres au projet sont ignorées, y compris la configuration locale, les hooks et les règles du 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 répertoires racines accessibles en écriture en mode workspace-write.sandbox_workspace_write.exclude_tmpdir_env_varboolean$TMPDIR des répertoires 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 priority dans la requête.shell_environment_policy.excludearray<string>shell_environment_policy.filters pour toute nouvelle configuration ; ne combinez pas les deux formes dans une même couche.shell_environment_policy.experimental_use_profilebooleanshell_environment_policy.filtersmap<string, include | exclude>set sont appliquées 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 pour toute nouvelle configuration ; 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.skills.max_context_tokensinteger (positive)10000 tokens.sqlite_homestring (path)suppress_unstable_features_warningbooleantool_output_token_limitnumbertool_suggest.disabled_toolsarray<table>type = "connector" ou "plugin" et un id.tool_suggest.discoverablesarray<table>type = "connector" ou "plugin" et 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. Certaines actions de la zone de saisie utilisent les associations correspondantes de tui.keymap.global comme solution de repli ; les associations propres au contexte sont prioritaires lorsqu’elles sont prises en charge.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 par défaut alt-r.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 maintenu par OpenAI sans accès au web externe ; indexed n’autorise l’accès externe que sous le contrôle de l’index de recherche ; 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 récupérer du 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.Vous trouverez le dernier schéma JSON de config.toml 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 en tête de votre fichier config.toml :
#:schema https://developers.openai.com/codex/config-schema.json
Remarque : renommez experimental_instructions_file en model_instructions_file. L’ancienne clé est obsolète dans Codex ; mettez à jour les configurations existantes avec 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 les remplacer. Pour en savoir plus sur ces exigences, les emplacements du fichier et les exemples, consultez Exigences imposées par l’administrateur.
Pour les utilisateurs de ChatGPT Business et Enterprise, Codex peut également appliquer des exigences récupérées depuis le cloud. Consultez la page consacrée à la sécurité pour connaître les règles de priorité.
Utilisez [features] dans requirements.toml pour fixer les indicateurs de fonctionnalités à l’exécution à l’aide des mêmes
clés canoniques que dans config.toml. Les exigences peuvent également inclure des clés documentées
propres à l’application qui n’ont pas leur place dans config.toml. Les clés omises restent
sans contrainte.
Certaines exigences gérées imposent une valeur de configuration précise plutôt qu’une liste de valeurs autorisées. 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 de retour d’expérience ou un paramètre de bureau privé Windows.
Les listes de profils d’autorisations autorisés gérées par l’administrateur nécessitent Codex 0.138.0 ou une version ultérieure. Codex
0.137.0 et les versions antérieures ignorent allowed_permission_profiles ainsi que 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.
Une entrée untrusted dans allowed_approval_policies reste valide pour le
comportement d’approbation plus strict que Codex applique lorsqu’un projet utilise
trust_level = "untrusted". Elle ne permet pas de définir explicitement
approval_policy = "untrusted".
La table [models.new_thread] fournit des valeurs par défaut gérées, sans les imposer.
Si vous remplacez explicitement le modèle ou l’effort de raisonnement avec --model,
--config ou --profile, Codex ignore à la fois model et
model_reasoning_effort dans [models.new_thread]. Le paramètre service_tier est indépendant.
Les exigences relatives au navigateur couvrent trois interfaces distinctes. in_app_browser
contrôle le volet du navigateur qu’une personne ouvre et utilise directement. browser_use
contrôle les actions effectuées par l’agent dans un navigateur. computer_use contrôle les actions effectuées par l’agent
dans les applications de bureau natives.
Les valeurs imbriquées des politiques de Navigateur et d’Utilisation de l’ordinateur n’accordent pas d’accès à elles seules.
Une valeur allow propre à une origine ou à une application peut remplacer la valeur de repli
de la même source de politique, mais les vérifications habituelles des fonctionnalités, des approbations et des autres politiques
continuent de s’appliquer. Lorsque les exigences gérées et config.toml s’appliquent tous deux, une valeur deny
provenant de l’un ou de l’autre est prioritaire.
| Key | Type / Values | Details |
|---|---|---|
allow_appshots | boolean | Définissez ce paramètre sur false pour désactiver les captures d’application pour les utilisateurs gérés. S’il est omis, les exigences ne restreignent pas les captures d’application, qui restent soumises aux conditions habituelles de disponibilité du produit. |
allow_browser_and_computer_use | boolean | Définissez ce paramètre sur false pour bloquer à la fois la fonctionnalité Navigateur pilotée par l’agent et l’Utilisation de l’ordinateur dans les applications natives. Le définir sur true ou l’omettre n’active aucune de ces fonctionnalités ; les autres vérifications relatives aux fonctionnalités, aux politiques et aux approbations continuent de s’appliquer. |
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 ce paramètre vaut true, Codex ignore les hooks de l’utilisateur, du projet, de la session et des plugins, 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 ce paramètre sur false pour désactiver le contrôle à distance des appareils pour les utilisateurs gérés. S’il est omis, les exigences ne restreignent pas le contrôle à distance des appareils, qui reste soumis aux conditions habituelles de disponibilité du produit. |
allowed_approval_policies | array<string> | Politiques d’approbation autorisées, telles que on-request, never et granular. Incluez untrusted pour autoriser la politique plus stricte découlant d’un projet non fiable ; celle-ci ne peut pas être sélectionnée directement avec approval_policy. |
allowed_approvals_reviewers | array<string> | Valeurs autorisées pour approvals_reviewer, telles que user et auto_review. |
allowed_chatgpt_workspaces | array<string> | Limitez la connexion ChatGPT, y compris les jetons d’accès Codex, aux identifiants d’espaces de travail répertoriés. Une liste vide désactive la connexion ChatGPT ; l’authentification par API reste disponible lorsqu’elle est autorisée. Définissez ce paramètre dans le fichier local d’exigences système ou via le MDM macOS ; les valeurs gérées dans le cloud sont ignorées. |
allowed_login_methods | array<string> | Autorisez chatgpt, api ou les deux. Si ce paramètre est omis, les méthodes de connexion ne sont pas restreintes. S’il est défini, la liste doit contenir au moins une méthode. api autorise l’authentification par API, y compris avec Amazon Bedrock. Définissez ce paramètre dans le fichier local d’exigences système ou via le MDM macOS. Les valeurs gérées dans le cloud sont ignorées. |
allowed_permission_profiles | table<boolean> | Liste complète des profils d’autorisations autorisés. Les profils définis sur true sont autorisés. Les profils omis ou définis sur false sont interdits, y compris ceux ajoutés dans les versions futures. Lorsque plusieurs sources d’exigences sont combinées, les entrées sont associées par nom de profil. |
allowed_permission_profiles.<name> | boolean | Autorisez ou interdisez un profil d’autorisations intégré ou personnalisé défini dans une source de configuration ou 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. Les exigences peuvent désactiver une application ou restreindre le comportement d’approbation de chaque outil. |
apps.<id>.enabled | boolean | Définissez ce paramètre sur false pour désactiver une application. Une exigence de désactivation reste restrictive lors de la fusion de plusieurs sources d’exigences. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Définissez le mode d’approbation géré pour un outil d’application. |
browser_use | table | Exigences gérées pour la fonctionnalité Navigateur pilotée par l’agent. |
browser_use.allow_global_persistent_approval | boolean | Définissez ce paramètre sur false pour empêcher la fonctionnalité Navigateur de créer ou d’appliquer des approbations Always allow couvrant tous les sites, par exemple pour autoriser les téléchargements depuis n’importe quel site. Les approbations déjà enregistrées sont ignorées, sans être supprimées. Le définir sur true ou l’omettre ne crée aucune approbation. |
browser_use.allow_history_access | boolean | Définissez ce paramètre sur false pour empêcher la fonctionnalité Navigateur de lire l’historique de navigation. Le définir sur true ou l’omettre laisse en place les paramètres habituels de l’historique et les vérifications de disponibilité. |
browser_use.default_origin_policy | table | Valeur de repli pour chaque paramètre de la fonctionnalité Navigateur lorsqu’aucune entrée correspondante sous browser_use.origins ne le définit. Une règle d’origine correspondante remplace la valeur de repli pour cette source. Codex applique ensuite le résultat le plus strict entre les exigences gérées et la configuration utilisateur. |
browser_use.default_origin_policy.access | allow | deny | Utilisez deny pour bloquer la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. Le refus d’accès à une origine bloque également les envois de fichiers, les téléchargements, l’accès complet au débogage du navigateur et la révision automatique sur cette origine. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique. |
browser_use.default_origin_policy.access_approval_lifetime | turn | thread | Définissez la durée d’une approbation non persistante d’accès à un site : turn la limite au tour en cours, et thread la conserve jusqu’à la fin du fil de discussion en cours. persistent_approval détermine séparément si Always allow est disponible. La valeur par défaut du produit est thread. |
browser_use.default_origin_policy.auto_review | allow | deny | Utilisez deny pour ne pas effectuer de révision automatique sur les origines utilisant la valeur de repli et demander à la place l’approbation de l’utilisateur. allow laisse la révision automatique disponible lorsque les autres paramètres l’autorisent. |
browser_use.default_origin_policy.downloads | allow | deny | Utilisez deny pour bloquer les téléchargements de la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique. |
browser_use.default_origin_policy.full_cdp_access | allow | deny | Utilisez deny pour bloquer l’accès complet au Chrome DevTools Protocol (CDP) sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’activation volontaire et d’approbation. |
browser_use.default_origin_policy.persistent_approval | boolean | Définissez ce paramètre sur false pour empêcher la fonctionnalité Navigateur d’enregistrer ou d’appliquer une approbation Always allow sur les origines utilisant la valeur de repli. Les approbations valables pour le tour ou le fil en cours peuvent toujours s’appliquer. true rend Always allow disponible lorsque les autres conditions l’autorisent, mais ne crée aucune approbation. |
browser_use.default_origin_policy.uploads | allow | deny | Utilisez deny pour bloquer les envois de fichiers de la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique. |
browser_use.disable_auto_review | boolean | Définissez ce paramètre sur true pour ne pas effectuer de révision automatique pour la fonctionnalité Navigateur et demander à la place l’approbation de l’utilisateur. Le définir sur false ou l’omettre laisse la révision automatique disponible lorsque les autres paramètres l’autorisent. |
browser_use.origins | map<string, table> | Politiques de la fonctionnalité Navigateur propres à chaque origine. Les clés utilisent <scheme>://<host-pattern>[:<port>] avec http ou https. Utilisez un hôte exact, *.example.com pour les sous-domaines uniquement, ou **.example.com pour le domaine de base et ses sous-domaines. Les autres caractères génériques * peuvent couvrir des points : region*.example.com correspond donc aussi à region.api.example.com ; un hôte * correspond à tous les hôtes pour ce schéma. Les schémas et les ports autres que ceux par défaut sont pris en compte ; les ports par défaut explicitement indiqués sont supprimés lors de la normalisation. Les chemins, les chaînes de requête, les noms d’utilisateur ou mots de passe intégrés, ainsi que les schémas ou ports contenant des caractères génériques ne sont pas valides. Placez le motif entre guillemets dans TOML, par exemple [browser_use.origins."https://**.example.com"]. |
browser_use.origins.<pattern> | table | Politique applicable aux origines correspondant à ce motif. Si plusieurs motifs correspondent, Codex utilise la valeur la plus restrictive pour chaque capacité : deny prévaut sur allow, false sur true et turn sur thread. |
browser_use.origins.<pattern>.access | allow | deny | Utilisez deny pour bloquer la fonctionnalité Navigateur sur les origines correspondantes. Ce refus y bloque aussi les téléversements, les téléchargements, l’accès complet au débogage du navigateur et la révision automatique. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques. |
browser_use.origins.<pattern>.access_approval_lifetime | turn | thread | Définissez la durée d’une approbation non persistante d’accès à un site pour les origines correspondantes : turn la limite au tour en cours, et thread la conserve jusqu’à la fin du fil de discussion en cours. persistent_approval détermine séparément si Always allow est disponible. |
browser_use.origins.<pattern>.auto_review | allow | deny | Utilisez deny pour ignorer la révision automatique sur les origines correspondantes et demander l’approbation de l’utilisateur à la place. allow laisse la révision automatique disponible lorsque les autres paramètres le permettent. |
browser_use.origins.<pattern>.downloads | allow | deny | Utilisez deny pour bloquer les téléchargements de la fonctionnalité Navigateur sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques. |
browser_use.origins.<pattern>.full_cdp_access | allow | deny | Utilisez deny pour bloquer l’accès complet au Chrome DevTools Protocol (CDP) sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’activation volontaire et d’approbation. |
browser_use.origins.<pattern>.persistent_approval | boolean | Définissez la valeur sur false pour empêcher la fonctionnalité Navigateur d’enregistrer ou d’appliquer une approbation Always allow sur les origines correspondantes. Les approbations pour le tour ou le fil de discussion en cours peuvent toujours s’appliquer. true rend Always allow disponible lorsque les autres conditions le permettent, mais ne crée aucune approbation. |
browser_use.origins.<pattern>.uploads | allow | deny | Utilisez deny pour bloquer les téléversements de la fonctionnalité Navigateur sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques. |
chatgpt_base_url | string | Imposez l’URL de base du service ChatGPT avant l’authentification et la récupération des politiques cloud. Ce paramètre ne configure pas toutes les destinations réseau de Codex. Définissez-le dans le fichier local d’exigences système ou via le MDM macOS ; les valeurs gérées dans le cloud sont ignorées. |
check_for_update_on_startup | boolean | Imposez l’activation ou la désactivation de la recherche de mises à jour au démarrage de Codex. |
cli_auth_credentials_store | file | keyring | auto | ephemeral | Imposez le magasin d’identifiants de la CLI avant le chargement de l’authentification. file utilise CODEX_HOME/auth.json ; keyring nécessite le magasin d’identifiants du système d’exploitation ; auto utilise un fichier si ce magasin est indisponible ; ephemeral conserve les identifiants en mémoire pour le processus en cours. Définissez ce paramètre dans le fichier local d’exigences système ou via le MDM macOS ; les valeurs gérées dans le cloud sont ignorées. |
computer_use | table | Exigences gérées pour le travail effectué par un agent dans les applications de bureau natives. Les règles gérées relatives aux applications et celles de config.toml sont toutes appliquées ; chaque source de politique doit autoriser l’application. |
computer_use.allow_locked_computer_use | boolean | Définissez la valeur sur false pour empêcher les utilisateurs d’activer l’utilisation en mode verrouillé sur un appareil macOS géré. Cette exigence supprime les commandes d’activation ; elle ne désactive pas l’utilisation en mode verrouillé si celle-ci est déjà activée. Si ce paramètre est omis, la disponibilité habituelle du produit s’applique. |
computer_use.allow_persistent_approval | boolean | Définissez la valeur sur false pour supprimer la possibilité de conserver les approbations d’application d’une session à l’autre. Les approbations pour la session en cours restent disponibles. Définir la valeur sur true ou omettre ce paramètre n’accorde aucune approbation à une application. |
computer_use.default_app_access | allow | deny | Règle d’accès de repli pour les applications natives qui ne correspondent à aucune règle propre à la plateforme. deny bloque l’accès. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques. La valeur par défaut du produit est allow. |
computer_use.macos | table | Règles relatives aux applications macOS pour la fonctionnalité Utilisation de l’ordinateur. |
computer_use.macos.bundle_ids | map<string, allow | deny> | Associez les identifiants de bundle macOS exacts à allow ou deny. Une règle correspondante remplace computer_use.default_app_access au sein de la même source de politique. Un refus provenant des exigences gérées ou de la configuration utilisateur bloque toujours l’accès. |
computer_use.macos.bundle_ids.<bundle-id> | allow | deny | Utilisez deny pour bloquer l’identifiant de bundle exact. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel. |
computer_use.windows | table | Règles relatives aux applications Windows avec ou sans package pour la fonctionnalité Utilisation de l’ordinateur. |
computer_use.windows.aumids | map<string, allow | deny> | Associez les identifiants Application User Model ID (AUMID) exacts et enregistrés des applications signées avec package à allow ou deny. Une règle correspondante remplace computer_use.default_app_access au sein de la même source de politique. |
computer_use.windows.aumids.<aumid> | allow | deny | Utilisez deny pour bloquer l’identité exacte de l’application avec package. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel. |
computer_use.windows.exes | array<table> | Règles pour les exécutables Windows signés sans package. La correspondance repose sur l’éditeur vérifié et les informations de version signées de l’exécutable, et non sur son chemin ou son nom de fichier actuel. Une règle de refus correspondante prévaut sur les règles d’autorisation correspondantes. Les exécutables non signés utilisent computer_use.default_app_access ; les exécutables dont l’identité signée ne peut pas être vérifiée sans ambiguïté sont bloqués. |
computer_use.windows.exes[].access | allow | deny | Décision d’accès obligatoire pour les exécutables correspondants. deny bloque l’accès. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel. |
computer_use.windows.exes[].binary_name | string | Valeur facultative de OriginalFilename, issue des informations de version signées de l’exécutable. La comparaison ne tient pas compte de la casse. Si une règle correspondant à l’éditeur et au produit exige cette valeur, mais que l’exécutable ne la fournit pas, la fonctionnalité Utilisation de l’ordinateur bloque l’exécutable. |
computer_use.windows.exes[].product_name | string | Valeur exacte obligatoire de ProductName, issue des informations de version signées de l’exécutable. |
computer_use.windows.exes[].publisher_name | string | Nom exact obligatoire de l’éditeur, issu du certificat de signature de confiance de l’exécutable, au format de nom distinctif X.500 de Windows. |
default_permissions | string | Profil d’autorisations par défaut géré. Le profil doit être autorisé par allowed_permission_profiles. Définissez ce paramètre explicitement pour obtenir un comportement prévisible ; s’il est omis, Codex utilise :workspace par défaut uniquement si :workspace et :read-only sont tous deux explicitement autorisés. |
enforce_residency | string | Exigez que le trafic des services Codex respecte une 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 le bac à sable, appliquées à partir de requirements.toml. Lorsqu’elles sont activées, ces exigences peuvent démarrer le proxy réseau des commandes sans features.network_proxy. Les outils de navigateur vérifient séparément les règles gérées de refus d’accès réseau et les listes d’autorisation exclusives. Ces exigences n’acheminent pas le trafic du navigateur via le proxy et ne contrôlent ni la recherche web, ni les applications, ni les serveurs MCP, ni le trafic des applications natives, ni les connexions réseau de Codex Cloud. |
experimental_network.allow_local_binding | boolean | Autorisez un accès plus large au réseau local ou privé depuis le bac à sable. Des règles d’autorisation portant sur une adresse IP locale littérale exacte ou sur localhost peuvent toujours autoriser des cibles locales précises lorsque ce paramètre reste sur false. |
experimental_network.allow_upstream_proxy | boolean | Autorisez les connexions réseau du bac à sable à passer par un proxy en amont défini dans l’environnement. |
experimental_network.allowed_domains | array<string> | Règles d’autorisation de 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 ce paramètre avec experimental_network.domains. |
experimental_network.dangerously_allow_all_unix_sockets | boolean | Autorisez toutes les destinations de sockets Unix au lieu de limiter l’accès à celles de la liste d’autorisation. Utilisez ce paramètre uniquement dans des environnements strictement contrôlés. |
experimental_network.dangerously_allow_non_loopback_proxy | boolean | Autorisez les adresses d’écoute hors bouclage pour les exigences [experimental_network]. L’activation de ce paramètre peut rendre les services d’écoute accessibles au-delà de localhost. |
experimental_network.denied_domains | array<string> | Règles de refus de l’administrateur, sous forme de liste, pour les connexions réseau du bac à sable. Ne combinez pas ce paramètre avec experimental_network.domains. |
experimental_network.domains | map<string, allow | deny> | Politique de domaines de l’administrateur, sous forme de table de correspondance, pour les connexions réseau du bac à sable. Elle prend en charge 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 d’autorisation globales * ; privilégiez les règles à portée limitée, car * ouvre largement l’accès sortant au réseau public. deny prévaut en cas de conflit. Ne combinez pas ce paramètre avec experimental_network.allowed_domains ou experimental_network.denied_domains. |
experimental_network.enabled | boolean | Activez les exigences réseau du bac à sable. Cela n’accorde pas d’accès 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 réseau du bac à sable sont actives ; les ajouts de l’utilisateur à la liste d’autorisation sont ignorés. Même en l’absence de règles d’autorisation gérées, les règles d’autorisation de domaines ajoutées par l’utilisateur ne s’appliquent pas. |
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 les connexions réseau du bac à sable. |
features | table | Valeurs imposées pour les 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 l’activation ou la désactivation de l’intégration des applications pour les utilisateurs gérés. |
features.browser_use | boolean | Définissez ce paramètre sur false dans requirements.toml pour désactiver la fonctionnalité Navigateur pilotée par l’agent. |
features.browser_use_external | boolean | Définissez ce paramètre sur false dans requirements.toml pour empêcher Codex de piloter les navigateurs pris en charge via l’extension de navigateur ChatGPT, y compris les onglets existants et les sessions connectées. |
features.browser_use_full_cdp_access | boolean | Définissez ce paramètre sur false dans requirements.toml pour désactiver l’accès complet au 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. S’il est omis, les conditions habituelles de disponibilité du produit s’appliquent. |
features.computer_use | boolean | Définissez ce paramètre 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é des approbations Guardian pour les utilisateurs gérés. |
features.in_app_browser | boolean | Définissez ce paramètre sur false dans requirements.toml pour désactiver le volet du navigateur intégré que les utilisateurs ouvrent et contrôlent directement. |
features.in_app_updates | boolean | Définissez ce paramètre sur false dans requirements.toml pour désactiver les mises à jour depuis l’application. Les mises à jour restent activées par défaut lorsque cette exigence est omise. |
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é des fonctionnalités multi-agents pour les utilisateurs gérés. |
features.plugin_sharing | boolean | Définissez ce paramètre sur false dans le fichier requirements.toml géré dans le cloud pour désactiver le partage au sein de l’espace de travail des plugins créés localement. |
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, pour les utilisateurs gérés, la disponibilité ou l’indisponibilité de l’environnement d’exécution fourni pour les dépendances de l’espace de travail. |
feedback | table | Paramètres gérés pour l’envoi de commentaires. |
feedback.enabled | boolean | Imposez l’autorisation ou l’interdiction pour les utilisateurs d’envoyer des commentaires depuis les différents clients Codex. |
guardian_policy_config | string | Instructions de politique gérées, au format Markdown, pour la révision automatique. Elles prévalent sur le paramètre local [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és et utilisent le même schéma d’événements que la section [hooks] définie directement dans config.toml. |
hooks.<Event> | array<table> | Groupes de critères de correspondance pour un événement de hook tel 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 pas exécutés. |
hooks.<Event>[].hooks[].additionalContextLimit | integer | Seuil approximatif de tokens par gestionnaire au-delà duquel un contenu additionalContext trop volumineux est enregistré sur disque et présenté au modèle sous forme d’un aperçu plus court. La valeur par défaut est 2500 ; 0 transmet directement tout le contexte 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. La valeur par défaut est false ; SessionEnd s’exécute toujours de manière synchrone. Consultez Exécution de 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. Codex vérifie que son chemin est absolu et qu’il existe avant de charger les hooks gérés. |
hooks.windows_managed_dir | string (absolute path) | Répertoire contenant les scripts de hooks gérés sur Windows. Codex vérifie que son chemin est absolu et qu’il existe avant de charger les hooks gérés. |
in_app_browser | table | Exigences relatives au volet du navigateur intégré. Ces paramètres ne contrôlent pas la fonctionnalité Navigateur pilotée par l’agent. |
in_app_browser.allow_external_browser_settings_import | boolean | Définissez ce paramètre sur false pour empêcher les utilisateurs d’importer des paramètres ou des données de navigation d’un navigateur externe vers le navigateur intégré. Le définir sur true ou l’omettre laisse l’importation disponible lorsque les autres vérifications du produit l’autorisent. Ce paramètre relève exclusivement de la configuration gérée et ne peut pas être remplacé dans config.toml. |
log_dir | string (path) | Imposez le répertoire où Codex écrit les fichiers journaux locaux. |
marketplaces | table | Exigences de l’administrateur concernant les sources de Marketplace de plugins. Les règles prennent effet lorsque restrict_to_allowed_sources vaut true. |
marketplaces.allowed_sources | table | Sources de Marketplace autorisées, indexées par nom de règle choisi par l’administrateur. Les règles portant des noms distincts se cumulent entre les couches d’exigences ; les champs regroupés sous 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. La valeur finale de source après la fusion des exigences 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 la compare au nom d’hôte en minuscules extrait d’une source Git HTTPS, SSH ou de type SCP. Utilisez ^ et $ pour exiger une correspondance avec le nom d’hôte complet. |
marketplaces.allowed_sources.<name>.path | string (absolute path) | Répertoire local de 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 du dépôt correspondant. |
marketplaces.allowed_sources.<name>.source | git | host_pattern | local | Type de critère de correspondance pour une source de Marketplace. Utilisez git pour un dépôt, host_pattern pour des hôtes Git correspondant à 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 les URL configurées et autorisées, puis exige une correspondance exacte du dépôt. |
marketplaces.restrict_to_allowed_sources | boolean | Lorsque ce paramètre vaut true, les sources de Marketplace configurées doivent correspondre à allowed_sources lors de l’ajout d’une Marketplace, de l’installation d’un plugin, de l’actualisation et du chargement à l’exécution. Les catalogues Git sélectionnés par OpenAI, y compris le catalogue pour les clés API, doivent également correspondre à la liste d’autorisation. Les plugins d’espace de travail intégrés et ceux installés à distance sont distincts de cette politique relative aux sources Git sélectionnées. |
mcp_servers | table | Liste d’autorisation des serveurs MCP pouvant être activés. Le nom du serveur ( <id>) et son identité doivent tous deux correspondre pour que le serveur MCP puisse être activé. Tout serveur MCP configuré qui ne figure pas dans la liste d’autorisation 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 (HTTP en streaming). |
mcp_servers.<id>.identity.command | string | table | Autorisez un serveur MCP stdio à partir 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. La forme chaîne de caractères n’examine ni les arguments, ni cwd, ni env, ni env_vars. |
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 commande n’examinent ni cwd, ni 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. L’expression doit être valide et correspondre à la valeur entière 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 HTTP en streaming à partir d’une chaîne d’URL exacte, ou utilisez une table de critères de correspondance de valeur de type 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. L’expression doit être valide et correspondre à l’URL entière. |
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 JSON utilisé par Codex au démarrage. |
models | table | Contient la table [models.new_thread]. |
models.new_thread | table | Valeurs par défaut facultatives à appliquer au démarrage d’un nouveau fil local. Elles prévalent sur les valeurs par défaut de l’utilisateur et du projet, mais peuvent être remplacées par des valeurs explicitement définies. |
models.new_thread.model | string | Modèle par défaut pour les nouveaux fils. Si le modèle ou l’effort de raisonnement est explicitement remplacé, les deux champs sont ignorés. |
models.new_thread.model_reasoning_effort | string | Effort de raisonnement par défaut pour les nouveaux fils. Si le modèle ou l’effort de raisonnement est explicitement remplacé, les deux champs sont ignorés. |
models.new_thread.service_tier | string | Offre par défaut pour les nouveaux fils. Si l’offre est explicitement remplacée, ce champ est ignoré. |
permissions | table | Profils d’autorisations définis par l’administrateur, 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 :, être le nom réservé filesystem ni reprendre le nom d’un profil d’une configuration chargée. Il utilise les mêmes champs de profil que config.toml ; consultez le guide des autorisations pour connaître le schéma complet des profils. |
permissions.filesystem.deny_read | array<string> | Interdictions de lecture du 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 les assouplir avec une configuration locale. |
plugins | table | Listes d’autorisation de serveurs MCP propres à chaque plugin, indexées par identifiant de plugin. Lorsque cette table est présente, les serveurs fournis avec un plugin 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 premier niveau. |
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 (HTTP en streaming). |
plugins.<plugin>.mcp_servers.<server>.identity.command | string | table | Autorisez le serveur MCP stdio d’un plugin à partir 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. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args | array<table> | Critères de correspondance ordonnés pour les arguments d’un serveur stdio fourni par un plugin. La liste d’arguments configurée doit avoir la même longueur, et chaque argument doit satisfaire le critère à sa position. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].expression | string | Expression régulière utilisée par un critère de correspondance d’argument regex. L’expression doit correspondre à la valeur complète 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 un critère de correspondance d’argument exact ou prefix. |
plugins.<plugin>.mcp_servers.<server>.identity.command.executable | string | Exécutable auquel la commande configurée pour le 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 son URL exacte, ou utilisez une table définissant un critère de correspondance de valeur exact, prefix ou regex. |
plugins.<plugin>.mcp_servers.<server>.identity.url.expression | string | Expression régulière utilisée par un critère de correspondance d’URL regex. L’expression doit correspondre à l’URL complète. |
plugins.<plugin>.mcp_servers.<server>.identity.url.match | exact | prefix | regex | Opération de correspondance pour l’URL du serveur MCP fourni par le plugin. |
plugins.<plugin>.mcp_servers.<server>.identity.url.value | string | Valeur utilisée par un critère de correspondance d’URL exact ou prefix. |
remote_sandbox_config | array<table> | Exigences de bac à sable propres à un hôte. La première entrée dont les hostname_patterns correspondent au nom d’hôte résolu remplace le paramètre allowed_sandbox_modes de premier niveau pour cette source d’exigences. Les entrées propres à un hôte ne remplacent actuellement 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 correspond à l’hôte. |
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 une approbation ou interdire une action (pas l’autoriser). |
rules.prefix_rules[].justification | string | Justification facultative, non vide, affichée dans les demandes d’approbation ou les messages de refus. |
rules.prefix_rules[].pattern | array<table> | Préfixe de commande exprimé sous forme de tokens de motif. Chaque token définit soit token, soit any_of. |
rules.prefix_rules[].pattern[].any_of | array<string> | Liste des tokens autorisés comme alternatives à 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 relatives au 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. Si 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 le démarrage du processus enfant du bac à sable natif de Windows. |
allow_appshotsbooleanfalse pour désactiver les captures d’application pour les utilisateurs gérés. S’il est omis, les exigences ne restreignent pas les captures d’application, qui restent soumises aux conditions habituelles de disponibilité du produit.allow_browser_and_computer_usebooleanfalse pour bloquer à la fois la fonctionnalité Navigateur pilotée par l’agent et l’Utilisation de l’ordinateur dans les applications natives. Le définir sur true ou l’omettre n’active aucune de ces fonctionnalités ; les autres vérifications relatives aux fonctionnalités, aux politiques et aux approbations continuent de s’appliquer.allow_login_shellbooleanallow_managed_hooks_onlybooleantrue, Codex ignore les hooks de l’utilisateur, du projet, de la session et des plugins, 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. S’il est omis, les exigences ne restreignent pas le contrôle à distance des appareils, qui reste soumis aux conditions habituelles de disponibilité du produit.allowed_approval_policiesarray<string>on-request, never et granular. Incluez untrusted pour autoriser la politique plus stricte découlant d’un projet non fiable ; celle-ci ne peut pas être sélectionnée directement avec approval_policy.allowed_approvals_reviewersarray<string>approvals_reviewer, telles que user et auto_review.allowed_chatgpt_workspacesarray<string>allowed_login_methodsarray<string>chatgpt, api ou les deux. Si ce paramètre est omis, les méthodes de connexion ne sont pas restreintes. S’il est défini, la liste doit contenir au moins une méthode. api autorise l’authentification par API, y compris avec Amazon Bedrock. Définissez ce paramètre dans le fichier local d’exigences système ou via le MDM macOS. Les valeurs gérées dans le cloud sont ignorées.allowed_permission_profilestable<boolean>true sont autorisés. Les profils omis ou définis sur false sont interdits, y compris ceux ajoutés dans les versions futures. Lorsque plusieurs sources d’exigences sont combinées, les entrées sont associées par nom de 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 restrictive lors de la fusion de plusieurs sources d’exigences.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approvebrowser_usetablebrowser_use.allow_global_persistent_approvalbooleanfalse pour empêcher la fonctionnalité Navigateur de créer ou d’appliquer des approbations Always allow couvrant tous les sites, par exemple pour autoriser les téléchargements depuis n’importe quel site. Les approbations déjà enregistrées sont ignorées, sans être supprimées. Le définir sur true ou l’omettre ne crée aucune approbation.browser_use.allow_history_accessbooleanfalse pour empêcher la fonctionnalité Navigateur de lire l’historique de navigation. Le définir sur true ou l’omettre laisse en place les paramètres habituels de l’historique et les vérifications de disponibilité.browser_use.default_origin_policytablebrowser_use.origins ne le définit. Une règle d’origine correspondante remplace la valeur de repli pour cette source. Codex applique ensuite le résultat le plus strict entre les exigences gérées et la configuration utilisateur.browser_use.default_origin_policy.accessallow | denydeny pour bloquer la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. Le refus d’accès à une origine bloque également les envois de fichiers, les téléchargements, l’accès complet au débogage du navigateur et la révision automatique sur cette origine. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique.browser_use.default_origin_policy.access_approval_lifetimeturn | threadturn la limite au tour en cours, et thread la conserve jusqu’à la fin du fil de discussion en cours. persistent_approval détermine séparément si Always allow est disponible. La valeur par défaut du produit est thread.browser_use.default_origin_policy.auto_reviewallow | denydeny pour ne pas effectuer de révision automatique sur les origines utilisant la valeur de repli et demander à la place l’approbation de l’utilisateur. allow laisse la révision automatique disponible lorsque les autres paramètres l’autorisent.browser_use.default_origin_policy.downloadsallow | denydeny pour bloquer les téléchargements de la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique.browser_use.default_origin_policy.full_cdp_accessallow | denydeny pour bloquer l’accès complet au Chrome DevTools Protocol (CDP) sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’activation volontaire et d’approbation.browser_use.default_origin_policy.persistent_approvalbooleanfalse pour empêcher la fonctionnalité Navigateur d’enregistrer ou d’appliquer une approbation Always allow sur les origines utilisant la valeur de repli. Les approbations valables pour le tour ou le fil en cours peuvent toujours s’appliquer. true rend Always allow disponible lorsque les autres conditions l’autorisent, mais ne crée aucune approbation.browser_use.default_origin_policy.uploadsallow | denydeny pour bloquer les envois de fichiers de la fonctionnalité Navigateur sur les origines utilisant la valeur de repli. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de politique.browser_use.disable_auto_reviewbooleantrue pour ne pas effectuer de révision automatique pour la fonctionnalité Navigateur et demander à la place l’approbation de l’utilisateur. Le définir sur false ou l’omettre laisse la révision automatique disponible lorsque les autres paramètres l’autorisent.browser_use.originsmap<string, table><scheme>://<host-pattern>[:<port>] avec http ou https. Utilisez un hôte exact, *.example.com pour les sous-domaines uniquement, ou **.example.com pour le domaine de base et ses sous-domaines. Les autres caractères génériques * peuvent couvrir des points : region*.example.com correspond donc aussi à region.api.example.com ; un hôte * correspond à tous les hôtes pour ce schéma. Les schémas et les ports autres que ceux par défaut sont pris en compte ; les ports par défaut explicitement indiqués sont supprimés lors de la normalisation. Les chemins, les chaînes de requête, les noms d’utilisateur ou mots de passe intégrés, ainsi que les schémas ou ports contenant des caractères génériques ne sont pas valides. Placez le motif entre guillemets dans TOML, par exemple [browser_use.origins."https://**.example.com"].browser_use.origins.<pattern>tabledeny prévaut sur allow, false sur true et turn sur thread.browser_use.origins.<pattern>.accessallow | denydeny pour bloquer la fonctionnalité Navigateur sur les origines correspondantes. Ce refus y bloque aussi les téléversements, les téléchargements, l’accès complet au débogage du navigateur et la révision automatique. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques.browser_use.origins.<pattern>.access_approval_lifetimeturn | threadturn la limite au tour en cours, et thread la conserve jusqu’à la fin du fil de discussion en cours. persistent_approval détermine séparément si Always allow est disponible.browser_use.origins.<pattern>.auto_reviewallow | denydeny pour ignorer la révision automatique sur les origines correspondantes et demander l’approbation de l’utilisateur à la place. allow laisse la révision automatique disponible lorsque les autres paramètres le permettent.browser_use.origins.<pattern>.downloadsallow | denydeny pour bloquer les téléchargements de la fonctionnalité Navigateur sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques.browser_use.origins.<pattern>.full_cdp_accessallow | denydeny pour bloquer l’accès complet au Chrome DevTools Protocol (CDP) sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’activation volontaire et d’approbation.browser_use.origins.<pattern>.persistent_approvalbooleanfalse pour empêcher la fonctionnalité Navigateur d’enregistrer ou d’appliquer une approbation Always allow sur les origines correspondantes. Les approbations pour le tour ou le fil de discussion en cours peuvent toujours s’appliquer. true rend Always allow disponible lorsque les autres conditions le permettent, mais ne crée aucune approbation.browser_use.origins.<pattern>.uploadsallow | denydeny pour bloquer les téléversements de la fonctionnalité Navigateur sur les origines correspondantes. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques.chatgpt_base_urlstringcheck_for_update_on_startupbooleancli_auth_credentials_storefile | keyring | auto | ephemeralfile utilise CODEX_HOME/auth.json ; keyring nécessite le magasin d’identifiants du système d’exploitation ; auto utilise un fichier si ce magasin est indisponible ; ephemeral conserve les identifiants en mémoire pour le processus en cours. Définissez ce paramètre dans le fichier local d’exigences système ou via le MDM macOS ; les valeurs gérées dans le cloud sont ignorées.computer_usetableconfig.toml sont toutes appliquées ; chaque source de politique doit autoriser l’application.computer_use.allow_locked_computer_usebooleanfalse pour empêcher les utilisateurs d’activer l’utilisation en mode verrouillé sur un appareil macOS géré. Cette exigence supprime les commandes d’activation ; elle ne désactive pas l’utilisation en mode verrouillé si celle-ci est déjà activée. Si ce paramètre est omis, la disponibilité habituelle du produit s’applique.computer_use.allow_persistent_approvalbooleanfalse pour supprimer la possibilité de conserver les approbations d’application d’une session à l’autre. Les approbations pour la session en cours restent disponibles. Définir la valeur sur true ou omettre ce paramètre n’accorde aucune approbation à une application.computer_use.default_app_accessallow | denydeny bloque l’accès. allow permet uniquement de poursuivre les vérifications habituelles d’approbation et de conformité aux politiques. La valeur par défaut du produit est allow.computer_use.macostablecomputer_use.macos.bundle_idsmap<string, allow | deny>allow ou deny. Une règle correspondante remplace computer_use.default_app_access au sein de la même source de politique. Un refus provenant des exigences gérées ou de la configuration utilisateur bloque toujours l’accès.computer_use.macos.bundle_ids.<bundle-id>allow | denydeny pour bloquer l’identifiant de bundle exact. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel.computer_use.windowstablecomputer_use.windows.aumidsmap<string, allow | deny>allow ou deny. Une règle correspondante remplace computer_use.default_app_access au sein de la même source de politique.computer_use.windows.aumids.<aumid>allow | denydeny pour bloquer l’identité exacte de l’application avec package. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel.computer_use.windows.exesarray<table>computer_use.default_app_access ; les exécutables dont l’identité signée ne peut pas être vérifiée sans ambiguïté sont bloqués.computer_use.windows.exes[].accessallow | denydeny bloque l’accès. allow remplace uniquement la valeur par défaut de cette source de politique ; l’application doit toujours être autorisée par toutes les autres sources de politique et par le processus d’approbation habituel.computer_use.windows.exes[].binary_namestringOriginalFilename, issue des informations de version signées de l’exécutable. La comparaison ne tient pas compte de la casse. Si une règle correspondant à l’éditeur et au produit exige cette valeur, mais que l’exécutable ne la fournit pas, la fonctionnalité Utilisation de l’ordinateur bloque l’exécutable.computer_use.windows.exes[].product_namestringProductName, issue des informations de version signées de l’exécutable.computer_use.windows.exes[].publisher_namestringdefault_permissionsstringallowed_permission_profiles. Définissez ce paramètre explicitement pour obtenir un comportement prévisible ; s’il est omis, Codex utilise :workspace par défaut uniquement 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. Les outils de navigateur vérifient séparément les règles gérées de refus d’accès réseau et les listes d’autorisation exclusives. Ces exigences n’acheminent pas le trafic du navigateur via le proxy et ne contrôlent ni la recherche web, ni les applications, ni les serveurs MCP, ni le trafic des applications natives, ni les connexions réseau de Codex Cloud.experimental_network.allow_local_bindingbooleanlocalhost peuvent toujours autoriser des cibles locales précises lorsque ce paramètre reste 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 ce paramètre 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 d’autorisation globales * ; privilégiez les règles à portée limitée, car * ouvre largement l’accès sortant au réseau public. deny prévaut en cas de conflit. Ne combinez pas ce paramètre 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 réseau du bac à sable sont actives ; les ajouts de l’utilisateur à la liste d’autorisation sont ignorés. Même en l’absence de règles d’autorisation gérées, les règles d’autorisation de domaines ajoutées par l’utilisateur ne s’appliquent pas.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é Navigateur pilotée par l’agent.features.browser_use_externalbooleanfalse dans requirements.toml pour empêcher Codex de piloter les navigateurs pris en charge via l’extension de navigateur ChatGPT, y compris les onglets existants et les sessions connectées.features.browser_use_full_cdp_accessbooleanfalse dans requirements.toml pour désactiver l’accès complet au 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. S’il est omis, les conditions habituelles 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é que les utilisateurs ouvrent et contrôlent directement.features.in_app_updatesbooleanfalse dans requirements.toml pour désactiver les mises à jour depuis l’application. Les mises à jour restent activées par défaut lorsque cette exigence est omise.features.memoriesbooleanfeatures.multi_agentbooleanfeatures.plugin_sharingbooleanfalse dans le fichier requirements.toml géré dans le cloud pour désactiver le partage au sein de l’espace de travail des plugins créés localement.features.pluginsbooleanfeatures.remote_pluginbooleanfeatures.workspace_dependenciesbooleanfeedbacktablefeedback.enabledbooleanguardian_policy_configstring[auto_review].policy. Les valeurs vides sont ignorées.hookstable[hooks] définie 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 présenté au modèle sous forme d’un aperçu plus court. La valeur par défaut est 2500 ; 0 transmet directement tout le contexte au modèle. Consultez Sorties de hooks volumineuses.hooks.<Event>[].hooks[].asyncbooleanfalse ; SessionEnd s’exécute toujours de manière synchrone. Consultez Exécution de hooks en arrière-plan.hooks.<Event>[].hooks[].commandWindowsstringcommand_windows est également accepté.hooks.managed_dirstring (absolute path)hooks.windows_managed_dirstring (absolute path)in_app_browsertablein_app_browser.allow_external_browser_settings_importbooleanfalse pour empêcher les utilisateurs d’importer des paramètres ou des données de navigation d’un navigateur externe vers le navigateur intégré. Le définir sur true ou l’omettre laisse l’importation disponible lorsque les autres vérifications du produit l’autorisent. Ce paramètre relève exclusivement de la configuration gérée et ne peut pas être remplacé dans config.toml.log_dirstring (path)marketplacestablerestrict_to_allowed_sources vaut true.marketplaces.allowed_sourcestablemarketplaces.allowed_sources.<name>tablesource après la fusion des exigences détermine les champs de même niveau que Codex interprète.marketplaces.allowed_sources.<name>.host_patternstringsource = "host_pattern". Codex la compare au nom d’hôte en minuscules extrait d’une source Git HTTPS, SSH ou de type SCP. Utilisez ^ et $ pour exiger une correspondance avec le nom d’hôte complet.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 du dépôt correspondant.marketplaces.allowed_sources.<name>.sourcegit | host_pattern | localgit pour un dépôt, host_pattern pour des hôtes Git correspondant à une expression régulière, ou local pour un répertoire.marketplaces.allowed_sources.<name>.urlstringsource = "git". Codex normalise les URL configurées et autorisées, puis exige une correspondance exacte du dépôt.marketplaces.restrict_to_allowed_sourcesbooleantrue, les sources de Marketplace configurées doivent correspondre à allowed_sources lors de l’ajout d’une Marketplace, de l’installation d’un plugin, de l’actualisation et du chargement à l’exécution. Les catalogues Git sélectionnés par OpenAI, y compris le catalogue pour les clés API, doivent également correspondre à la liste d’autorisation. Les plugins d’espace de travail intégrés et ceux installés à distance sont distincts de cette politique relative aux sources Git sélectionnées.mcp_serverstable<id>) et son identité doivent tous deux correspondre pour que le serveur MCP puisse être activé. Tout serveur MCP configuré qui ne figure pas dans la liste d’autorisation ou dont l’identité ne correspond pas est désactivé.mcp_servers.<id>.identitytablecommand (stdio), soit url (HTTP en streaming).mcp_servers.<id>.identity.commandstring | tablecwd, ni env, ni env_vars.mcp_servers.<id>.identity.command.argsarray<table>cwd, ni env, ni env_vars.mcp_servers.<id>.identity.command.args[].expressionstringregex. L’expression doit être valide et correspondre à la valeur entière 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. L’expression doit être valide et correspondre à l’URL entière.mcp_servers.<id>.identity.url.matchexact | prefix | regexmcp_servers.<id>.identity.url.valuestringexact ou prefix.model_catalog_jsonstring (path)modelstable[models.new_thread].models.new_threadtablemodels.new_thread.modelstringmodels.new_thread.model_reasoning_effortstringmodels.new_thread.service_tierstringpermissionstableconfig.toml.permissions.<name>table:, être le nom réservé filesystem ni reprendre le nom d’un profil d’une configuration chargée. Il utilise les mêmes champs de profil que config.toml ; consultez le guide des autorisations pour connaître le schéma complet des profils.permissions.filesystem.deny_readarray<string>pluginstableplugins.<plugin>.mcp_serverstablemcp_servers de premier niveau.plugins.<plugin>.mcp_servers.<server>.identitytablecommand (stdio), soit url (HTTP en streaming).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 à la valeur complète 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’URL complète.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 le paramètre allowed_sandbox_modes de premier niveau pour cette source d’exigences. Les entrées propres à un hôte ne remplacent actuellement 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. Si les deux sont autorisées et qu’aucun mode n’est sélectionné, Codex privilégie elevated.windows.sandbox_private_desktopboolean