Nutze diese Seite als durchsuchbare Referenz für Codex-Konfigurationsdateien. Erläuterungen zu den Konzepten und Beispiele findest du unter Grundlagen der Konfiguration und Erweiterte Konfiguration.
config.toml
Die Konfiguration auf Benutzerebene befindet sich in ~/.codex/config.toml. Du kannst außerdem projektspezifische Überschreibungen in Dateien namens .codex/config.toml hinzufügen. Codex lädt projektspezifische Konfigurationsdateien nur, wenn du dem Projekt vertraust.
Projektspezifische Konfigurationen können folgende auf dem Rechner festgelegte Werte nicht überschreiben: Anbieter- und Authentifizierungseinstellungen,
vom Host verwaltete Metadaten für App-Anfragen, Benachrichtigungseinstellungen und die Auswahl des Konfigurationsprofils
sowie Schlüssel für das Telemetrie-Routing. Codex ignoriert openai_base_url,
chatgpt_base_url, apps_mcp_product_sku, model_provider,
model_providers, notify, profile, profiles,
experimental_realtime_ws_base_url und otel, wenn sie in einer
projektlokalen Konfigurationsdatei namens .codex/config.toml vorkommen. Lege stattdessen die Schlüssel für Anbieter, Benachrichtigungen und Telemetrie
in der Konfiguration auf Benutzerebene ab. Die Profildateien für die Konfiguration liegen im selben Verzeichnis wie
config.toml und haben den Pfad $CODEX_HOME/profile-name.config.toml. Wähle eine davon mit
--profile profile-name aus.
Nutze diese Referenz für Konfigurationsschlüssel zu Sandbox und Genehmigungen (approval_policy, sandbox_mode und sandbox_workspace_write.*) zusammen mit Sandbox und Genehmigungen, Geschützte Pfade in Stammverzeichnissen mit Schreibzugriff und Netzwerkzugriff. Informationen zu Berechtigungsprofilen in der Betaphase findest du unter Berechtigungen.
| Key | Type / Values | Details |
|---|---|---|
agents | table | Einstellungen für mehrere Agenten und Deklarationen benutzerdefinierter Rollen. Namen skalarer Einstellungen sind reserviert und können nicht als benutzerdefinierte Rollennamen verwendet werden. |
agents.<name>.config_file | string (path) | Pfad zu einer TOML-Konfigurationsebene für diese Rolle. Relative Pfade werden ausgehend von der Konfigurationsdatei aufgelöst, in der die Rolle deklariert ist. |
agents.<name>.description | string | Hinweise zur Rolle, die Codex beim Auswählen und Starten dieses Agententyps angezeigt werden. |
agents.default_subagent_model | string | Standardmodell für gestartete Agenten. Ein beim Starten explizit angegebenes Modell hat Vorrang. |
agents.default_subagent_reasoning_effort | string | Standardmäßiger Reasoning-Aufwand für gestartete Agenten. Ein beim Starten explizit angegebener Reasoning-Aufwand hat Vorrang. |
agents.enabled | boolean | Tools für mehrere Agenten aktivieren oder deaktivieren (Standard: true). |
agents.interrupt_message | boolean | Eine für das Modell sichtbare Nachricht aufzeichnen, wenn ein Agenten-Turn unterbrochen wird (Standard: true). |
agents.max_concurrent_threads_per_session | number | Maximale Anzahl an Threads gestarteter Agenten, die gleichzeitig geöffnet sein können. Der Haupt-Thread zählt nicht mit. Ist kein Wert festgelegt, wählt Codex den Standardwert. |
agents.max_threads | number | Älterer Alias für agents.max_concurrent_threads_per_session. |
allow_login_shell | boolean | Erlaubt Tools auf Shell-Basis, die Semantik einer Login-Shell zu verwenden. Standardmäßig true; bei false werden Anfragen mit login = true abgelehnt, und bei nicht angegebenem login werden standardmäßig Shells ohne Login verwendet. |
analytics.enabled | boolean | Analysen für diesen Rechner oder dieses Profil aktivieren oder deaktivieren. Wenn nicht festgelegt, gilt der Standardwert des Clients. |
approval_policy | untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } } | Steuert, wann Codex vor dem Ausführen von Befehlen auf eine Genehmigung wartet. Du kannst außerdem approval_policy = { granular = { ... } } verwenden, um bestimmte Kategorien von Anfragen zuzulassen oder automatisch abzulehnen, während andere Anfragen interaktiv bleiben. on-failure ist veraltet; verwende on-request für interaktive Ausführungen oder never für nicht interaktive Ausführungen. |
approval_policy.granular.mcp_elicitations | boolean | Bei true dürfen Anfragen zur MCP-Elizitation angezeigt werden, statt automatisch abgelehnt zu werden. |
approval_policy.granular.request_permissions | boolean | Bei true dürfen Anfragen des Tools request_permissions angezeigt werden. |
approval_policy.granular.rules | boolean | Bei true dürfen Genehmigungsanfragen angezeigt werden, die durch prompt-Regeln von execpolicy ausgelöst werden. |
approval_policy.granular.sandbox_approval | boolean | Bei true dürfen Genehmigungsanfragen für eine Sandbox-Eskalation angezeigt werden. |
approval_policy.granular.skill_approval | boolean | Bei true dürfen Genehmigungsanfragen für Skill-Skripte angezeigt werden. |
approvals_reviewer | user | auto_review | Legt fest, wer die bei on-request oder granularen Genehmigungsrichtlinien infrage kommenden Genehmigungsanfragen prüft. Standardmäßig ist dies user; bei auto_review übernimmt der für die Überprüfung zuständige Subagent die Prüfung. Diese Einstellung ändert nichts am Sandboxing und führt nicht dazu, dass innerhalb der Sandbox bereits erlaubte Aktionen überprüft werden. |
apps._default.approvals_reviewer | user | auto_review | Legt fest, wer Genehmigungsanfragen für App-Tools standardmäßig prüft, sofern dies nicht für eine einzelne App überschrieben wird. Ohne Angabe übernehmen Apps den Wert approvals_reviewer der obersten Ebene. |
apps._default.default_tools_approval_mode | auto | prompt | writes | approve | Standardverhalten bei Genehmigungen für App-Tools, sofern keine Überschreibung auf App- oder Tool-Ebene vorliegt. |
apps._default.destructive_enabled | boolean | Legt fest, ob App-Tools mit destructive_hint = true standardmäßig zugelassen oder abgelehnt werden. |
apps._default.enabled | boolean | Legt fest, ob Apps standardmäßig aktiviert sind, sofern dies nicht für eine einzelne App überschrieben wird. |
apps._default.open_world_enabled | boolean | Legt fest, ob App-Tools mit open_world_hint = true standardmäßig zugelassen oder abgelehnt werden. |
apps.<id>.approvals_reviewer | user | auto_review | Prüfinstanz für Genehmigungsanfragen der Tools dieser App. Überschreibt apps._default.approvals_reviewer. |
apps.<id>.default_tools_approval_mode | auto | prompt | writes | approve | Standardmäßiges Genehmigungsverhalten für Tools in dieser App, sofern für das jeweilige Tool keine abweichende Einstellung vorliegt. |
apps.<id>.default_tools_enabled | boolean | Legt fest, ob Tools in dieser App standardmäßig aktiviert sind, sofern für das jeweilige Tool keine abweichende Einstellung vorliegt. |
apps.<id>.destructive_enabled | boolean | Tools in dieser App, die destructive_hint = true angeben, zulassen oder blockieren. |
apps.<id>.enabled | boolean | Eine bestimmte App oder einen bestimmten Konnektor anhand der ID aktivieren oder deaktivieren (Standard: true). |
apps.<id>.open_world_enabled | boolean | Tools in dieser App, die open_world_hint = true angeben, zulassen oder blockieren. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Abweichendes Genehmigungsverhalten für ein einzelnes App-Tool. |
apps.<id>.tools.<tool>.enabled | boolean | Abweichende Aktivierungseinstellung für ein einzelnes App-Tool (zum Beispiel repos/list). |
auto_review.policy | string | Lokale Richtlinienanweisungen in Markdown für die automatische Überprüfung. Die verwaltete Einstellung guardian_policy_config hat Vorrang. Leere Werte werden ignoriert. |
background_terminal_max_timeout | number | Maximales Abfragezeitfenster in Millisekunden für leere write_stdin-Abfragen (Abfragen des Hintergrundterminals). Standard: 300000 (5 Minuten). Ersetzt den älteren Schlüssel background_terminal_timeout. |
browser_use.allow_history_access | boolean | Setze den Wert auf false, um den Zugriff auf den Browserverlauf einzuschränken. Verwaltete Vorgaben können diese Einschränkung erzwingen. |
browser_use.default_origin_policy | table | Standardbeschränkungen für Browser-Origins. Unterstützt access, uploads, downloads und full_cdp_access, jeweils mit dem Wert allow oder deny. |
browser_use.origins.<origin> | table | Browsereinschränkungen pro Origin mit denselben Feldern wie browser_use.default_origin_policy. Gib ein HTTP- oder HTTPS-Schema und optional einen Port an; lasse Pfade, Abfrageparameter und Fragmente weg. Lokale Werte können verwaltete Verbote nicht lockern. |
chatgpt_base_url | string | Überschreibt die Basis-URL für den ChatGPT-Anmeldevorgang. |
check_for_update_on_startup | boolean | Beim Start nach Codex-Updates suchen (nur auf false setzen, wenn Updates zentral verwaltet werden). |
cli_auth_credentials_store | file | keyring | auto | ephemeral | Legt fest, wo die CLI zwischengespeicherte Anmeldedaten ablegt. |
compact_prompt | string | Inline-Überschreibung für den Prompt zur Compaction (Kontextverdichtung) des Verlaufs. |
computer_use.default_app_access | allow | deny | Standardrichtlinie für den Zugriff auf native Apps bei der Computernutzung. App-spezifische Einträge können eine Richtlinie vorgeben; die lokale Konfiguration kann verwaltete Einschränkungen nicht lockern. |
computer_use.macos.bundle_ids | map<string, allow | deny> | Zugriff auf native macOS-Apps mit der Bundle-Kennung als Schlüssel. |
computer_use.windows.always_allowed_app_ids | array<string> | Kennungen von Windows-Apps, die über die Computernutzung ohne Rückfrage geöffnet werden können. Apps, die nicht in der Liste stehen, erfordern eine Genehmigung. Entferne gespeicherte Einträge aus den Einstellungen für die Computernutzung der ChatGPT-Desktop-App. |
computer_use.windows.aumids | map<string, allow | deny> | Zugriff auf paketierte Windows-Apps mit der Application User Model ID (AUMID) als Schlüssel. |
computer_use.windows.exes | array<table> | Zugriffsregeln für ausführbare Windows-Dateien. Jede Regel erfordert publisher_name, product_name und access (allow oder deny); binary_name ist optional. |
default_permissions | string | Name des standardmäßigen Berechtigungsprofils für Tool-Aufrufe in der Sandbox. Integrierte Profile sind :read-only, :workspace und :danger-full-access; benutzerdefinierte Profilnamen erfordern passende Tabellen unter [permissions.<name>]. Nicht mit sandbox_mode oder [sandbox_workspace_write] kombinieren. |
desktop.custom_file_handlers.<id> | table | Nur auf Benutzerebene. Definiert für die ChatGPT-Desktop-App ein zusätzliches Ziel im Menü Öffnen in. Beispiele und Einschränkungen für Handler-IDs findest du unter Benutzerdefinierte Dateihandler hinzufügen. |
desktop.custom_file_handlers.<id>.args | array<string> | Argumente, die zwischen Befehl und Dateieingabe eingefügt werden (Standard: []). |
desktop.custom_file_handlers.<id>.command | string | Pfad zur ausführbaren Datei oder Befehlsname, um das Programm zu erkennen und zu starten. Erforderlich. |
desktop.custom_file_handlers.<id>.icon | string | Pfad zu einem mitgelieferten Asset, Base64-codierte URL im Format data:image/..., Datei-URI oder absoluter lokaler Pfad für das Handler-Symbol. Erforderlich. Bei nicht unterstützten Quellen wird das Standardsymbol von VS Code verwendet. |
desktop.custom_file_handlers.<id>.input | path | json_argument | json_stdin | Legt fest, wie die App Dateieingaben an den Handler sendet (Standard: path). |
desktop.custom_file_handlers.<id>.label | string | Anzeigename in den Menüs Öffnen in. Erforderlich. |
desktop.custom_file_handlers.<id>.supports_ssh | boolean | Handler für Dateien in SSH-Workspaces anbieten (Standard: false). |
developer_instructions | string | Zusätzliche Entwickleranweisungen, die in die Sitzung eingebunden werden (optional). |
disable_paste_burst | boolean | Erkennung schneller Eingabefolgen als eingefügten Text in der TUI deaktivieren. |
experimental_compact_prompt_file | string (path) | Überschreibung für den Prompt zur Compaction (Kontextverdichtung) aus einer Datei laden (experimentell). |
experimental_use_unified_exec_tool | boolean | Veralteter Name zum Aktivieren von unified exec. Verwende bevorzugt [features].unified_exec oder codex --enable unified_exec. |
features.apps | boolean | App-Integrationen (Konnektoren) aktivieren (stabil; standardmäßig aktiviert). Der Datenverkehr von Apps und Konnektoren wird nicht durch den Netzwerkproxy für Befehle in der Sandbox oder dessen Domain-Zulassungsliste gesteuert. |
features.code_mode.direct_only_tool_namespaces | array<string> | Tool-Namespaces, die der Code-Modus nur über direkte Tool-Aufrufe verwenden kann. |
features.code_mode.enabled | boolean | Konfiguration der Code-Modus-Funktion aktivieren. Diese Funktion befindet sich in der Entwicklung und ist standardmäßig deaktiviert. |
features.code_mode.excluded_tool_namespaces | array<string> | Tool-Namespaces, die der Code-Modus weder in Anleitungen für verschachtelte Code-Modus-Tools einbezieht noch dem Executor bereitstellt. |
features.context_management.experimental_mode | boolean | Experimentelle Kontextverwaltung aktivieren (standardmäßig deaktiviert). Sie verwendet Notizen und einen durchsuchbaren Verlauf, um gesammelte Details zu bewahren, statt den Kontext wiederholt zu einer einzigen Zusammenfassung zu verdichten. Erfordert eine ChatGPT-Anmeldung mit Plus, Pro oder Pro Lite. |
features.enable_request_compression | boolean | Anfragekörper von Streaming-Anfragen mit zstd komprimieren, sofern dies unterstützt wird (stabil; standardmäßig aktiviert). |
features.fast_mode | boolean | Die Auswahl der Servicestufe aus dem Modellkatalog in der TUI aktivieren, einschließlich der Befehle für die Fast-Servicestufe, sofern das aktive Modell sie anbietet (stabil; standardmäßig aktiviert). |
features.goals | boolean | Dauerhaft gespeicherte Ziele und automatische Fortsetzung aktivieren (stabil; standardmäßig aktiviert). |
features.hooks | boolean | Lifecycle-Hooks aktivieren, die aus hooks.json oder aus der Inline-Konfiguration [hooks] geladen werden. features.codex_hooks ist ein veralteter Alias. |
features.memories | boolean | Erinnerungen aktivieren (standardmäßig deaktiviert). |
features.multi_agent | boolean | Tools für die Zusammenarbeit mehrerer Agenten aktivieren ( spawn_agent, send_input, resume_agent, wait_agent und close_agent) (stabil; standardmäßig aktiviert). |
features.network_proxy | boolean | table | Netzwerk-Proxy für Befehle in der Sandbox starten (experimentell; standardmäßig deaktiviert). Er ist erforderlich, um die Domainregeln der Berechtigungsprofile durchzusetzen, sofern der Proxy nicht durch aktivierte, administrativ verwaltete experimental_network-Anforderungen gestartet wird. Verwende die Tabellenform, wenn du Richtlinienoptionen auf Funktionsebene wie domains festlegst. Filtert weder die Websuche noch Apps, MCP oder andere gehostete Tools. |
features.network_proxy.allow_local_binding | boolean | Umfassenderen Zugriff auf lokale oder private Netzwerke zulassen. Standard: false; Zulassungsregeln für eine exakt angegebene lokale IP-Adresse oder für localhost können bestimmte lokale Ziele weiterhin freigeben. |
features.network_proxy.allow_upstream_proxy | boolean | Verkettung mit einem in der Umgebung konfigurierten Upstream-Proxy zulassen. Standard: true. |
features.network_proxy.dangerously_allow_all_unix_sockets | boolean | Beliebige Unix-Socket-Ziele zulassen, statt den Zugriff auf eine Allowlist zu beschränken. Standard: false; nur in streng kontrollierten Umgebungen verwenden. |
features.network_proxy.dangerously_allow_non_loopback_proxy | boolean | Listener-Adressen zulassen, die keine Loopback-Adressen sind. Standard: false; bei Aktivierung können Proxy-Listener auch außerhalb von localhost erreichbar werden. |
features.network_proxy.domains | map<string, allow | deny> | Domainrichtlinie für den Netzwerkzugriff in der Sandbox. Standardmäßig nicht festgelegt; externe Ziele sind erst zulässig, wenn du Regeln mit allow hinzufügst. Unterstützt exakt angegebene Hosts, *.example.com ausschließlich für Subdomains, **.example.com für die Apex-Domain einschließlich ihrer Subdomains sowie globale Zulassungsregeln mit *. Bevorzuge Regeln mit begrenztem Geltungsbereich, da * ausgehenden Zugriff auf öffentliche Ziele umfassend freigibt. Füge für gesperrte Ziele Regeln mit deny hinzu; bei Konflikten hat deny Vorrang. |
features.network_proxy.enable_socks5 | boolean | SOCKS5-Unterstützung bereitstellen. Standard: true. |
features.network_proxy.enable_socks5_udp | boolean | UDP über SOCKS5 zulassen. Standard: true. |
features.network_proxy.enabled | boolean | Netzwerk-Proxy für Befehle in der Sandbox starten, wenn der Netzwerkzugriff für Befehle aktiviert ist. Standard: false. Solange der Proxy deaktiviert ist, werden die Domainregeln der Berechtigungsprofile nicht durchgesetzt. |
features.network_proxy.proxy_url | string | HTTP-Listener-URL für den Netzwerkzugriff in der Sandbox. Standard: "http://127.0.0.1:3128". |
features.network_proxy.socks_url | string | SOCKS5-Listener-URL. Standard: "http://127.0.0.1:8081". |
features.network_proxy.unix_sockets | map<string, allow | deny> | Unix-Socket-Richtlinie für den Netzwerkzugriff in der Sandbox. Standardmäßig nicht festgelegt; füge für zulässige Sockets Einträge mit allow hinzu. |
features.personality | boolean | Bedienelemente zur Auswahl der Persönlichkeit aktivieren (stabil; standardmäßig aktiviert). |
features.prevent_idle_sleep | boolean | Verhindern, dass der Computer während einer laufenden Interaktion in den Ruhezustand wechselt (experimentell; standardmäßig deaktiviert). |
features.remote_plugin | boolean | Remote-Katalog für Plug-ins aktivieren (stabil; standardmäßig aktiviert). |
features.rollout_budget.enabled | boolean | Nachverfolgung des Rollout-Budgets aktivieren. Diese Funktion befindet sich in der Entwicklung und ist standardmäßig deaktiviert. Bei Aktivierung ist features.rollout_budget.limit_tokens erforderlich. |
features.rollout_budget.limit_tokens | integer | Positives Token-Limit für die Nachverfolgung des Rollout-Budgets. Erforderlich, wenn das Rollout-Budget aktiviert ist. |
features.rollout_budget.prefill_token_weight | number | Endlicher, nicht negativer Multiplikator für Prefill-Token bei der Berechnung des Rollout-Budgets. Standardwert ist 1.0. |
features.rollout_budget.reminder_interval_tokens | integer | Positives Token-Intervall zwischen Erinnerungen zum Rollout-Budget. Der Standardwert beträgt 10 % von limit_tokens, mindestens jedoch 1 Token. |
features.rollout_budget.sampling_token_weight | number | Endlicher, nicht negativer Multiplikator für per Sampling erzeugte Token bei der Berechnung des Rollout-Budgets. Standardwert ist 1.0. |
features.shell_snapshot | boolean | Einen Snapshot der Shell-Umgebung erstellen, um wiederholte Befehle zu beschleunigen (stabil; standardmäßig aktiviert). |
features.shell_tool | boolean | Das standardmäßige Tool shell zum Ausführen von Befehlen aktivieren (stabil; standardmäßig aktiviert). |
features.skill_mcp_dependency_install | boolean | Installationsaufforderungen und die Installation fehlender MCP-Abhängigkeiten für Skills zulassen (stabil; standardmäßig aktiviert). |
features.unified_exec | boolean | Das vereinheitlichte PTY-basierte exec-Tool verwenden (stabil; außer auf Windows standardmäßig aktiviert). |
features.web_search | boolean | Veralteter Schalter aus älteren Versionen; verwende vorzugsweise die Einstellung web_search auf oberster Ebene. |
features.web_search_cached | boolean | Veralteter Schalter aus älteren Versionen. Ist web_search nicht festgelegt, entspricht true der Einstellung web_search = "cached". |
features.web_search_request | boolean | Veralteter Schalter aus älteren Versionen. Ist web_search nicht festgelegt, entspricht true der Einstellung web_search = "live". |
feedback.enabled | boolean | Übermittlung von Feedback über /feedback in allen lokalen Clients aktivieren (Standard: true). |
file_opener | vscode | vscode-insiders | windsurf | cursor | none | URI-Schema zum Öffnen von Quellenverweisen aus der Codex-Ausgabe (Standard: vscode). |
forced_chatgpt_workspace_id | string (uuid) | Beschränkt ChatGPT-Anmeldungen auf eine bestimmte Workspace-Kennung. |
forced_login_method | chatgpt | api | Beschränkt Codex auf eine bestimmte Authentifizierungsmethode. |
hide_agent_reasoning | boolean | Reasoning-Ereignisse sowohl in der TUI als auch in der Ausgabe von codex exec unterdrücken. |
history.max_bytes | number | Begrenzt, sofern festgelegt, die Größe der Verlaufsdatei in Byte, indem die ältesten Einträge entfernt werden. |
history.persistence | save-all | none | Festlegen, ob Codex Sitzungsprotokolle in history.jsonl speichert. |
hooks | table | Direkt in config.toml konfigurierte Lifecycle-Hooks. Sie verwenden dasselbe Ereignisschema wie hooks.json. Beispiele und unterstützte Ereignisse findest du im Leitfaden zu Hooks. |
hooks.<Event> | array<table> | Matcher-Gruppen für Hook-Ereignisse wie PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit, Stop oder Interrupt. |
hooks.<Event>[].hooks | array<table> | Hook-Handler für eine Matcher-Gruppe. Befehls-Hooks und Hooks für MCP-Tools werden unterstützt; Handler für Prompt- und Agenten-Hooks werden geparst, aber übersprungen. |
hooks.<Event>[].hooks[].additionalContextLimit | integer | Ungefährer Token-Schwellenwert pro Handler, ab dem zu umfangreiche Inhalte von additionalContext auf dem Datenträger gespeichert werden und dem Modell eine kürzere Vorschau angezeigt wird. Standardwert ist 2500; bei 0 wird der vollständige Kontext direkt an das Modell übergeben. Siehe Große Hook-Ausgaben. |
hooks.<Event>[].hooks[].async | boolean | Einen Befehls-Hook im Hintergrund ausführen, ohne den auslösenden Vorgang zu verzögern. Standardwert ist false; SessionEnd wird immer synchron ausgeführt. Siehe Hooks im Hintergrund ausführen. |
hooks.<Event>[].hooks[].commandWindows | string | Abweichender Befehl für Befehls-Hooks, der nur unter Windows verwendet wird. Der TOML-Alias command_windows wird ebenfalls akzeptiert. |
instructions | string | Für die zukünftige Verwendung reserviert; verwende vorzugsweise model_instructions_file oder AGENTS.md. |
log_dir | string (path) | Verzeichnis, in das Codex Protokolldateien schreibt; Standard ist $CODEX_HOME/log. Wenn du es explizit festlegst, wird in diesem Verzeichnis auch das optionale TUI-Klartextprotokoll codex-tui.log aktiviert. |
mcp_oauth_callback_port | integer | Optionaler globaler, fester Port für den lokalen HTTP-Callback-Server bei der MCP-OAuth-Anmeldung. Ein serverspezifischer oauth.callback_port hat Vorrang. Ist keiner der beiden Werte festgelegt, bindet sich Codex an einen vom Betriebssystem gewählten temporären Port. |
mcp_oauth_callback_url | string | Optionale Callback-Basis-URL für die MCP-OAuth-Anmeldung, etwa die Ingress-URL einer Devbox. Neu hinzugefügte, vorab registrierte Clients verwenden diese URL unverändert, wenn der Autorisierungsserver die Identifizierung des Ausstellers unterstützt. Bestehende Clients ohne gespeicherten Callback hängen eine serverspezifische Callback-ID an. Ohne Unterstützung für die Ausstelleridentifizierung verwendet jeder vorab registrierte MCP-Server, dessen konfiguriertem Callback die erforderliche ID fehlt, ersatzweise diese URL mit angehängter ID. Ports in Callback-URLs legen den Listener-Port nicht fest. |
mcp_oauth_credentials_store | auto | file | keyring | Bevorzugter Speicher für MCP-OAuth-Anmeldedaten. |
mcp_optional_startup_grace_ms | integer (milliseconds) | Gemeinsame Wartezeit für optionale MCP-Server beim Erstellen des anfänglichen Tool-Katalogs. Standardwert ist 1000. Setze den Wert auf 0, um stattdessen für jeden Server dessen startup_timeout_sec abzuwarten. |
mcp_servers.<id>.args | array<string> | Argumente, die an den Befehl des MCP-Servers mit stdio übergeben werden. |
mcp_servers.<id>.auth | oauth | chatgpt | Fallback für die Authentifizierung eines MCP-HTTP-Servers, nachdem konfigurierte Bearer-Token und Autorisierungsheader geprüft wurden. oauth (Standard) verwendet gespeicherte MCP-OAuth-Anmeldedaten, sofern vorhanden. chatgpt verwendet für den vertrauenswürdigen, ChatGPT-eigenen Origin die aktuelle ChatGPT-Sitzung und greift bei Bedarf auf gespeicherte OAuth-Anmeldedaten zurück. In beiden Modi ist auch eine Verbindung ohne Authentifizierung möglich, wenn keine Quelle Anmeldedaten liefert. |
mcp_servers.<id>.bearer_token_env_var | string | Umgebungsvariable, aus der das Bearer-Token für einen MCP-HTTP-Server bezogen wird. |
mcp_servers.<id>.command | string | Startbefehl für einen MCP-Server mit stdio. |
mcp_servers.<id>.cwd | string | Arbeitsverzeichnis für den Prozess des MCP-Servers mit stdio. |
mcp_servers.<id>.default_tools_approval_mode | auto | prompt | writes | approve | Standardmäßiges Genehmigungsverhalten für MCP-Tools auf diesem Server, sofern für das jeweilige Tool keine abweichende Einstellung vorliegt. |
mcp_servers.<id>.disabled_tools | array<string> | Sperrliste für den MCP-Server, die nach enabled_tools angewendet wird. |
mcp_servers.<id>.enabled | boolean | Einen MCP-Server deaktivieren, ohne seine Konfiguration zu entfernen. |
mcp_servers.<id>.enabled_tools | array<string> | Zulassungsliste der Tool-Namen, die der MCP-Server bereitstellt. |
mcp_servers.<id>.env | map<string,string> | Umgebungsvariablen, die an den MCP-Server mit stdio weitergeleitet werden. |
mcp_servers.<id>.env_http_headers | map<string,string> | HTTP-Header für einen MCP-HTTP-Server, deren Werte aus Umgebungsvariablen stammen. |
mcp_servers.<id>.env_vars | array<string | { name = string, source = "local" | "remote" }> | Zusätzliche Umgebungsvariablen für die Zulassungsliste eines MCP-Servers mit stdio. Für Zeichenfolgeneinträge gilt standardmäßig source = "local"; verwende source = "remote" nur für stdio, das über einen Executor remote ausgeführt wird. |
mcp_servers.<id>.experimental_environment | local | remote | Experimenteller Ausführungsort für einen MCP-Server. remote startet stdio-Server über eine Remote-Executor-Umgebung; die Remote-Ausführung von Servern mit Streamable HTTP ist nicht implementiert. |
mcp_servers.<id>.http_headers | map<string,string> | Statische HTTP-Header, die jeder MCP-HTTP-Anfrage hinzugefügt werden. |
mcp_servers.<id>.http_headers_helper | string (command) | Lokaler Befehl, der ein JSON-Objekt mit Namen und Werten von HTTP-Headern ausgibt. Wird nur für lokal verbundene MCP-HTTP-Server unterstützt. Explizite Bearer-Token und OAuth-Anmeldedaten haben Vorrang vor Authorization-Headern, die das Hilfsprogramm bereitstellt. |
mcp_servers.<id>.oauth_resource | string | Optionaler OAuth-Ressourcenparameter gemäß RFC 8707, der bei der MCP-Anmeldung mitgesendet wird. |
mcp_servers.<id>.oauth.callback_port | integer | Fester Listener-Port für OAuth-Callbacks dieses MCP-Servers. Überschreibt mcp_oauth_callback_port. Konfiguriere für einen direkten Loopback-Callback mit expliziter Portangabe in der URL denselben Listener-Port. |
mcp_servers.<id>.oauth.callback_url | string | Serverspezifischer OAuth-Callback. Vorab registrierte Clients verwenden ihn wieder, wenn die Identifizierung des Ausstellers unterstützt wird oder die URL bereits mit der serverspezifischen Callback-ID endet. Andernfalls verwendet Codex den globalen oder den Standard-Callback und hängt diese ID an. Clients ohne vorab registrierte ID verwenden diesen Callback bei der Client-Registrierung. |
mcp_servers.<id>.oauth.client_id | string | Vorab registrierte OAuth-Client-ID, die für die Autorisierung und den Token-Austausch mit diesem MCP-Server verwendet wird. |
mcp_servers.<id>.required | boolean | Wenn true festgelegt ist, schlägt der Start oder die Fortsetzung fehl, falls dieser aktivierte MCP-Server nicht initialisiert werden kann. |
mcp_servers.<id>.scopes | array<string> | OAuth-Berechtigungsbereiche, die bei der Authentifizierung bei diesem MCP-Server angefordert werden. |
mcp_servers.<id>.startup_timeout_ms | number | Alias für startup_timeout_sec in Millisekunden. |
mcp_servers.<id>.startup_timeout_sec | number | Den standardmäßigen Start-Timeout von 10 s für einen MCP-Server überschreiben. |
mcp_servers.<id>.tool_timeout_sec | number | Den standardmäßigen Timeout von 60 s pro Tool für einen MCP-Server überschreiben. |
mcp_servers.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Abweichendes Genehmigungsverhalten für ein einzelnes MCP-Tool auf diesem Server. |
mcp_servers.<id>.tools.<tool>.output_token_limit | integer (positive) | Token-Budget für die Ausgabe eines einzelnen MCP-Tools, bevor der standardmäßige Aufschlag von 20 % für die Serialisierung hinzukommt. Überschreibt für dieses Tool das standardmäßige Budget des Modells für die Ausgabekürzung. |
mcp_servers.<id>.url | string | Endpunkt für einen MCP-Server mit Streamable HTTP. |
memories.consolidation_model | string | Optionale abweichende Modellauswahl für die globale Konsolidierung von Erinnerungen. |
memories.disable_on_external_context | boolean | Bei true werden Threads, die externen Kontext wie MCP-Tool-Aufrufe, Websuche oder Tool-Suche verwenden, von der Erstellung von Erinnerungen ausgeschlossen. Standard: false. Älterer Alias: memories.no_memories_if_mcp_or_web_search. |
memories.extract_model | string | Optionale abweichende Modellauswahl für die Extraktion von Erinnerungen aus einzelnen Threads. |
memories.generate_memories | boolean | Wenn false festgelegt ist, werden neu erstellte Threads nicht als Eingaben für die Generierung von Erinnerungen gespeichert. Standardwert ist true. |
memories.max_raw_memories_for_consolidation | number | Maximale Anzahl neuerer, unverarbeiteter Erinnerungen, die für die globale Konsolidierung aufbewahrt werden. Standard: 256, begrenzt auf höchstens 4096. |
memories.max_rollout_age_days | number | Maximales Alter der Threads, die für die Erstellung von Erinnerungen berücksichtigt werden. Standard: 30, begrenzt auf den Bereich von 0 bis 90. |
memories.max_rollouts_per_startup | number | Maximale Anzahl von Rollout-Kandidaten, die pro Startdurchlauf verarbeitet werden. Standard: 16, begrenzt auf höchstens 128. |
memories.max_unused_days | number | Maximale Anzahl von Tagen seit der letzten Verwendung einer Erinnerung, nach denen sie nicht mehr für die Konsolidierung infrage kommt. Standard: 30, begrenzt auf den Bereich von 0 bis 365. |
memories.min_rate_limit_remaining_percent | number | Prozentualer Anteil, der in den Ratenlimit-Zeitfenstern von Codex mindestens verfügbar sein muss, bevor die Erstellung von Erinnerungen beginnt. Standard: 25, begrenzt auf den Bereich von 0 bis 100. |
memories.min_rollout_idle_hours | number | Mindestdauer der Inaktivität, bevor ein Thread für die Erstellung von Erinnerungen berücksichtigt wird. Standard: 6, begrenzt auf den Bereich von 1 bis 48. |
memories.use_memories | boolean | Wenn false festgelegt ist, bindet Codex vorhandene Erinnerungen nicht in zukünftige Sitzungen ein. Standardwert ist true. |
model | string | Zu verwendendes Modell (z. B. gpt-5.5). |
model_auto_compact_token_limit | number | Token-Schwellenwert, der die automatische Compaction (Kontextverdichtung) des Verlaufs auslöst (wenn nicht festgelegt, gelten die Standardwerte des Modells). |
model_auto_compact_token_limit_scope | total | body_after_prefix | Steuert, ob für den Schwellenwert der automatischen Compaction (Kontextverdichtung) der gesamte aktive Kontext ( total, der Standardwert) oder nur der Zuwachs nach dem übernommenen Präfix des Compaction-Fensters (body_after_prefix) berücksichtigt wird. |
model_catalog_json | string (path) | Optionaler Pfad zu einem JSON-Modellkatalog, der beim Start geladen wird. Eine ausgewählte Profildatei $CODEX_HOME/profile-name.config.toml kann diesen Wert für das jeweilige Profil überschreiben. |
model_context_window | number | Anzahl der für das aktive Modell verfügbaren Token im Kontextfenster. |
model_instructions_file | string (path) | Ersatz für die integrierten Anweisungen; wird anstelle von AGENTS.md verwendet. |
model_provider | string | Anbieter-ID aus model_providers (Standard: openai). |
model_providers.<id> | table | Definition eines benutzerdefinierten Anbieters. Die IDs der integrierten Anbieter ( openai, ollama und lmstudio) sind reserviert und können nicht überschrieben werden. |
model_providers.<id>.auth | table | Konfiguration für einen benutzerdefinierten Anbieter, bei der ein Befehl das Bearer-Token bereitstellt. Nicht zusammen mit env_key, experimental_bearer_token oder requires_openai_auth verwenden. |
model_providers.<id>.auth.args | array<string> | Argumente, die an den Token-Befehl übergeben werden. |
model_providers.<id>.auth.command | string | Befehl, der ausgeführt wird, wenn Codex ein Bearer-Token benötigt. Der Befehl muss das Token auf stdout ausgeben. |
model_providers.<id>.auth.cwd | string (path) | Arbeitsverzeichnis für den Token-Befehl. |
model_providers.<id>.auth.refresh_interval_ms | number | Intervall in Millisekunden, in dem Codex das Token proaktiv aktualisiert (Standard: 300000). Setze den Wert auf 0, um das Token nur nach einem erneuten Authentifizierungsversuch zu aktualisieren. |
model_providers.<id>.auth.timeout_ms | number | Maximale Laufzeit des Token-Befehls in Millisekunden (Standard: 5000). |
model_providers.<id>.base_url | string | API-Basis-URL des Modellanbieters. |
model_providers.<id>.env_http_headers | map<string,string> | HTTP-Header, deren Werte aus vorhandenen Umgebungsvariablen übernommen werden. |
model_providers.<id>.env_key | string | Umgebungsvariable, die den API-Schlüssel des Anbieters bereitstellt. |
model_providers.<id>.env_key_instructions | string | Optionale Hinweise zum Einrichten des API-Schlüssels des Anbieters. |
model_providers.<id>.experimental_bearer_token | string | Direktes Bearer-Token für den Anbieter (nicht empfohlen; verwende env_key). |
model_providers.<id>.http_headers | map<string,string> | Statische HTTP-Header, die Anfragen an den Anbieter hinzugefügt werden. |
model_providers.<id>.name | string | Anzeigename eines benutzerdefinierten Modellanbieters. |
model_providers.<id>.query_params | map<string,string> | Zusätzliche Abfrageparameter, die an Anfragen an den Anbieter angehängt werden. |
model_providers.<id>.request_max_retries | number | Anzahl der Wiederholungsversuche für HTTP-Anfragen an den Anbieter (Standard: 4). |
model_providers.<id>.requires_openai_auth | boolean | Der Anbieter verwendet die OpenAI-Authentifizierung (Standard: false). |
model_providers.<id>.stream_idle_timeout_ms | number | Leerlauf-Timeout für SSE-Streams in Millisekunden (Standard: 300000). |
model_providers.<id>.stream_max_retries | number | Anzahl der Wiederholungsversuche nach Unterbrechungen von SSE-Streams (Standard: 5). |
model_providers.<id>.supports_standalone_web_search | boolean | Unterstützung für einen kompatiblen, eigenständigen Endpunkt für die Websuche angeben (Standard: false). Die eigenständige Suche ist weiterhin in Entwicklung und standardmäßig deaktiviert. Die Kompatibilität des Anbieters allein aktiviert sie nicht. |
model_providers.<id>.supports_websockets | boolean | Gibt an, ob dieser Anbieter den WebSocket-Transport der Responses API unterstützt. |
model_providers.<id>.wire_api | responses | Vom Anbieter verwendetes Protokoll. responses ist der einzige unterstützte Wert und wird standardmäßig verwendet, wenn die Angabe fehlt. |
model_providers.amazon-bedrock.aws.profile | string | AWS-Profilname, den der integrierte Anbieter amazon-bedrock verwendet. |
model_providers.amazon-bedrock.aws.region | string | AWS-Region, die der integrierte Anbieter amazon-bedrock verwendet. |
model_reasoning_effort | minimal | low | medium | high | xhigh | Den Reasoning-Aufwand für unterstützte Modelle anpassen (nur Responses API; xhigh ist modellabhängig). |
model_reasoning_summary | auto | concise | detailed | none | Detailgrad der Reasoning-Zusammenfassungen auswählen oder Zusammenfassungen vollständig deaktivieren. |
model_supports_reasoning_summaries | boolean | Erzwingen, dass Codex Reasoning-Metadaten sendet oder nicht sendet. |
model_verbosity | low | medium | high | Optionale abweichende Einstellung für die Ausführlichkeit von GPT-5 über die Responses API. Ist kein Wert festgelegt, wird die Standardeinstellung des ausgewählten Modells oder Presets verwendet. |
notice.hide_full_access_warning | boolean | Erfasst, ob der Warnhinweis zum Vollzugriff bestätigt wurde. |
notice.hide_gpt-5.1-codex-max_migration_prompt | boolean | Erfasst, ob die Aufforderung zur Migration auf gpt-5.1-codex-max bestätigt wurde. |
notice.hide_gpt5_1_migration_prompt | boolean | Erfasst, ob die Aufforderung zur Migration auf GPT-5.1 bestätigt wurde. |
notice.hide_rate_limit_model_nudge | boolean | Erfasst, ob die Erinnerung an einen Modellwechsel aufgrund des Ratenlimits deaktiviert wurde. |
notice.hide_world_writable_warning | boolean | Erfasst, ob die Warnung zu Windows-Verzeichnissen mit Schreibzugriff für alle bestätigt wurde. |
notice.model_migrations | map<string,string> | Erfasst bestätigte Modellmigrationen als Zuordnungen im Format old->new. |
notify | array<string> | Befehl, der für Benachrichtigungen aufgerufen wird; erhält eine JSON-Nutzlast von Codex. |
openai_base_url | string | Abweichende Basis-URL für den integrierten Modellanbieter openai. |
oss_provider | lmstudio | ollama | Standardmäßig verwendeter lokaler Anbieter bei der Ausführung mit --oss (wenn nicht festgelegt, fragt Codex danach). |
otel.environment | string | Umgebungs-Tag für ausgegebene OpenTelemetry-Ereignisse (Standard: dev). |
otel.exporter | none | otlp-http | otlp-grpc | OpenTelemetry-Exporter auswählen und gegebenenfalls Endpunktmetadaten angeben. |
otel.exporter.<id>.endpoint | string | Exporter-Endpunkt für OTEL-Logs. |
otel.exporter.<id>.headers | map<string,string> | Statische Header, die in Anfragen des OTEL-Exporters enthalten sind. |
otel.exporter.<id>.protocol | binary | json | Vom OTLP/HTTP-Exporter verwendetes Protokoll. |
otel.exporter.<id>.tls.ca-certificate | string | Pfad zum CA-Zertifikat für die TLS-Verbindung des OTEL-Exporters. |
otel.exporter.<id>.tls.client-certificate | string | Pfad zum Clientzertifikat für die TLS-Verbindung des OTEL-Exporters. |
otel.exporter.<id>.tls.client-private-key | string | Pfad zum privaten Clientschlüssel für die TLS-Verbindung des OTEL-Exporters. |
otel.log_user_prompt | boolean | Export unverarbeiteter Prompts von Nutzenden zusammen mit OpenTelemetry-Logs aktivieren. |
otel.metrics_exporter | none | statsig | otlp-http | otlp-grpc | OpenTelemetry-Metrik-Exporter auswählen (Standard: statsig). |
otel.trace_exporter | none | otlp-http | otlp-grpc | OpenTelemetry-Trace-Exporter auswählen und gegebenenfalls Endpunktmetadaten angeben. |
otel.trace_exporter.<id>.endpoint | string | Endpunkt des Trace-Exporters für OTEL-Logs. |
otel.trace_exporter.<id>.headers | map<string,string> | Statische Header, die in Anfragen des OTEL-Trace-Exporters enthalten sind. |
otel.trace_exporter.<id>.protocol | binary | json | Vom OTLP/HTTP-Trace-Exporter verwendetes Protokoll. |
otel.trace_exporter.<id>.tls.ca-certificate | string | Pfad zum CA-Zertifikat für die TLS-Verbindung des OTEL-Trace-Exporters. |
otel.trace_exporter.<id>.tls.client-certificate | string | Pfad zum Clientzertifikat für die TLS-Verbindung des OTEL-Trace-Exporters. |
otel.trace_exporter.<id>.tls.client-private-key | string | Pfad zum privaten Clientschlüssel für die TLS-Verbindung des OTEL-Trace-Exporters. |
permissions.<name>.description | string | Für Menschen lesbare Beschreibung dieses benannten Profils. Ein Profil erbt die Beschreibung seines übergeordneten Profils nicht über extends. |
permissions.<name>.extends | string | Optionales übergeordnetes Profil, das vor diesem benannten Profil angewendet wird. Gib ein anderes benanntes Profil, :read-only oder :workspace an. :danger-full-access, nicht definierte übergeordnete Profile und Zyklen werden abgelehnt. |
permissions.<name>.filesystem | table | Benanntes Berechtigungsprofil für das Dateisystem. Jeder Schlüssel ist ein absoluter Pfad oder ein spezielles Token wie :minimal oder :workspace_roots. |
permissions.<name>.filesystem.":workspace_roots".<subpath-or-glob> | "read" | "write" | "deny" | Dateisystemzugriff, dessen Geltungsbereich relativ zu jedem effektiven Workspace-Stammverzeichnis festgelegt wird. Verwende "." für das Stammverzeichnis selbst; bei Glob-Unterpfaden wie "**/*.env" lässt sich der Lesezugriff mit "deny" verweigern. |
permissions.<name>.filesystem.<path-or-glob> | "read" | "write" | "deny" | table | Gewährt direkten Zugriff für einen Pfad, ein Glob-Muster oder ein spezielles Token oder legt den Geltungsbereich verschachtelter Einträge unter diesem Stammverzeichnis fest. Verwende "deny", um den Lesezugriff auf übereinstimmende Pfade zu verweigern. |
permissions.<name>.filesystem.glob_scan_max_depth | number | Maximale Tiefe beim Auflösen von Glob-Mustern für Leseverbote auf Plattformen, die übereinstimmende Pfade vor dem Start der Sandbox als Momentaufnahme erfassen. Muss bei Angabe mindestens 1 betragen. |
permissions.<name>.network.allow_local_binding | boolean | Erlaubt über den Netzwerkzugriff in der Sandbox einen umfassenderen Zugriff auf lokale oder private Netzwerke. Zulassungsregeln für exakt angegebene lokale IP-Adressen oder localhost können auch dann bestimmte lokale Ziele freigeben, wenn diese Einstellung false bleibt. |
permissions.<name>.network.allow_upstream_proxy | boolean | Erlaubt, den Netzwerkverkehr aus der Sandbox über einen weiteren Upstream-Proxy zu leiten. |
permissions.<name>.network.dangerously_allow_all_unix_sockets | boolean | Erlaubt beliebige Unix-Socket-Ziele anstelle der standardmäßig eingeschränkten Zielauswahl. Nur in streng kontrollierten Umgebungen verwenden. |
permissions.<name>.network.dangerously_allow_non_loopback_proxy | boolean | Erlaubt Netzwerk-Listenern der Sandbox, sich an Nicht-Loopback-Adressen zu binden. Bei Aktivierung können die Listener auch außerhalb von localhost erreichbar sein. |
permissions.<name>.network.domains | table | Domänenregeln für Befehle in der Sandbox. Sie werden nur durchgesetzt, wenn features.network_proxy oder aktivierte, von der Administration verwaltete Netzwerkanforderungen den Proxy aktivieren. Unterstützt exakt angegebene Hosts, *.example.com, **.example.com und globale Zulassungsregeln mit *; deny hat Vorrang. Schränkt weder die Websuche noch Apps oder MCP-Server ein. |
permissions.<name>.network.domains.<pattern> | allow | deny | Legt für einen exakt angegebenen Host oder ein Wildcard-Muster mit begrenztem Geltungsbereich wie *.example.com oder **.example.com fest, ob der Zugriff zugelassen oder verweigert wird. |
permissions.<name>.network.enable_socks5 | boolean | Stellt SOCKS5-Unterstützung bereit, wenn dieses Berechtigungsprofil den Netzwerkzugriff in der Sandbox aktiviert. |
permissions.<name>.network.enable_socks5_udp | boolean | Erlaubt bei Aktivierung UDP über den SOCKS5-Listener. |
permissions.<name>.network.enabled | boolean | Aktiviert den Netzwerkzugriff für Befehle in diesem Berechtigungsprofil. Dadurch wird der Netzwerkproxy nicht gestartet. Ohne features.network_proxy oder aktivierte, von der Administration verwaltete Netzwerkanforderungen greifen Befehle direkt auf das Netzwerk zu, und die Domänenregeln des Profils werden nicht durchgesetzt. |
permissions.<name>.network.mode | limited | full | Netzwerkproxy-Modus für den Datenverkehr von Unterprozessen. |
permissions.<name>.network.proxy_url | string | URL des HTTP-Listeners, die verwendet wird, wenn dieses Berechtigungsprofil den Netzwerkzugriff in der Sandbox aktiviert. |
permissions.<name>.network.socks_url | string | Von diesem Berechtigungsprofil verwendeter SOCKS5-Proxy-Endpunkt. |
permissions.<name>.network.unix_sockets | table | Überschreibungen für die Unix-Socket-Zulassungsliste beim Netzwerkzugriff in der Sandbox. Verwende Socket-Pfade als Schlüssel; allow fügt einen Pfad hinzu, deny lehnt ihn ab. |
permissions.<name>.network.unix_sockets.<path> | allow | deny | Fügt mit allow einen absoluten Unix-Socket-Pfad zur effektiven Zulassungsliste hinzu oder lehnt ihn mit deny ab. Abgelehnte Einträge werden nicht in die effektive Zulassungsliste aufgenommen. |
permissions.<name>.workspace_roots | table | Im Profil definierte Workspace-Stammverzeichnisse, für die ebenso wie für die zur Laufzeit geltenden Workspace-Stammverzeichnisse der Sitzung die Dateisystemregeln für :workspace_roots gelten. |
permissions.<name>.workspace_roots.<path> | boolean | Nimmt bei true einen Pfad in die Menge der Workspace-Stammverzeichnisse des Profils auf. Deaktivierte Einträge bleiben inaktiv. |
personality | none | friendly | pragmatic | Standardmäßiger Kommunikationsstil für Modelle, die supportsPersonality signalisieren. Kann für einzelne Threads oder Turns oder über /personality überschrieben werden. |
plan_mode_reasoning_effort | none | minimal | low | medium | high | xhigh | Abweichende Einstellung des Reasoning-Aufwands speziell für den Planmodus. Ist kein Wert festgelegt, verwendet der Planmodus seine integrierte Standardeinstellung. |
plugins.<plugin>.mcp_servers.<server>.default_tools_approval_mode | auto | prompt | writes | approve | Standardmäßiges Genehmigungsverhalten für Tools eines MCP-Servers, den ein Plug-in bereitstellt. |
plugins.<plugin>.mcp_servers.<server>.disabled_tools | array<string> | Sperrliste für einen MCP-Server aus einem Plug-in, die nach enabled_tools angewendet wird. |
plugins.<plugin>.mcp_servers.<server>.enabled | boolean | Einen in einem installierten Plug-in enthaltenen MCP-Server aktivieren oder deaktivieren, ohne das Plug-in-Manifest zu ändern. |
plugins.<plugin>.mcp_servers.<server>.enabled_tools | array<string> | Zulassungsliste für Tools, die ein MCP-Server aus einem Plug-in bereitstellt. |
plugins.<plugin>.mcp_servers.<server>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Überschreibung des Genehmigungsverhaltens für ein einzelnes MCP-Tool aus einem Plug-in. |
project_doc_fallback_filenames | array<string> | Zusätzliche Dateinamen, nach denen gesucht wird, wenn AGENTS.md fehlt. |
project_doc_max_bytes | number | Maximale Anzahl an Bytes, die beim Zusammenstellen der Projektanweisungen aus AGENTS.md gelesen werden. |
project_root_markers | array<string> | Liste der Dateinamen, die das Projektstammverzeichnis kennzeichnen. Wird bei der Suche nach dem Projektstammverzeichnis in übergeordneten Verzeichnissen verwendet. |
projects.<path>.trust_level | string | Kennzeichnet ein Projekt oder einen Worktree als vertrauenswürdig oder nicht vertrauenswürdig ( "trusted" | "untrusted"). Bei nicht vertrauenswürdigen Projekten werden projektspezifische Ebenen unter .codex/ übersprungen, darunter projektlokale Konfiguration, Hooks und Regeln. |
review_model | string | Optionales abweichendes Modell für /review (standardmäßig wird das Modell der aktuellen Sitzung verwendet). |
sandbox_mode | read-only | workspace-write | danger-full-access | Sandbox-Richtlinie für Dateisystem- und Netzwerkzugriff während der Befehlsausführung. |
sandbox_workspace_write.exclude_slash_tmp | boolean | /tmp im workspace-write-Modus aus den Stammverzeichnissen mit Schreibzugriff ausschließen. |
sandbox_workspace_write.exclude_tmpdir_env_var | boolean | $TMPDIR im workspace-write-Modus aus den Stammverzeichnissen mit Schreibzugriff ausschließen. |
sandbox_workspace_write.network_access | boolean | Ausgehenden Netzwerkzugriff innerhalb der workspace-write-Sandbox zulassen. |
sandbox_workspace_write.writable_roots | array<string> | Zusätzliche Stammverzeichnisse mit Schreibzugriff bei sandbox_mode = "workspace-write". |
service_tier | string | Bevorzugte Servicestufe für neue Turns. Verwende fast oder eine andere vom aktiven Modell angebotene Stufe; fast wird dem Anfragewert priority zugeordnet. |
shell_environment_policy.exclude | array<string> | Ältere Ausschlussmuster für Umgebungsvariablen. Verwende für neue Konfigurationen shell_environment_policy.filters. Kombiniere nicht beide Formen in derselben Konfigurationsebene. |
shell_environment_policy.experimental_use_profile | boolean | Beim Starten von Unterprozessen das Shell-Profil des Benutzerkontos verwenden. |
shell_environment_policy.filters | map<string, include | exclude> | Kanonische Musterfilter für Umgebungsvariablen, die Groß- und Kleinschreibung ignorieren. Einschließende Einträge bilden eine Zulassungsliste und können ausgeschlossene Werte nicht wiederherstellen. Explizite set-Werte werden nach den Ausschlüssen angewendet. Kombiniere Filter nicht mit älteren exclude- oder include_only-Arrays in derselben Konfigurationsebene. |
shell_environment_policy.ignore_default_excludes | boolean | Variablen beibehalten, deren Namen KEY, SECRET oder TOKEN enthalten, bevor andere Filter angewendet werden (Standard: true). Auf false setzen, um Variablen automatisch auszuschließen, deren Namen auf Geheimnisse hinweisen. |
shell_environment_policy.include_only | array<string> | Ältere Zulassungsliste mit Mustern für Umgebungsvariablen. Verwende für neue Konfigurationen shell_environment_policy.filters. Kombiniere nicht beide Formen in derselben Konfigurationsebene. |
shell_environment_policy.inherit | all | core | none | Grundlegende Vererbung von Umgebungsvariablen beim Starten von Unterprozessen. |
shell_environment_policy.set | map<string,string> | Explizite Umgebungswerte, die nach den Ausschlüssen eingefügt werden. Einschließende Filter können sie weiterhin entfernen. |
show_raw_agent_reasoning | boolean | Unverarbeitete Reasoning-Inhalte anzeigen, wenn das aktive Modell sie ausgibt. |
skills.config | array<object> | In config.toml gespeicherte Vorgaben, die den Aktivierungsstatus einzelner Skills überschreiben. |
skills.config.<index>.enabled | boolean | Den angegebenen Skill aktivieren oder deaktivieren. |
skills.config.<index>.path | string (path) | Pfad zu einem Skill-Ordner, der SKILL.md enthält. |
skills.max_context_tokens | integer (positive) | Token-Budget für den Katalog der verfügbaren Skills. Standardmäßig 2 % des Kontextfensters des Modells. Explizit angegebene Werte sind auf 10000 Token begrenzt. |
sqlite_home | string (path) | Verzeichnis, in dem Codex die SQLite-basierte Zustandsdatenbank für Agentenaufträge und andere fortsetzbare Laufzeitzustände speichert. |
suppress_unstable_features_warning | boolean | Die Warnung unterdrücken, die bei aktivierten Feature-Flags für noch in Entwicklung befindliche Funktionen angezeigt wird. |
tool_output_token_limit | number | Token-Budget zum Speichern einzelner Tool- oder Funktionsausgaben im Verlauf. |
tool_suggest.disabled_tools | array<table> | Vorschläge für bestimmte auffindbare Konnektoren oder Plug-ins deaktivieren. Jeder Eintrag verwendet type = "connector" oder "plugin" und eine id. |
tool_suggest.discoverables | array<table> | Tool-Vorschläge für weitere auffindbare Konnektoren oder Plug-ins zulassen. Jeder Eintrag verwendet type = "connector" oder "plugin" und eine id. |
tools.view_image | boolean | Aktiviert das Tool view_image zum Anhängen lokaler Bilder. |
tools.web_search | boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } } | Optionale Konfiguration des Websuchtools. In der Objektform lassen sich die Größe des Suchkontexts, zulässige Suchdomänen und der ungefähre Standort der nutzenden Person festlegen. Diese Suchdomänenfilter sind von den Netzwerk-Domänenregeln für Befehle in der Sandbox getrennt und schränken Konnektoren oder MCP-Server nicht ein. |
tui | table | TUI-spezifische Optionen, beispielsweise zum Aktivieren von Inline-Desktop-Benachrichtigungen. |
tui.alternate_screen | auto | always | never | Nutzung des alternativen Bildschirmpuffers für die TUI steuern (Standard: auto; bei auto wird er in Zellij nicht verwendet, damit der Scrollback-Verlauf erhalten bleibt). |
tui.animations | boolean | Terminalanimationen (Willkommensbildschirm, Schimmereffekt, rotierender Ladeindikator) aktivieren (Standard: true). |
tui.keymap.<context>.<action> | string | array<string> | Tastenkombination für eine TUI-Aktion. Unterstützte Kontexte sind unter anderem global, chat, composer, editor, vim_normal, vim_operator, vim_text_object, pager, list und approval. Bestimmte Aktionen im Editor greifen ersatzweise auf passende Belegungen in tui.keymap.global zurück. Kontextspezifische Belegungen haben Vorrang, wenn sie unterstützt werden. |
tui.keymap.<context>.<action> = [] | empty array | Tastenbelegung für die Aktion in diesem Belegungskontext entfernen. Tastennamen werden als normalisierte Zeichenfolgen wie ctrl-a, shift-enter, page-down oder minus angegeben. |
tui.model_availability_nux.<model> | integer | Interner Status des beim Start angezeigten Tooltips, mit dem Modell-Slug als Schlüssel. |
tui.notification_condition | unfocused | always | Legt fest, ob TUI-Benachrichtigungen nur ausgelöst werden, wenn das Terminal nicht im Fokus ist, oder unabhängig vom Fokus. Standard: unfocused. |
tui.notification_method | auto | osc9 | bel | Methode für Terminalbenachrichtigungen (Standard: auto). |
tui.notifications | boolean | array<string> | TUI-Benachrichtigungen aktivieren und optional auf bestimmte Ereignistypen beschränken. |
tui.raw_output_mode | boolean | Die TUI im Raw-Scrollback-Modus starten, um Text bequem im Terminal auswählen und kopieren zu können (Standard: false). Du kannst den Modus mit /raw oder der Standard-Tastenkombination alt-r umschalten. |
tui.resume_cwd | current | session | Arbeitsverzeichnis für das Fortsetzen oder Forken einer Sitzung. Ist kein Wert festgelegt und unterscheidet sich dein aktuelles Verzeichnis vom gespeicherten Verzeichnis der Sitzung, fordert Codex dich zur Auswahl auf. |
tui.show_tooltips | boolean | Tooltips für den Einstieg auf dem Willkommensbildschirm der TUI anzeigen (Standard: true). |
tui.status_line | array<string> | null | Geordnete Liste der Elementkennungen für die Statuszeile in der TUI-Fußzeile. null deaktiviert die Statuszeile. |
tui.terminal_title | array<string> | null | Geordnete Liste der Elementkennungen für den Titel des Terminalfensters oder -Tabs. Standard: ["spinner", "project"]; null deaktiviert Titelaktualisierungen. |
tui.theme | string | Theme für die Syntaxhervorhebung überschreiben (Theme-Name in Kebab-Case). |
tui.vim_mode_default | boolean | Den Editor im Vim-Normalmodus statt im Einfügemodus starten (Standard: false). Du kannst den Modus weiterhin pro Sitzung mit /vim umschalten. |
web_search | disabled | cached | indexed | live | Modus für die Websuche (Standard: "cached"; cached verwendet einen von OpenAI gepflegten Index ohne externen Webzugriff; indexed erlaubt externen Zugriff nur, wenn der Suchindex ihn freigibt; bei Verwendung von --yolo oder einer anderen Sandbox-Einstellung mit Vollzugriff ist "live" der Standard). Verwende "live" für uneingeschränkten Live-Abruf oder "disabled", um das Tool zu entfernen. |
windows_wsl_setup_acknowledged | boolean | Erfasst, ob die Einführung für Windows bestätigt wurde (nur Windows). |
windows.sandbox | unelevated | elevated | Nativer Sandbox-Modus nur für Windows, wenn Codex nativ unter Windows ausgeführt wird. |
windows.sandbox_private_desktop | boolean | Wenn Codex nativ unter Windows läuft, wird der abschließende Unterprozess in der Sandbox standardmäßig auf einem privaten Desktop ausgeführt. Setze den Wert nur auf false, wenn du Kompatibilität mit dem älteren Verhalten von Winsta0\\Default benötigst. |
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; bei false werden Anfragen mit login = true abgelehnt, und bei nicht angegebenem login werden standardmäßig Shells ohne Login verwendet.analytics.enabledbooleanapproval_policyuntrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }approval_policy = { granular = { ... } } verwenden, um bestimmte Kategorien von Anfragen zuzulassen oder automatisch abzulehnen, während andere Anfragen interaktiv bleiben. on-failure ist veraltet; verwende on-request für interaktive Ausführungen oder never für nicht interaktive Ausführungen.approval_policy.granular.mcp_elicitationsbooleantrue dürfen Anfragen zur MCP-Elizitation angezeigt werden, statt automatisch abgelehnt zu werden.approval_policy.granular.request_permissionsbooleantrue dürfen Anfragen des Tools request_permissions angezeigt werden.approval_policy.granular.rulesbooleantrue dürfen Genehmigungsanfragen angezeigt werden, die durch prompt-Regeln von execpolicy ausgelöst werden.approval_policy.granular.sandbox_approvalbooleantrue dürfen Genehmigungsanfragen für eine Sandbox-Eskalation angezeigt werden.approval_policy.granular.skill_approvalbooleantrue dürfen Genehmigungsanfragen für Skill-Skripte angezeigt werden.approvals_revieweruser | auto_reviewon-request oder granularen Genehmigungsrichtlinien infrage kommenden Genehmigungsanfragen prüft. Standardmäßig ist dies user; bei auto_review übernimmt der für die Überprüfung zuständige Subagent die Prüfung. Diese Einstellung ändert nichts am Sandboxing und führt nicht dazu, dass innerhalb der Sandbox bereits erlaubte Aktionen überprüft werden.apps._default.approvals_revieweruser | auto_reviewapprovals_reviewer der obersten Ebene.apps._default.default_tools_approval_modeauto | prompt | writes | approveapps._default.destructive_enabledbooleandestructive_hint = true standardmäßig zugelassen oder abgelehnt werden.apps._default.enabledbooleanapps._default.open_world_enabledbooleanopen_world_hint = true standardmäßig zugelassen oder abgelehnt werden.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 angeben, zulassen oder blockieren.apps.<id>.enabledbooleanapps.<id>.open_world_enabledbooleanopen_world_hint = true angeben, zulassen oder blockieren.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approveapps.<id>.tools.<tool>.enabledbooleanrepos/list).auto_review.policystringguardian_policy_config hat Vorrang. Leere Werte werden ignoriert.background_terminal_max_timeoutnumberwrite_stdin-Abfragen (Abfragen des Hintergrundterminals). Standard: 300000 (5 Minuten). Ersetzt den älteren Schlüssel background_terminal_timeout.browser_use.allow_history_accessbooleanfalse, um den Zugriff auf den Browserverlauf einzuschränken. Verwaltete Vorgaben können diese Einschränkung erzwingen.browser_use.default_origin_policytableaccess, uploads, downloads und full_cdp_access, jeweils mit dem Wert allow oder deny.browser_use.origins.<origin>tablebrowser_use.default_origin_policy. Gib ein HTTP- oder HTTPS-Schema und optional einen Port an; lasse Pfade, Abfrageparameter und Fragmente weg. Lokale Werte können verwaltete Verbote nicht lockern.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 und access (allow oder deny); binary_name ist optional.default_permissionsstring:read-only, :workspace und :danger-full-access; benutzerdefinierte Profilnamen erfordern passende Tabellen unter [permissions.<name>]. Nicht mit sandbox_mode oder [sandbox_workspace_write] kombinieren.desktop.custom_file_handlers.<id>tabledesktop.custom_file_handlers.<id>.argsarray<string>[]).desktop.custom_file_handlers.<id>.commandstringdesktop.custom_file_handlers.<id>.iconstringdata:image/..., Datei-URI oder absoluter lokaler Pfad für das Handler-Symbol. Erforderlich. Bei nicht unterstützten Quellen wird das Standardsymbol von VS Code verwendet.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 oder 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 oder aus der Inline-Konfiguration [hooks] geladen werden. features.codex_hooks ist ein veralteter Alias.features.multi_agentbooleanspawn_agent, send_input, resume_agent, wait_agent und close_agent) (stabil; standardmäßig aktiviert).features.network_proxyboolean | tableexperimental_network-Anforderungen gestartet wird. Verwende die Tabellenform, wenn du Richtlinienoptionen auf Funktionsebene wie domains festlegst. Filtert weder die Websuche noch Apps, MCP oder andere gehostete Tools.features.network_proxy.allow_local_bindingbooleanfalse; Zulassungsregeln für eine exakt angegebene lokale IP-Adresse oder für localhost können bestimmte lokale Ziele weiterhin freigeben.features.network_proxy.allow_upstream_proxybooleantrue.features.network_proxy.dangerously_allow_all_unix_socketsbooleanfalse; nur in streng kontrollierten Umgebungen verwenden.features.network_proxy.dangerously_allow_non_loopback_proxybooleanfalse; bei Aktivierung können Proxy-Listener auch außerhalb von localhost erreichbar werden.features.network_proxy.domainsmap<string, allow | deny>allow hinzufügst. Unterstützt exakt angegebene Hosts, *.example.com ausschließlich für Subdomains, **.example.com für die Apex-Domain einschließlich ihrer Subdomains sowie globale Zulassungsregeln mit *. Bevorzuge Regeln mit begrenztem Geltungsbereich, da * ausgehenden Zugriff auf öffentliche Ziele umfassend freigibt. Füge für gesperrte Ziele Regeln mit deny hinzu; bei Konflikten hat deny Vorrang.features.network_proxy.enable_socks5booleantrue.features.network_proxy.enable_socks5_udpbooleantrue.features.network_proxy.enabledbooleanfalse. Solange der Proxy deaktiviert ist, werden die Domainregeln der Berechtigungsprofile nicht durchgesetzt.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 hinzu.features.personalitybooleanfeatures.prevent_idle_sleepbooleanfeatures.remote_pluginbooleanfeatures.rollout_budget.enabledbooleanfeatures.rollout_budget.limit_tokens erforderlich.features.rollout_budget.limit_tokensintegerfeatures.rollout_budget.prefill_token_weightnumber1.0.features.rollout_budget.reminder_interval_tokensintegerlimit_tokens, mindestens jedoch 1 Token.features.rollout_budget.sampling_token_weightnumber1.0.features.shell_snapshotbooleanfeatures.shell_toolbooleanshell zum Ausführen von Befehlen aktivieren (stabil; standardmäßig aktiviert).features.skill_mcp_dependency_installbooleanfeatures.unified_execbooleanfeatures.web_searchbooleanweb_search auf oberster Ebene.features.web_search_cachedbooleanweb_search nicht festgelegt, entspricht true der Einstellung web_search = "cached".features.web_search_requestbooleanweb_search nicht festgelegt, entspricht true der Einstellung web_search = "live".feedback.enabledboolean/feedback in allen lokalen Clients aktivieren (Standard: true).file_openervscode | vscode-insiders | windsurf | cursor | nonevscode).forced_chatgpt_workspace_idstring (uuid)forced_login_methodchatgpt | apihide_agent_reasoningbooleancodex exec unterdrücken.history.max_bytesnumberhistory.persistencesave-all | nonehookstableconfig.toml konfigurierte Lifecycle-Hooks. Sie verwenden dasselbe Ereignisschema wie hooks.json. Beispiele und unterstützte Ereignisse findest du im Leitfaden zu Hooks.hooks.<Event>array<table>PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit, Stop oder Interrupt.hooks.<Event>[].hooksarray<table>hooks.<Event>[].hooks[].additionalContextLimitintegeradditionalContext auf dem Datenträger gespeichert werden und dem Modell eine kürzere Vorschau angezeigt wird. Standardwert ist 2500; bei 0 wird der vollständige Kontext direkt an das Modell übergeben. Siehe Große Hook-Ausgaben.hooks.<Event>[].hooks[].asyncbooleanfalse; SessionEnd wird immer synchron ausgeführt. Siehe Hooks im Hintergrund ausführen.hooks.<Event>[].hooks[].commandWindowsstringcommand_windows wird ebenfalls akzeptiert.instructionsstringmodel_instructions_file oder AGENTS.md.log_dirstring (path)$CODEX_HOME/log. Wenn du es explizit festlegst, wird in diesem Verzeichnis auch das optionale TUI-Klartextprotokoll codex-tui.log aktiviert.mcp_oauth_callback_portintegeroauth.callback_port hat Vorrang. Ist keiner der beiden Werte festgelegt, bindet sich Codex an einen vom Betriebssystem gewählten temporären Port.mcp_oauth_callback_urlstringmcp_oauth_credentials_storeauto | file | keyringmcp_optional_startup_grace_msinteger (milliseconds)1000. Setze den Wert auf 0, um stattdessen für jeden Server dessen startup_timeout_sec abzuwarten.mcp_servers.<id>.argsarray<string>mcp_servers.<id>.authoauth | chatgptoauth (Standard) verwendet gespeicherte MCP-OAuth-Anmeldedaten, sofern vorhanden. chatgpt verwendet für den vertrauenswürdigen, ChatGPT-eigenen Origin die aktuelle ChatGPT-Sitzung und greift bei Bedarf auf gespeicherte OAuth-Anmeldedaten zurück. In beiden Modi ist auch eine Verbindung ohne Authentifizierung möglich, wenn keine Quelle Anmeldedaten liefert.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 angewendet wird.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"; verwende source = "remote" nur für stdio, das über einen Executor remote ausgeführt wird.mcp_servers.<id>.experimental_environmentlocal | remoteremote startet stdio-Server über eine Remote-Executor-Umgebung; die Remote-Ausführung von Servern mit Streamable HTTP ist nicht implementiert.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. Konfiguriere für einen direkten Loopback-Callback mit expliziter Portangabe in der URL denselben Listener-Port.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 in Millisekunden.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 werden Threads, die externen Kontext wie MCP-Tool-Aufrufe, Websuche oder Tool-Suche verwenden, von der Erstellung von Erinnerungen ausgeschlossen. Standard: false. Älterer Alias: memories.no_memories_if_mcp_or_web_search.memories.extract_modelstringmemories.generate_memoriesbooleanfalse festgelegt ist, werden neu erstellte Threads nicht als Eingaben für die Generierung von Erinnerungen gespeichert. Standardwert ist true.memories.max_raw_memories_for_consolidationnumber256, begrenzt auf höchstens 4096.memories.max_rollout_age_daysnumber30, begrenzt auf den Bereich von 0 bis 90.memories.max_rollouts_per_startupnumber16, begrenzt auf höchstens 128.memories.max_unused_daysnumber30, begrenzt auf den Bereich von 0 bis 365.memories.min_rate_limit_remaining_percentnumber25, begrenzt auf den Bereich von 0 bis 100.memories.min_rollout_idle_hoursnumber6, begrenzt auf den Bereich von 1 bis 48.memories.use_memoriesbooleanfalse festgelegt ist, bindet Codex vorhandene Erinnerungen nicht in zukünftige Sitzungen ein. Standardwert ist true.modelstringgpt-5.5).model_auto_compact_token_limitnumbermodel_auto_compact_token_limit_scopetotal | body_after_prefixtotal, der Standardwert) oder nur der Zuwachs nach dem übernommenen Präfix des Compaction-Fensters (body_after_prefix) berücksichtigt wird.model_catalog_jsonstring (path)$CODEX_HOME/profile-name.config.toml kann diesen Wert für das jeweilige Profil überschreiben.model_context_windownumbermodel_instructions_filestring (path)AGENTS.md verwendet.model_providerstringmodel_providers (Standard: openai).model_providers.<id>tableopenai, ollama und lmstudio) sind reserviert und können nicht überschrieben werden.model_providers.<id>.authtableenv_key, experimental_bearer_token oder requires_openai_auth verwenden.model_providers.<id>.auth.argsarray<string>model_providers.<id>.auth.commandstringmodel_providers.<id>.auth.cwdstring (path)model_providers.<id>.auth.refresh_interval_msnumber0, um das Token nur nach einem erneuten Authentifizierungsversuch zu aktualisieren.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 ist der einzige unterstützte Wert und wird standardmäßig verwendet, wenn die Angabe fehlt.model_providers.amazon-bedrock.aws.profilestringamazon-bedrock verwendet.model_providers.amazon-bedrock.aws.regionstringamazon-bedrock verwendet.model_reasoning_effortminimal | low | medium | high | xhighxhigh ist modellabhängig).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 (wenn nicht festgelegt, fragt Codex danach).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 oder :workspace an. :danger-full-access, nicht definierte übergeordnete Profile und Zyklen werden abgelehnt.permissions.<name>.filesystemtable:minimal oder :workspace_roots.permissions.<name>.filesystem.":workspace_roots".<subpath-or-glob>"read" | "write" | "deny""." für das Stammverzeichnis selbst; bei Glob-Unterpfaden wie "**/*.env" lässt sich der Lesezugriff mit "deny" verweigern.permissions.<name>.filesystem.<path-or-glob>"read" | "write" | "deny" | table"deny", um den Lesezugriff auf übereinstimmende Pfade zu verweigern.permissions.<name>.filesystem.glob_scan_max_depthnumber1 betragen.permissions.<name>.network.allow_local_bindingbooleanlocalhost können auch dann bestimmte lokale Ziele freigeben, wenn diese Einstellung false bleibt.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 oder aktivierte, von der Administration verwaltete Netzwerkanforderungen den Proxy aktivieren. Unterstützt exakt angegebene Hosts, *.example.com, **.example.com und globale Zulassungsregeln mit *; deny hat Vorrang. Schränkt weder die Websuche noch Apps oder MCP-Server ein.permissions.<name>.network.domains.<pattern>allow | deny*.example.com oder **.example.com fest, ob der Zugriff zugelassen oder verweigert wird.permissions.<name>.network.enable_socks5booleanpermissions.<name>.network.enable_socks5_udpbooleanpermissions.<name>.network.enabledbooleanfeatures.network_proxy oder aktivierte, von der Administration verwaltete Netzwerkanforderungen greifen Befehle direkt auf das Netzwerk zu, und die Domänenregeln des Profils werden nicht durchgesetzt.permissions.<name>.network.modelimited | fullpermissions.<name>.network.proxy_urlstringpermissions.<name>.network.socks_urlstringpermissions.<name>.network.unix_socketstableallow fügt einen Pfad hinzu, deny lehnt ihn ab.permissions.<name>.network.unix_sockets.<path>allow | denyallow einen absoluten Unix-Socket-Pfad zur effektiven Zulassungsliste hinzu oder lehnt ihn mit deny ab. Abgelehnte Einträge werden nicht in die effektive Zulassungsliste aufgenommen.permissions.<name>.workspace_rootstable:workspace_roots gelten.permissions.<name>.workspace_roots.<path>booleantrue einen Pfad in die Menge der Workspace-Stammverzeichnisse des Profils auf. Deaktivierte Einträge bleiben inaktiv.personalitynone | friendly | pragmaticsupportsPersonality signalisieren. Kann für einzelne Threads oder Turns oder über /personality überschrieben werden.plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighplugins.<plugin>.mcp_servers.<server>.default_tools_approval_modeauto | prompt | writes | approveplugins.<plugin>.mcp_servers.<server>.disabled_toolsarray<string>enabled_tools angewendet wird.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 fehlt.project_doc_max_bytesnumberAGENTS.md gelesen werden.project_root_markersarray<string>projects.<path>.trust_levelstring"trusted" | "untrusted"). Bei nicht vertrauenswürdigen Projekten werden projektspezifische Ebenen unter .codex/ übersprungen, darunter projektlokale Konfiguration, Hooks und Regeln.review_modelstring/review (standardmäßig wird das Modell der aktuellen Sitzung verwendet).sandbox_moderead-only | workspace-write | danger-full-accesssandbox_workspace_write.exclude_slash_tmpboolean/tmp im workspace-write-Modus aus den Stammverzeichnissen mit Schreibzugriff ausschließen.sandbox_workspace_write.exclude_tmpdir_env_varboolean$TMPDIR im workspace-write-Modus aus den Stammverzeichnissen mit Schreibzugriff ausschließen.sandbox_workspace_write.network_accessbooleansandbox_workspace_write.writable_rootsarray<string>sandbox_mode = "workspace-write".service_tierstringfast oder eine andere vom aktiven Modell angebotene Stufe; fast wird dem Anfragewert priority zugeordnet.shell_environment_policy.excludearray<string>shell_environment_policy.filters. Kombiniere nicht beide Formen in derselben Konfigurationsebene.shell_environment_policy.experimental_use_profilebooleanshell_environment_policy.filtersmap<string, include | exclude>set-Werte werden nach den Ausschlüssen angewendet. Kombiniere Filter nicht mit älteren exclude- oder include_only-Arrays in derselben Konfigurationsebene.shell_environment_policy.ignore_default_excludesbooleanshell_environment_policy.include_onlyarray<string>shell_environment_policy.filters. Kombiniere nicht beide Formen in derselben Konfigurationsebene.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 enthält.skills.max_context_tokensinteger (positive)10000 Token begrenzt.sqlite_homestring (path)suppress_unstable_features_warningbooleantool_output_token_limitnumbertool_suggest.disabled_toolsarray<table>type = "connector" oder "plugin" und eine id.tool_suggest.discoverablesarray<table>type = "connector" oder "plugin" und eine id.tools.view_imagebooleanview_image zum Anhängen lokaler Bilder.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 und approval. Bestimmte Aktionen im Editor greifen ersatzweise auf passende Belegungen in tui.keymap.global zurück. Kontextspezifische Belegungen haben Vorrang, wenn sie unterstützt werden.tui.keymap.<context>.<action> = []empty arrayctrl-a, shift-enter, page-down oder minus angegeben.tui.model_availability_nux.<model>integertui.notification_conditionunfocused | alwaysunfocused.tui.notification_methodauto | osc9 | beltui.notificationsboolean | array<string>tui.raw_output_modeboolean/raw oder der Standard-Tastenkombination alt-r umschalten.tui.resume_cwdcurrent | sessiontui.show_tooltipsbooleantui.status_linearray<string> | nullnull deaktiviert die Statuszeile.tui.terminal_titlearray<string> | null["spinner", "project"]; null deaktiviert Titelaktualisierungen.tui.themestringtui.vim_mode_defaultboolean/vim umschalten.web_searchdisabled | cached | indexed | live"cached"; cached verwendet einen von OpenAI gepflegten Index ohne externen Webzugriff; indexed erlaubt externen Zugriff nur, wenn der Suchindex ihn freigibt; bei Verwendung von --yolo oder einer anderen Sandbox-Einstellung mit Vollzugriff ist "live" der Standard). Verwende "live" für uneingeschränkten Live-Abruf oder "disabled", um das Tool zu entfernen.windows_wsl_setup_acknowledgedbooleanwindows.sandboxunelevated | elevatedwindows.sandbox_private_desktopbooleanfalse, wenn du Kompatibilität mit dem älteren Verhalten von Winsta0\\Default benötigst.Das aktuelle JSON-Schema für config.toml findest du hier.
Für Autovervollständigung und Diagnosehinweise beim Bearbeiten von config.toml in VS Code oder Cursor kannst du die Erweiterung Even Better TOML installieren und diese Zeile am Anfang deiner config.toml einfügen:
#:schema https://developers.openai.com/codex/config-schema.json
Hinweis: Benenne experimental_instructions_file in model_instructions_file um. Der alte Schlüssel gilt in Codex als veraltet. Stelle bestehende Konfigurationen auf den neuen Namen um.
requirements.toml
requirements.toml ist eine von der Administration verbindlich vorgegebene Konfigurationsdatei. Sie schränkt sicherheitsrelevante Einstellungen ein, die Nutzende nicht überschreiben können. Details, Speicherorte und Beispiele findest du unter Von der Administration durchgesetzte Anforderungen.
Für Nutzende von ChatGPT Business und ChatGPT Enterprise kann Codex auch Anforderungen anwenden, die aus der Cloud abgerufen werden. Details zur Rangfolge findest du auf der Seite zur Sicherheit.
Verwende [features] in requirements.toml, um Feature-Flags für die Laufzeit mit denselben
kanonischen Schlüsseln wie in config.toml verbindlich festzulegen. Anforderungen können auch dokumentierte
Schlüssel enthalten, die nur für die App gelten und nicht in config.toml gehören. Für ausgelassene Schlüssel
gelten keine Einschränkungen.
Einige verwaltete Anforderungen schreiben einen exakten Konfigurationswert vor, statt eine Zulassungsliste zu verwenden. Nutzende können verbindlich vorgegebene Pfade, Update-Einstellungen, Richtlinien für Login-Shells, Feedback-Einstellungen oder Einstellungen für den privaten Desktop unter Windows nicht überschreiben.
Verwaltete Zulassungslisten für Berechtigungsprofile erfordern Codex 0.138.0 oder höher. Codex
0.137.0 und frühere Versionen ignorieren allowed_permission_profiles und verwaltete
default_permissions.
Verwende allowed_sandbox_modes zusammen mit sandbox_mode. Wenn du Berechtigungsprofile
einsetzt, verwende allowed_permission_profiles zusammen mit verwalteten
default_permissions.
Die Tabelle [models.new_thread] liefert verwaltete Standardwerte, erzwingt sie aber nicht.
Explizite Einstellungen beim Start über eigene CLI-Flags oder Überschreibungen mit --config
haben Vorrang. Wird das Modell oder der Reasoning-Aufwand explizit überschrieben, werden beide verwalteten
Modellfelder übersprungen. service_tier ist davon unabhängig.
Die Browser-Anforderungen decken drei separate Bereiche ab. in_app_browser
steuert den Browser-Bereich, den eine Person selbst öffnet und bedient. browser_use
steuert die Arbeit von Agenten in einem Browser. computer_use steuert die Arbeit
von Agenten in nativen Desktop-Apps.
Die verschachtelten Richtlinienwerte für Browser und Computernutzung gewähren für sich genommen
keinen Zugriff. Ein origin- oder appspezifisches allow kann den Rückfallwert
derselben Richtlinienquelle überschreiben. Die üblichen Prüfungen für Funktionen, Genehmigungen und andere Richtlinien
gelten jedoch weiterhin. Wenn sowohl verwaltete Anforderungen als auch config.toml gelten, hat ein deny
aus einer der beiden Quellen Vorrang.
| Key | Type / Values | Details |
|---|---|---|
allow_appshots | boolean | Setze den Wert auf false, um Appshots für Personen mit verwalteten Konten zu deaktivieren. Ohne diese Angabe werden Appshots nicht durch Anforderungen eingeschränkt und unterliegen der normalen Produktverfügbarkeit. |
allow_browser_and_computer_use | boolean | Setze den Wert auf false, um sowohl die agentengesteuerte Funktion „Browser“ als auch die Computernutzung in nativen Apps zu blockieren. Der Wert true oder das Weglassen der Einstellung aktiviert keine der beiden Funktionen. Die übrigen Prüfungen zu Funktionen, Richtlinien und Genehmigungen gelten weiterhin. |
allow_login_shell | boolean | Legt verbindlich fest, ob Shell-Tools eine Login-Shell starten dürfen. |
allow_managed_hooks_only | boolean | Bei true überspringt Codex Hooks auf Benutzer-, Projekt- und Sitzungsebene sowie Plug-in-Hooks. Zentral verwaltete Hooks aus requirements.toml und anderen verwalteten Konfigurationsebenen bleiben erlaubt. |
allow_remote_control | boolean | Setze den Wert auf false, um die Fernsteuerung von Geräten für Personen mit verwalteten Konten zu deaktivieren. Ohne diese Angabe wird die Fernsteuerung von Geräten nicht durch Anforderungen eingeschränkt und unterliegt der normalen Produktverfügbarkeit. |
allowed_approval_policies | array<string> | Zulässige Werte für approval_policy (zum Beispiel untrusted, on-request, never und granular). |
allowed_approvals_reviewers | array<string> | Zulässige Werte für approvals_reviewer, etwa user und auto_review. |
allowed_chatgpt_workspaces | array<string> | Beschränkt die ChatGPT-Anmeldung einschließlich Codex-Zugriffstoken auf die aufgeführten Workspace-IDs. Eine leere Liste deaktiviert die ChatGPT-Anmeldung; die API-Authentifizierung bleibt verfügbar, sofern sie zulässig ist. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt; in der Cloud verwaltete Werte werden ignoriert. |
allowed_login_methods | array<string> | Erlaubt chatgpt, api oder beides. Wird diese Einstellung ausgelassen, schränkt sie die Anmeldemethoden nicht ein. Wird sie angegeben, muss die Liste mindestens eine Methode enthalten. api erlaubt die API-Authentifizierung einschließlich Amazon Bedrock. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt. In der Cloud verwaltete Werte werden ignoriert. |
allowed_permission_profiles | table<boolean> | Vollständige Liste der zulässigen Berechtigungsprofile. Profile mit dem Wert true sind erlaubt. Nicht aufgeführte Profile und Profile mit dem Wert false sind gesperrt, einschließlich Profilen, die in zukünftigen Versionen hinzukommen. Beim Zusammenführen von Anforderungsquellen werden Einträge anhand des Profilnamens zugeordnet. |
allowed_permission_profiles.<name> | boolean | Ein integriertes oder benutzerdefiniertes Berechtigungsprofil erlauben oder sperren, das in einer geladenen Konfiguration oder Anforderungsquelle definiert ist. Eine spätere Anforderungsquelle mit höherer Priorität kann mit false ein Profil deaktivieren, das eine frühere Quelle mit niedrigerer Priorität erlaubt hat. |
allowed_sandbox_modes | array<string> | Zulässige Werte für sandbox_mode. |
allowed_web_search_modes | array<string> | Zulässige Werte für web_search (disabled, cached, indexed, live). disabled ist immer erlaubt. Eine leere Liste erlaubt daher effektiv nur disabled. |
apps | table | Verwaltete App-Vorgaben mit der App-Kennung als Schlüssel. Vorgaben können eine App deaktivieren oder das Genehmigungsverhalten für einzelne Tools einschränken. |
apps.<id>.enabled | boolean | Setze den Wert auf false, um eine App zu deaktivieren. Eine Vorgabe zur Deaktivierung bleibt auch beim Zusammenführen mehrerer Vorgabenquellen als Einschränkung wirksam. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Lege den verwalteten Genehmigungsmodus für ein einzelnes App-Tool fest. |
browser_use | table | Zentral verwaltete Anforderungen an die agentengesteuerte Funktion „Browser“. |
browser_use.allow_global_persistent_approval | boolean | Setze den Wert auf false, um zu verhindern, dass die Funktion „Browser“ Genehmigungen vom Typ Always allow erstellt oder berücksichtigt, die für alle Websites gelten, etwa für Downloads von beliebigen Websites. Bereits gespeicherte Genehmigungen werden ignoriert, aber nicht gelöscht. Der Wert true oder das Weglassen der Einstellung erstellt keine Genehmigung. |
browser_use.allow_history_access | boolean | Setze den Wert auf false, um zu verhindern, dass die Funktion „Browser“ den Browserverlauf liest. Bei true oder ohne diese Angabe gelten weiterhin die normalen Verlaufseinstellungen und Verfügbarkeitsprüfungen. |
browser_use.default_origin_policy | table | Rückfallwert für jede Einstellung der Funktion „Browser“, wenn kein passender Eintrag unter browser_use.origins sie definiert. Eine passende Origin-Regel ersetzt den Rückfallwert für diese Quelle. Anschließend wendet Codex das strengere Ergebnis aus zentral verwalteten Anforderungen und Benutzerkonfiguration an. |
browser_use.default_origin_policy.access | allow | deny | Verwende deny, um die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. Eine gesperrte Origin blockiert dort auch Uploads, Downloads, vollständigen Zugriff auf Browser-Debugging und die automatische Überprüfung. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
browser_use.default_origin_policy.access_approval_lifetime | turn | thread | Lege fest, wie lange eine nicht dauerhaft gespeicherte Genehmigung für den Websitezugriff gilt: turn beschränkt sie auf den aktuellen Turn, thread erhält sie für den Rest des aktuellen Threads. persistent_approval steuert separat, ob Always allow verfügbar ist. Der Produktstandard ist thread. |
browser_use.default_origin_policy.auto_review | allow | deny | Verwende deny, um die automatische Überprüfung für Origins zu überspringen, für die der Rückfallwert gilt, und stattdessen die nutzende Person um Genehmigung zu bitten. Bei allow bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen. |
browser_use.default_origin_policy.downloads | allow | deny | Verwende deny, um Downloads über die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
browser_use.default_origin_policy.full_cdp_access | allow | deny | Verwende deny, um den vollständigen Zugriff über das Chrome DevTools Protocol (CDP) für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Prüfungen auf ausdrückliche Aktivierung und Genehmigung fortfahren. |
browser_use.default_origin_policy.persistent_approval | boolean | Setze den Wert auf false, um zu verhindern, dass die Funktion „Browser“ eine Genehmigung vom Typ Always allow für Origins speichert oder berücksichtigt, für die der Rückfallwert gilt. Genehmigungen für den aktuellen Turn oder Thread können weiterhin gelten. true macht Always allow verfügbar, sofern es ansonsten zulässig ist, erstellt aber keine Genehmigung. |
browser_use.default_origin_policy.uploads | allow | deny | Verwende deny, um Uploads über die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
browser_use.disable_auto_review | boolean | Setze den Wert auf true, um die automatische Überprüfung für die Funktion „Browser“ zu überspringen und stattdessen die nutzende Person um Genehmigung zu bitten. Bei false oder ohne diese Angabe bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen. |
browser_use.origins | map<string, table> | Origin-spezifische Richtlinien für die Funktion „Browser“. Schlüssel verwenden <scheme>://<host-pattern>[:<port>] mit http oder https. Verwende einen exakten Host, *.example.com nur für Subdomains oder **.example.com für die Basisdomain und ihre Subdomains. Andere *-Platzhalter können auch Punkte abdecken. Daher passt region*.example.com auch auf region.api.example.com. Ein Hostwert von * passt auf jeden Host mit diesem Schema. Schemas und vom Standard abweichende Ports werden beim Abgleich berücksichtigt. Explizite Standardports werden bei der Normalisierung entfernt. Pfade, Abfrageparameter, eingebettete Benutzernamen oder Passwörter sowie Platzhalter in Schemas oder Ports sind ungültig. Setze das Muster in TOML in Anführungszeichen, zum Beispiel [browser_use.origins."https://**.example.com"]. |
browser_use.origins.<pattern> | table | Richtlinie für Origins, die diesem Muster entsprechen. Wenn mehrere Muster passen, verwendet Codex für jede Funktion den restriktivsten Wert: deny vor allow, false vor true und turn vor thread. |
browser_use.origins.<pattern>.access | allow | deny | Verwende deny, um die Funktion „Browser“ für passende Origins zu blockieren. Die Sperre blockiert dort auch Uploads, Downloads, vollständigen Zugriff auf Browser-Debugging und die automatische Überprüfung. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
browser_use.origins.<pattern>.access_approval_lifetime | turn | thread | Lege fest, wie lange eine nicht dauerhaft gespeicherte Genehmigung für den Websitezugriff auf passende Ursprünge gilt: turn beschränkt sie auf den aktuellen Turn, thread erhält sie für den Rest des aktuellen Threads. persistent_approval steuert unabhängig davon, ob Always allow verfügbar ist. |
browser_use.origins.<pattern>.auto_review | allow | deny | Verwende deny, um die automatische Überprüfung für passende Ursprünge zu überspringen und stattdessen die nutzende Person um Genehmigung zu bitten. Mit allow bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen. |
browser_use.origins.<pattern>.downloads | allow | deny | Verwende deny, um Downloads über die Funktion „Browser“ für passende Origins zu blockieren. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
browser_use.origins.<pattern>.full_cdp_access | allow | deny | Verwende deny, um den vollständigen Zugriff über das Chrome DevTools Protocol (CDP) für passende Origins zu blockieren. allow lässt lediglich die normalen Prüfungen auf ausdrückliche Aktivierung und Genehmigung fortfahren. |
browser_use.origins.<pattern>.persistent_approval | boolean | Setze den Wert auf false, um zu verhindern, dass die Browser-Funktion eine Genehmigung vom Typ Always allow für passende Ursprünge speichert oder berücksichtigt. Genehmigungen für den aktuellen Turn oder Thread können weiterhin gelten. true macht Always allow verfügbar, sofern ansonsten zulässig, erteilt aber keine Genehmigung. |
browser_use.origins.<pattern>.uploads | allow | deny | Verwende deny, um Uploads über die Funktion „Browser“ für passende Origins zu blockieren. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. |
chatgpt_base_url | string | Legt die Basis-URL des ChatGPT-Dienstes vor der Authentifizierung und dem Abruf der Cloud-Richtlinien verbindlich fest. Dadurch werden nicht alle Netzwerkziele von Codex konfiguriert. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt; in der Cloud verwaltete Werte werden ignoriert. |
check_for_update_on_startup | boolean | Legt verbindlich fest, ob Codex beim Start nach Updates sucht. |
cli_auth_credentials_store | file | keyring | auto | ephemeral | Legt den Anmeldedatenspeicher der CLI verbindlich fest, bevor die Authentifizierung geladen wird. file verwendet CODEX_HOME/auth.json; keyring erfordert den Anmeldedatenspeicher des Betriebssystems; auto greift auf eine Datei zurück, wenn der Anmeldedatenspeicher nicht verfügbar ist; ephemeral hält Anmeldedaten für den aktuellen Prozess im Arbeitsspeicher. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt; in der Cloud verwaltete Werte werden ignoriert. |
computer_use | table | Verwaltete Vorgaben für die Arbeit von Agenten in nativen Desktop-Apps. Sowohl verwaltete App-Regeln als auch App-Regeln aus config.toml werden durchgesetzt. Jede Richtlinienquelle muss die App zulassen. |
computer_use.allow_locked_computer_use | boolean | Setze den Wert auf false, um zu verhindern, dass Nutzende die Nutzung im gesperrten Zustand auf einem verwalteten macOS-Gerät aktivieren. Diese Vorgabe entfernt die Bedienelemente zur Aktivierung. Sie deaktiviert die Nutzung im gesperrten Zustand jedoch nicht, wenn diese bereits aktiviert ist. Ohne diese Angabe gilt die normale Produktverfügbarkeit. |
computer_use.allow_persistent_approval | boolean | Setze den Wert auf false, um die Möglichkeit zu entfernen, App-Genehmigungen sitzungsübergreifend zu speichern. Genehmigungen für die aktuelle Sitzung bleiben verfügbar. Der Wert true oder das Weglassen der Einstellung erteilt keine Genehmigung für eine App. |
computer_use.default_app_access | allow | deny | Ersatzregel für den Zugriff auf native Apps, auf die keine plattformspezifische Regel zutrifft. deny blockiert den Zugriff. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. Der Standardwert des Produkts ist allow. |
computer_use.macos | table | App-Regeln für die Computernutzung unter macOS. |
computer_use.macos.bundle_ids | map<string, allow | deny> | Ordne exakten macOS-Bundle-Kennungen allow oder deny zu. Eine passende Regel ersetzt computer_use.default_app_access innerhalb derselben Richtlinienquelle. Eine Verweigerung in den verwalteten Vorgaben oder in der Benutzerkonfiguration blockiert den Zugriff weiterhin. |
computer_use.macos.bundle_ids.<bundle-id> | allow | deny | Verwende deny, um die exakte Bundle-Kennung zu blockieren. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen. |
computer_use.windows | table | App-Regeln für die Computernutzung mit paketierten und nicht paketierten Windows-Apps. |
computer_use.windows.aumids | map<string, allow | deny> | Ordne exakten, registrierten Application User Model IDs (AUMIDs) signierter paketierter Apps allow oder deny zu. Eine passende Regel ersetzt computer_use.default_app_access innerhalb derselben Richtlinienquelle. |
computer_use.windows.aumids.<aumid> | allow | deny | Verwende deny, um die exakte Identität der paketierten App zu blockieren. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen. |
computer_use.windows.exes | array<table> | Regeln für signierte, nicht paketierte ausführbare Windows-Dateien. Die Regeln gleichen den verifizierten Herausgeber und die signierten Versionsinformationen der ausführbaren Datei ab, nicht ihren Pfad oder aktuellen Dateinamen. Eine passende Verweigerungsregel hat Vorrang vor passenden Zulassungsregeln. Für nicht signierte ausführbare Dateien gilt computer_use.default_app_access. Ausführbare Dateien, deren signierte Identität sich nicht eindeutig verifizieren lässt, werden blockiert. |
computer_use.windows.exes[].access | allow | deny | Erforderliche Zugriffsentscheidung für passende ausführbare Dateien. deny blockiert den Zugriff. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen. |
computer_use.windows.exes[].binary_name | string | Optionaler OriginalFilename aus den signierten Versionsinformationen der ausführbaren Datei. Beim Abgleich wird die Groß- und Kleinschreibung ignoriert. Wenn eine auf Herausgeber und Produkt passende Regel diesen Wert erfordert, die ausführbare Datei ihn jedoch nicht bereitstellt, blockiert die Computernutzung die ausführbare Datei. |
computer_use.windows.exes[].product_name | string | Erforderlicher exakter ProductName aus den signierten Versionsinformationen der ausführbaren Datei. |
computer_use.windows.exes[].publisher_name | string | Erforderlicher exakter Herausgebername aus dem vertrauenswürdigen Signaturzertifikat der ausführbaren Datei, formatiert als Windows-X.500-Distinguished-Name. |
default_permissions | string | Zentral verwaltetes Standardberechtigungsprofil. Das Profil muss durch allowed_permission_profiles erlaubt sein. Lege es ausdrücklich fest, um ein vorhersehbares Verhalten zu gewährleisten. Ohne diese Angabe verwendet Codex nur dann :workspace als Standard, wenn sowohl :workspace als auch :read-only ausdrücklich erlaubt sind. |
enforce_residency | string | Für den Datenverkehr mit Codex-Diensten eine unterstützte Datenresidenz vorschreiben. Derzeit wird us akzeptiert. |
experimental_network | table | Administrativ verwaltete Netzwerkvorgaben für lokale Befehle in der Sandbox, die aus requirements.toml durchgesetzt werden. Wenn diese Vorgaben aktiviert sind, können sie den Netzwerkproxy für Befehle ohne features.network_proxy starten. Browser-Tools prüfen verwaltete Netzwerkverbote und exklusive Zulassungslisten separat. Diese Vorgaben leiten den Browserverkehr nicht durch den Proxy und steuern weder die Websuche noch Apps, MCP-Server, den Datenverkehr nativer Apps oder den Netzwerkzugriff von Codex Cloud. |
experimental_network.allow_local_binding | boolean | Erlaube der Sandbox einen umfassenderen Zugriff auf lokale und private Netzwerke. Zulassungsregeln für exakte lokale IP-Adressen oder localhost können weiterhin bestimmte lokale Ziele erlauben, auch wenn dieser Wert auf false bleibt. |
experimental_network.allow_upstream_proxy | boolean | Erlaube, den Netzwerkverkehr der Sandbox über einen in der Umgebung festgelegten vorgeschalteten Proxy weiterzuleiten. |
experimental_network.allowed_domains | array<string> | Administrative Zulassungsregeln für den Netzwerkzugriff von Befehlen in der Sandbox, solange der verwaltete Netzwerkproxy aktiviert ist. Diese Regeln gelten nicht für die Websuche, Apps oder MCP-Server. Kombiniere diese Einstellung nicht mit experimental_network.domains. |
experimental_network.dangerously_allow_all_unix_sockets | boolean | Erlaube beliebige Unix-Socket-Ziele statt ausschließlich der Ziele auf der Zulassungsliste. Verwende diese Einstellung nur in streng kontrollierten Umgebungen. |
experimental_network.dangerously_allow_non_loopback_proxy | boolean | Erlaube für Vorgaben unter [experimental_network] Listener-Adressen außerhalb von Loopback. Wenn diese Einstellung aktiviert ist, können Listener auch außerhalb von localhost erreichbar sein. |
experimental_network.denied_domains | array<string> | Administrative Verweigerungsregeln in Listenform für den Netzwerkzugriff der Sandbox. Kombiniere diese Einstellung nicht mit experimental_network.domains. |
experimental_network.domains | map<string, allow | deny> | Administrative Domainrichtlinie in Form einer Schlüssel-Wert-Zuordnung für den Netzwerkzugriff der Sandbox. Unterstützt exakte Hosts, *.example.com nur für Subdomains, **.example.com für die Hauptdomain und ihre Subdomains sowie globale *-Zulassungsregeln. Bevorzuge Regeln mit begrenztem Geltungsbereich, da * ausgehenden Zugriff auf öffentliche Ziele umfassend erlaubt. Bei Konflikten hat deny Vorrang. Kombiniere diese Einstellung nicht mit experimental_network.allowed_domains oder experimental_network.denied_domains. |
experimental_network.enabled | boolean | Aktiviere Netzwerkvorgaben für die Sandbox. Dadurch wird kein Netzwerkzugriff gewährt, wenn die aktive Sandbox den Netzwerkzugriff für Befehle deaktiviert hält. |
experimental_network.http_port | integer | Port des HTTP-Listeners an der Loopback-Adresse für Vorgaben unter [experimental_network]. |
experimental_network.managed_allowed_domains_only | boolean | Bei true bleiben nur administrativ verwaltete Zulassungsregeln wirksam, solange die Netzwerkvorgaben für die Sandbox aktiv sind. Ergänzungen der Zulassungsliste durch Nutzende werden ignoriert. Auch ohne verwaltete Zulassungsregeln bleiben von Nutzenden hinzugefügte Domain-Zulassungsregeln nicht wirksam. |
experimental_network.socks_port | integer | Port des SOCKS5-Listeners an der Loopback-Adresse für Vorgaben unter [experimental_network]. |
experimental_network.unix_sockets | map<string, allow | deny> | Administrativ verwaltete Unix-Socket-Richtlinie für den Netzwerkzugriff der Sandbox. |
features | table | Verbindlich festgelegte Funktionswerte. Verwende für Laufzeitfunktionen die kanonischen Namen aus config.toml. Dokumentierte Anforderungsschlüssel, die nur für die App gelten, werden hier ebenfalls unterstützt. |
features.<name> | boolean | Vorschreiben, dass eine dokumentierte Laufzeit- oder App-Funktion aktiviert oder deaktiviert bleibt. |
features.apps | boolean | Verbindlich festlegen, ob die Apps-Integration für Personen mit verwalteten Konten verfügbar ist. |
features.browser_use | boolean | Setze den Wert in requirements.toml auf false, um die agentengesteuerte Funktion „Browser“ zu deaktivieren. |
features.browser_use_external | boolean | Setze den Wert in requirements.toml auf false, um zu verhindern, dass Codex unterstützte Browser über die ChatGPT-Browsererweiterung bedient. Das schließt bestehende Tabs und angemeldete Sitzungen ein. |
features.browser_use_full_cdp_access | boolean | Setze den Wert in requirements.toml auf false, um den vollständigen Zugriff über das Chrome DevTools Protocol in der lokalen Laufzeit einschließlich des Browser-Entwicklermodus zu deaktivieren und zu verhindern, dass die ChatGPT-Desktop-App die entsprechende Einstellung aktiviert. Ohne diese Angabe gilt die normale Produktverfügbarkeit. |
features.computer_use | boolean | Setze den Wert in requirements.toml auf false, um Computernutzung, Aufzeichnen und Wiedergeben sowie die zugehörigen Installations- und Aktivierungsabläufe zu deaktivieren. |
features.fast_mode | boolean | Verbindlich festlegen, ob die kanonische Funktion fast_mode für Personen mit verwalteten Konten aktiviert oder deaktiviert ist. |
features.guardian_approval | boolean | Verbindlich festlegen, ob Genehmigungen durch Guardian für Personen mit verwalteten Konten verfügbar sind. |
features.in_app_browser | boolean | Setze den Wert in requirements.toml auf false, um den integrierten Browserbereich zu deaktivieren, den Nutzende selbst öffnen und direkt steuern. |
features.in_app_updates | boolean | Setze den Wert in requirements.toml auf false, um Updates innerhalb der App zu deaktivieren. Ohne diese Anforderung bleiben Updates standardmäßig aktiviert. |
features.memories | boolean | Verbindlich festlegen, ob Erinnerungen für Personen mit verwalteten Konten verfügbar sind. |
features.multi_agent | boolean | Verbindlich festlegen, ob Funktionen für mehrere Agenten für Personen mit verwalteten Konten verfügbar sind. |
features.plugin_sharing | boolean | Setze den Wert in der cloudverwalteten requirements.toml auf false, um das Teilen lokal entwickelter Plug-ins im Workspace zu deaktivieren. |
features.plugins | boolean | Verbindlich festlegen, ob Plug-ins für Personen mit verwalteten Konten verfügbar sind. |
features.remote_plugin | boolean | Verbindlich festlegen, ob der Remote-Katalog für Plug-ins für Personen mit verwalteten Konten verfügbar ist. |
features.workspace_dependencies | boolean | Verbindlich festlegen, ob die mitgelieferte Laufzeit für Workspace-Abhängigkeiten für Personen mit verwalteten Konten verfügbar ist. |
feedback | table | Verwaltete Feedback-Einstellungen. |
feedback.enabled | boolean | Verbindlich festlegen, ob Nutzende über die Codex-Clients Feedback senden können. |
guardian_policy_config | string | Zentral verwaltete Richtlinienanweisungen in Markdown für die automatische Überprüfung. Diese haben Vorrang vor der lokalen Einstellung [auto_review].policy. Leere Werte werden ignoriert. |
hooks | table | Administrativ durchgesetzte, verwaltete Lebenszyklus-Hooks. Erfordert ein verwaltetes Hook-Verzeichnis und verwendet dasselbe Ereignisschema wie direkt in config.toml definierte [hooks]. |
hooks.<Event> | array<table> | Matcher-Gruppen für ein Hook-Ereignis wie PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit oder Stop. |
hooks.<Event>[].hooks | array<table> | Hook-Handler für eine Matcher-Gruppe. Befehls- und MCP-Tool-Hooks werden unterstützt. Prompt- und Agenten-Hook-Handler werden geparst, aber übersprungen. |
hooks.<Event>[].hooks[].additionalContextLimit | integer | Ungefährer Token-Schwellenwert pro Handler, ab dem übergroßer additionalContext auf dem Datenträger gespeichert und dem Modell eine kürzere Vorschau gezeigt wird. Der Standardwert ist 2500; 0 übergibt den vollständigen Kontext direkt an das Modell. Siehe Große Hook-Ausgaben. |
hooks.<Event>[].hooks[].async | boolean | Führe einen Befehls-Hook im Hintergrund aus, ohne den auslösenden Vorgang zu verzögern. Der Standardwert ist false; SessionEnd wird immer synchron ausgeführt. Siehe Hooks im Hintergrund ausführen. |
hooks.<Event>[].hooks[].commandWindows | string | Abweichender Befehl für Befehls-Hooks, der nur unter Windows gilt. Der TOML-Alias command_windows wird ebenfalls akzeptiert. |
hooks.managed_dir | string (absolute path) | Verzeichnis mit verwalteten Hook-Skripten unter macOS und Linux. Vor dem Laden verwalteter Hooks prüft Codex, ob der Pfad absolut ist und das Verzeichnis existiert. |
hooks.windows_managed_dir | string (absolute path) | Verzeichnis mit verwalteten Hook-Skripten unter Windows. Vor dem Laden verwalteter Hooks prüft Codex, ob der Pfad absolut ist und das Verzeichnis existiert. |
in_app_browser | table | Anforderungen an den integrierten Browserbereich. Diese Einstellungen steuern nicht die agentengesteuerte Funktion „Browser“. |
in_app_browser.allow_external_browser_settings_import | boolean | Setze den Wert auf false, um zu verhindern, dass Nutzende Einstellungen oder Browserdaten aus einem externen Browser in den integrierten Browser importieren. Bei true oder ohne diese Angabe bleibt der Import verfügbar, sofern andere Produktprüfungen ihn zulassen. Diese Einstellung kann nur zentral verwaltet und nicht über config.toml überschrieben werden. |
log_dir | string (path) | Legt verbindlich das Verzeichnis fest, in das Codex lokale Protokolldateien schreibt. |
marketplaces | table | Administrative Vorgaben für Quellen von Plug-in-Marketplaces. Die Regeln greifen, wenn restrict_to_allowed_sources auf true gesetzt ist. |
marketplaces.allowed_sources | table | Zulässige Marketplace-Quellen, deren Schlüssel administrativ festgelegte Regelnamen sind. Unterschiedliche Namen werden über die Vorgabenebenen hinweg zusammengeführt; für Felder unter demselben Namen gilt die übliche Rangfolge der Ebenen. |
marketplaces.allowed_sources.<name> | table | Eine Regel für eine zulässige Quelle. Der endgültige Wert von source nach dem Zusammenführen der Vorgaben bestimmt, welche Felder auf derselben Ebene Codex interpretiert. |
marketplaces.allowed_sources.<name>.host_pattern | string | Regulärer Ausdruck, erforderlich bei source = "host_pattern". Codex gleicht ihn mit dem in Kleinbuchstaben umgewandelten Hostnamen ab, der aus einer Git-Quelle im HTTPS-, SSH- oder SCP-Stil ausgelesen wird. Verwende ^ und $, um eine Übereinstimmung mit dem gesamten Hostnamen zu verlangen. |
marketplaces.allowed_sources.<name>.path | string (absolute path) | Lokales Marketplace-Verzeichnis, erforderlich bei source = "local". Codex verlangt einen absoluten Pfad und vergleicht die Pfade nach der Normalisierung. |
marketplaces.allowed_sources.<name>.ref | string | Optionale exakte Git-Ref für eine git-Regel. Ohne diese Angabe erlaubt die Regel jede Ref für das passende Repository. |
marketplaces.allowed_sources.<name>.source | git | host_pattern | local | Abgleichstyp für Marketplace-Quellen. Verwende git für ein einzelnes Repository, host_pattern für Git-Hosts, die anhand eines regulären Ausdrucks abgeglichen werden, oder local für ein einzelnes Verzeichnis. |
marketplaces.allowed_sources.<name>.url | string | URL des Git-Repositorys, erforderlich bei source = "git". Codex normalisiert die konfigurierten und zulässigen URLs und verlangt anschließend eine exakte Übereinstimmung des Repositorys. |
marketplaces.restrict_to_allowed_sources | boolean | Bei true müssen benutzerseitig konfigurierte Marketplace-Quellen mit allowed_sources übereinstimmen, wenn ein Marketplace hinzugefügt, ein Plug-in installiert oder ein konfigurierter Git-Marketplace aktualisiert wird. Von Codex verwaltete OpenAI-Marketplaces bleiben zulässig, wenn ihre reservierte Quelle und ihr reservierter Name übereinstimmen. Bereits benutzerseitig konfigurierte Marketplaces werden dadurch zur Laufzeit nicht gefiltert. |
mcp_servers | table | Zulassungsliste der MCP-Server, die aktiviert werden dürfen. Sowohl der Servername ( <id>) als auch die Identität müssen übereinstimmen, damit der MCP-Server aktiviert werden kann. Jeder konfigurierte MCP-Server, der nicht auf der Zulassungsliste steht oder dessen Identität nicht übereinstimmt, wird deaktiviert. |
mcp_servers.<id>.identity | table | Identitätsregel für einen einzelnen MCP-Server. Lege entweder command (stdio) oder url (streamable HTTP) fest. |
mcp_servers.<id>.identity.command | string | table | Erlaube einen MCP-stdio-Server anhand einer exakten Befehlszeichenfolge oder verwende eine Matcher-Tabelle, um eine exakte ausführbare Datei und geordnete Argument-Matcher vorzuschreiben. Die Zeichenfolgenform prüft weder Argumente noch cwd, env oder env_vars. |
mcp_servers.<id>.identity.command.args | array<table> | Geordnete Argument-Matcher für einen stdio-Server. Die konfigurierte Argumentliste muss dieselbe Länge haben, und an jeder Position muss eine Übereinstimmung vorliegen. Befehls-Matcher prüfen weder cwd noch env oder env_vars. |
mcp_servers.<id>.identity.command.args[].expression | string | Regulärer Ausdruck, den ein Argument-Matcher vom Typ regex verwendet. Der Ausdruck muss gültig sein und mit dem vollständigen Argumentwert übereinstimmen. |
mcp_servers.<id>.identity.command.args[].match | exact | prefix | regex | Abgleichsoperation für diese Argumentposition. |
mcp_servers.<id>.identity.command.args[].value | string | Wert, den ein Argument-Matcher vom Typ exact oder prefix verwendet. |
mcp_servers.<id>.identity.command.executable | string | Ausführbare Datei, mit der der konfigurierte command des stdio-Servers exakt übereinstimmen muss. |
mcp_servers.<id>.identity.url | string | table | Erlaube einen MCP-Server mit streamable HTTP anhand einer exakten URL-Zeichenfolge oder verwende eine Tabelle für einen Wert-Matcher vom Typ exact, prefix oder regex. |
mcp_servers.<id>.identity.url.expression | string | Regulärer Ausdruck, den ein URL-Matcher vom Typ regex verwendet. Der Ausdruck muss gültig sein und mit dem vollständigen URL-Wert übereinstimmen. |
mcp_servers.<id>.identity.url.match | exact | prefix | regex | Abgleichsoperation für die konfigurierte MCP-Server-URL. |
mcp_servers.<id>.identity.url.value | string | Wert, den ein URL-Matcher vom Typ exact oder prefix verwendet. |
model_catalog_json | string (path) | Legt verbindlich den JSON-Modellkatalog fest, den Codex beim Start verwendet. |
models | table | Zentral verwaltete Modellvorgaben für neue Threads. Diese Werte haben Vorrang vor den Vorgaben auf Benutzer- und Projektebene, können aber durch eine ausdrückliche Auswahl für den neuen Thread überschrieben werden. |
models.new_thread | table | Standardwerte, die beim Start eines neuen lokalen Threads gelten. Jede Modelleinstellung ist optional. |
models.new_thread.model | string | Standardmodell für neue Threads. Eine ausdrückliche Angabe über --model oder eine abweichende Modell- oder Reasoning-Aufwand-Einstellung über --config hat Vorrang. |
models.new_thread.model_reasoning_effort | string | Standardmäßiger Reasoning-Aufwand für neue Threads. Wird das Modell oder der Reasoning-Aufwand ausdrücklich überschrieben, werden beide zentral verwalteten Modellfelder übersprungen. |
models.new_thread.service_tier | string | Standardservicestufe für neue Threads. Eine ausdrücklich angegebene abweichende Servicestufe hat unabhängig von den Modellfeldern Vorrang. |
permissions | table | Administrativ definierte Berechtigungsprofile mit dem Profilnamen als Schlüssel. Verwendet dieselben Profilfelder wie config.toml. |
permissions.<name> | table | Administrativ definiertes Berechtigungsprofil. Der Name darf nicht mit : beginnen, nicht dem reservierten Namen filesystem entsprechen und nicht bereits für ein Profil aus einer geladenen Konfiguration verwendet werden. Verwendet dieselben Profilfelder wie config.toml. Das vollständige Profilschema findest du im Leitfaden zu Berechtigungen. |
permissions.filesystem.deny_read | array<string> | Administrativ durchgesetzte Verbote für Lesezugriffe auf das Dateisystem. Einträge können Pfade oder Glob-Muster sein. Nutzende können sie nicht durch lokale Konfiguration abschwächen. |
plugins | table | Plug-in-spezifische Zulassungslisten für MCP-Server mit der Plug-in-Kennung als Schlüssel. Wenn diese Tabelle vorhanden ist, werden mit Plug-ins gebündelte Server ohne passenden Plug-in- und Servereintrag deaktiviert. |
plugins.<plugin>.mcp_servers | table | Zulassungsliste für MCP-Server, die mit einem Plug-in gebündelt sind. Die Vorgaben für Plug-in-Server verwenden dieselben Formen für exakte Identitäten und Matcher wie die mcp_servers-Vorgaben auf oberster Ebene. |
plugins.<plugin>.mcp_servers.<server>.identity | table | Identitätsregel für einen mit einem Plug-in gebündelten MCP-Server. Lege entweder command (stdio) oder url (streamable HTTP) fest. |
plugins.<plugin>.mcp_servers.<server>.identity.command | string | table | Erlaube den stdio-MCP-Server eines Plug-ins anhand einer exakten Befehlszeichenfolge oder verwende eine Matcher-Tabelle, um eine exakte ausführbare Datei und geordnete Argument-Matcher vorzuschreiben. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args | array<table> | Geordnete Argument-Matcher für einen mit einem Plug-in gebündelten stdio-Server. Die konfigurierte Argumentliste muss dieselbe Länge haben, und an jeder Position muss eine Übereinstimmung vorliegen. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].expression | string | Regulärer Ausdruck, den ein Argument-Matcher vom Typ regex verwendet. Der Ausdruck muss mit dem vollständigen Argumentwert übereinstimmen. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].match | exact | prefix | regex | Abgleichsoperation für diese Argumentposition. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].value | string | Wert, den ein Argument-Matcher vom Typ exact oder prefix verwendet. |
plugins.<plugin>.mcp_servers.<server>.identity.command.executable | string | Ausführbare Datei, mit der der konfigurierte Befehl des mit einem Plug-in gebündelten stdio-Servers exakt übereinstimmen muss. |
plugins.<plugin>.mcp_servers.<server>.identity.url | string | table | Erlaube den MCP-Server mit streamable HTTP eines Plug-ins anhand einer exakten URL-Zeichenfolge oder verwende eine Tabelle für einen Wert-Matcher vom Typ exact, prefix oder regex. |
plugins.<plugin>.mcp_servers.<server>.identity.url.expression | string | Regulärer Ausdruck für einen URL-Abgleich mit regex. Der Ausdruck muss mit dem vollständigen URL-Wert übereinstimmen. |
plugins.<plugin>.mcp_servers.<server>.identity.url.match | exact | prefix | regex | Abgleichsoperation für die URL des mit einem Plug-in gebündelten MCP-Servers. |
plugins.<plugin>.mcp_servers.<server>.identity.url.value | string | Wert, den ein URL-Matcher vom Typ exact oder prefix verwendet. |
remote_sandbox_config | array<table> | Hostspezifische Sandbox-Anforderungen. Der erste Eintrag, dessen hostname_patterns auf den ermittelten Hostnamen zutreffen, überschreibt allowed_sandbox_modes auf oberster Ebene für diese Anforderungsquelle. Hostspezifische Einträge überschreiben derzeit nur Sandbox-Modi. |
remote_sandbox_config[].allowed_sandbox_modes | array<string> | Zulässige Sandbox-Modi, die gelten, wenn dieser hostspezifische Eintrag zutrifft. |
remote_sandbox_config[].hostname_patterns | array<string> | Muster für Hostnamen ohne Unterscheidung zwischen Groß- und Kleinschreibung. Unterstützt * für eine beliebige Zeichenfolge und ? für ein einzelnes Zeichen. |
rules | table | Administrativ erzwungene Befehlsregeln, die mit .rules-Dateien zusammengeführt werden. Regeln in den Vorgaben müssen einschränkend sein. |
rules.prefix_rules | array<table> | Liste der erzwungenen Präfixregeln. Jede Regel muss pattern und decision enthalten. |
rules.prefix_rules[].decision | prompt | forbidden | Erforderlich. Regeln in den Vorgaben können nur eine Genehmigung anfordern oder die Ausführung verbieten, sie aber nicht erlauben. |
rules.prefix_rules[].justification | string | Optionale, nicht leere Begründung, die in Genehmigungsanfragen oder Ablehnungsmeldungen angezeigt wird. |
rules.prefix_rules[].pattern | array<table> | Befehlspräfix, ausgedrückt als Muster aus Tokens. Für jedes Token wird entweder token oder any_of gesetzt. |
rules.prefix_rules[].pattern[].any_of | array<string> | Eine Liste zulässiger alternativer Tokens an dieser Position. |
rules.prefix_rules[].pattern[].token | string | Ein einzelnes wörtlich abzugleichendes Token an dieser Position. |
sqlite_home | string (path) | Legt verbindlich das Verzeichnis fest, in dem Codex den SQLite-basierten Laufzeitzustand speichert. |
windows | table | Anforderungen an die native Windows-Sandbox. |
windows.allowed_sandbox_implementations | array<string> | Zulässige Implementierungen der nativen Windows-Sandbox für windows.sandbox (elevated und unelevated). Die Liste darf nicht leer sein. Wenn beide erlaubt sind und kein Modus ausgewählt ist, bevorzugt Codex elevated. |
windows.sandbox_private_desktop | boolean | Verbindlich festlegen, ob die native Windows-Sandbox ihren Kindprozess auf einem privaten Desktop startet. |
allow_appshotsbooleanfalse, um Appshots für Personen mit verwalteten Konten zu deaktivieren. Ohne diese Angabe werden Appshots nicht durch Anforderungen eingeschränkt und unterliegen der normalen Produktverfügbarkeit.allow_browser_and_computer_usebooleanfalse, um sowohl die agentengesteuerte Funktion „Browser“ als auch die Computernutzung in nativen Apps zu blockieren. Der Wert true oder das Weglassen der Einstellung aktiviert keine der beiden Funktionen. Die übrigen Prüfungen zu Funktionen, Richtlinien und Genehmigungen gelten weiterhin.allow_login_shellbooleanallow_managed_hooks_onlybooleantrue überspringt Codex Hooks auf Benutzer-, Projekt- und Sitzungsebene sowie Plug-in-Hooks. Zentral verwaltete Hooks aus requirements.toml und anderen verwalteten Konfigurationsebenen bleiben erlaubt.allow_remote_controlbooleanfalse, um die Fernsteuerung von Geräten für Personen mit verwalteten Konten zu deaktivieren. Ohne diese Angabe wird die Fernsteuerung von Geräten nicht durch Anforderungen eingeschränkt und unterliegt der normalen Produktverfügbarkeit.allowed_approval_policiesarray<string>approval_policy (zum Beispiel untrusted, on-request, never und granular).allowed_approvals_reviewersarray<string>approvals_reviewer, etwa user und auto_review.allowed_chatgpt_workspacesarray<string>allowed_login_methodsarray<string>chatgpt, api oder beides. Wird diese Einstellung ausgelassen, schränkt sie die Anmeldemethoden nicht ein. Wird sie angegeben, muss die Liste mindestens eine Methode enthalten. api erlaubt die API-Authentifizierung einschließlich Amazon Bedrock. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt. In der Cloud verwaltete Werte werden ignoriert.allowed_permission_profilestable<boolean>true sind erlaubt. Nicht aufgeführte Profile und Profile mit dem Wert false sind gesperrt, einschließlich Profilen, die in zukünftigen Versionen hinzukommen. Beim Zusammenführen von Anforderungsquellen werden Einträge anhand des Profilnamens zugeordnet.allowed_permission_profiles.<name>booleanfalse ein Profil deaktivieren, das eine frühere Quelle mit niedrigerer Priorität erlaubt hat.allowed_sandbox_modesarray<string>sandbox_mode.allowed_web_search_modesarray<string>web_search (disabled, cached, indexed, live). disabled ist immer erlaubt. Eine leere Liste erlaubt daher effektiv nur disabled.appstableapps.<id>.enabledbooleanfalse, um eine App zu deaktivieren. Eine Vorgabe zur Deaktivierung bleibt auch beim Zusammenführen mehrerer Vorgabenquellen als Einschränkung wirksam.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approvebrowser_usetablebrowser_use.allow_global_persistent_approvalbooleanfalse, um zu verhindern, dass die Funktion „Browser“ Genehmigungen vom Typ Always allow erstellt oder berücksichtigt, die für alle Websites gelten, etwa für Downloads von beliebigen Websites. Bereits gespeicherte Genehmigungen werden ignoriert, aber nicht gelöscht. Der Wert true oder das Weglassen der Einstellung erstellt keine Genehmigung.browser_use.allow_history_accessbooleanfalse, um zu verhindern, dass die Funktion „Browser“ den Browserverlauf liest. Bei true oder ohne diese Angabe gelten weiterhin die normalen Verlaufseinstellungen und Verfügbarkeitsprüfungen.browser_use.default_origin_policytablebrowser_use.origins sie definiert. Eine passende Origin-Regel ersetzt den Rückfallwert für diese Quelle. Anschließend wendet Codex das strengere Ergebnis aus zentral verwalteten Anforderungen und Benutzerkonfiguration an.browser_use.default_origin_policy.accessallow | denydeny, um die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. Eine gesperrte Origin blockiert dort auch Uploads, Downloads, vollständigen Zugriff auf Browser-Debugging und die automatische Überprüfung. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.browser_use.default_origin_policy.access_approval_lifetimeturn | threadturn beschränkt sie auf den aktuellen Turn, thread erhält sie für den Rest des aktuellen Threads. persistent_approval steuert separat, ob Always allow verfügbar ist. Der Produktstandard ist thread.browser_use.default_origin_policy.auto_reviewallow | denydeny, um die automatische Überprüfung für Origins zu überspringen, für die der Rückfallwert gilt, und stattdessen die nutzende Person um Genehmigung zu bitten. Bei allow bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen.browser_use.default_origin_policy.downloadsallow | denydeny, um Downloads über die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.browser_use.default_origin_policy.full_cdp_accessallow | denydeny, um den vollständigen Zugriff über das Chrome DevTools Protocol (CDP) für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Prüfungen auf ausdrückliche Aktivierung und Genehmigung fortfahren.browser_use.default_origin_policy.persistent_approvalbooleanfalse, um zu verhindern, dass die Funktion „Browser“ eine Genehmigung vom Typ Always allow für Origins speichert oder berücksichtigt, für die der Rückfallwert gilt. Genehmigungen für den aktuellen Turn oder Thread können weiterhin gelten. true macht Always allow verfügbar, sofern es ansonsten zulässig ist, erstellt aber keine Genehmigung.browser_use.default_origin_policy.uploadsallow | denydeny, um Uploads über die Funktion „Browser“ für Origins zu blockieren, für die der Rückfallwert gilt. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.browser_use.disable_auto_reviewbooleantrue, um die automatische Überprüfung für die Funktion „Browser“ zu überspringen und stattdessen die nutzende Person um Genehmigung zu bitten. Bei false oder ohne diese Angabe bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen.browser_use.originsmap<string, table><scheme>://<host-pattern>[:<port>] mit http oder https. Verwende einen exakten Host, *.example.com nur für Subdomains oder **.example.com für die Basisdomain und ihre Subdomains. Andere *-Platzhalter können auch Punkte abdecken. Daher passt region*.example.com auch auf region.api.example.com. Ein Hostwert von * passt auf jeden Host mit diesem Schema. Schemas und vom Standard abweichende Ports werden beim Abgleich berücksichtigt. Explizite Standardports werden bei der Normalisierung entfernt. Pfade, Abfrageparameter, eingebettete Benutzernamen oder Passwörter sowie Platzhalter in Schemas oder Ports sind ungültig. Setze das Muster in TOML in Anführungszeichen, zum Beispiel [browser_use.origins."https://**.example.com"].browser_use.origins.<pattern>tabledeny vor allow, false vor true und turn vor thread.browser_use.origins.<pattern>.accessallow | denydeny, um die Funktion „Browser“ für passende Origins zu blockieren. Die Sperre blockiert dort auch Uploads, Downloads, vollständigen Zugriff auf Browser-Debugging und die automatische Überprüfung. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.browser_use.origins.<pattern>.access_approval_lifetimeturn | threadturn beschränkt sie auf den aktuellen Turn, thread erhält sie für den Rest des aktuellen Threads. persistent_approval steuert unabhängig davon, ob Always allow verfügbar ist.browser_use.origins.<pattern>.auto_reviewallow | denydeny, um die automatische Überprüfung für passende Ursprünge zu überspringen und stattdessen die nutzende Person um Genehmigung zu bitten. Mit allow bleibt die automatische Überprüfung verfügbar, sofern andere Einstellungen sie zulassen.browser_use.origins.<pattern>.downloadsallow | denydeny, um Downloads über die Funktion „Browser“ für passende Origins zu blockieren. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.browser_use.origins.<pattern>.full_cdp_accessallow | denydeny, um den vollständigen Zugriff über das Chrome DevTools Protocol (CDP) für passende Origins zu blockieren. allow lässt lediglich die normalen Prüfungen auf ausdrückliche Aktivierung und Genehmigung fortfahren.browser_use.origins.<pattern>.persistent_approvalbooleanfalse, um zu verhindern, dass die Browser-Funktion eine Genehmigung vom Typ Always allow für passende Ursprünge speichert oder berücksichtigt. Genehmigungen für den aktuellen Turn oder Thread können weiterhin gelten. true macht Always allow verfügbar, sofern ansonsten zulässig, erteilt aber keine Genehmigung.browser_use.origins.<pattern>.uploadsallow | denydeny, um Uploads über die Funktion „Browser“ für passende Origins zu blockieren. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren.chatgpt_base_urlstringcheck_for_update_on_startupbooleancli_auth_credentials_storefile | keyring | auto | ephemeralfile verwendet CODEX_HOME/auth.json; keyring erfordert den Anmeldedatenspeicher des Betriebssystems; auto greift auf eine Datei zurück, wenn der Anmeldedatenspeicher nicht verfügbar ist; ephemeral hält Anmeldedaten für den aktuellen Prozess im Arbeitsspeicher. Wird über die lokale Datei für Systemanforderungen oder macOS MDM festgelegt; in der Cloud verwaltete Werte werden ignoriert.computer_usetableconfig.toml werden durchgesetzt. Jede Richtlinienquelle muss die App zulassen.computer_use.allow_locked_computer_usebooleanfalse, um zu verhindern, dass Nutzende die Nutzung im gesperrten Zustand auf einem verwalteten macOS-Gerät aktivieren. Diese Vorgabe entfernt die Bedienelemente zur Aktivierung. Sie deaktiviert die Nutzung im gesperrten Zustand jedoch nicht, wenn diese bereits aktiviert ist. Ohne diese Angabe gilt die normale Produktverfügbarkeit.computer_use.allow_persistent_approvalbooleanfalse, um die Möglichkeit zu entfernen, App-Genehmigungen sitzungsübergreifend zu speichern. Genehmigungen für die aktuelle Sitzung bleiben verfügbar. Der Wert true oder das Weglassen der Einstellung erteilt keine Genehmigung für eine App.computer_use.default_app_accessallow | denydeny blockiert den Zugriff. allow lässt lediglich die normalen Genehmigungs- und Richtlinienprüfungen fortfahren. Der Standardwert des Produkts ist allow.computer_use.macostablecomputer_use.macos.bundle_idsmap<string, allow | deny>allow oder deny zu. Eine passende Regel ersetzt computer_use.default_app_access innerhalb derselben Richtlinienquelle. Eine Verweigerung in den verwalteten Vorgaben oder in der Benutzerkonfiguration blockiert den Zugriff weiterhin.computer_use.macos.bundle_ids.<bundle-id>allow | denydeny, um die exakte Bundle-Kennung zu blockieren. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen.computer_use.windowstablecomputer_use.windows.aumidsmap<string, allow | deny>allow oder deny zu. Eine passende Regel ersetzt computer_use.default_app_access innerhalb derselben Richtlinienquelle.computer_use.windows.aumids.<aumid>allow | denydeny, um die exakte Identität der paketierten App zu blockieren. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen.computer_use.windows.exesarray<table>computer_use.default_app_access. Ausführbare Dateien, deren signierte Identität sich nicht eindeutig verifizieren lässt, werden blockiert.computer_use.windows.exes[].accessallow | denydeny blockiert den Zugriff. allow überschreibt nur den Standardwert dieser Richtlinienquelle. Alle anderen Richtlinienquellen und der normale Genehmigungsablauf müssen die App weiterhin zulassen.computer_use.windows.exes[].binary_namestringOriginalFilename aus den signierten Versionsinformationen der ausführbaren Datei. Beim Abgleich wird die Groß- und Kleinschreibung ignoriert. Wenn eine auf Herausgeber und Produkt passende Regel diesen Wert erfordert, die ausführbare Datei ihn jedoch nicht bereitstellt, blockiert die Computernutzung die ausführbare Datei.computer_use.windows.exes[].product_namestringProductName aus den signierten Versionsinformationen der ausführbaren Datei.computer_use.windows.exes[].publisher_namestringdefault_permissionsstringallowed_permission_profiles erlaubt sein. Lege es ausdrücklich fest, um ein vorhersehbares Verhalten zu gewährleisten. Ohne diese Angabe verwendet Codex nur dann :workspace als Standard, wenn sowohl :workspace als auch :read-only ausdrücklich erlaubt sind.enforce_residencystringus akzeptiert.experimental_networktablerequirements.toml durchgesetzt werden. Wenn diese Vorgaben aktiviert sind, können sie den Netzwerkproxy für Befehle ohne features.network_proxy starten. Browser-Tools prüfen verwaltete Netzwerkverbote und exklusive Zulassungslisten separat. Diese Vorgaben leiten den Browserverkehr nicht durch den Proxy und steuern weder die Websuche noch Apps, MCP-Server, den Datenverkehr nativer Apps oder den Netzwerkzugriff von Codex Cloud.experimental_network.allow_local_bindingbooleanlocalhost können weiterhin bestimmte lokale Ziele erlauben, auch wenn dieser Wert auf false bleibt.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] Listener-Adressen außerhalb von Loopback. Wenn diese Einstellung aktiviert ist, können Listener auch außerhalb von localhost erreichbar sein.experimental_network.denied_domainsarray<string>experimental_network.domains.experimental_network.domainsmap<string, allow | deny>*.example.com nur für Subdomains, **.example.com für die Hauptdomain und ihre Subdomains sowie globale *-Zulassungsregeln. Bevorzuge Regeln mit begrenztem Geltungsbereich, da * ausgehenden Zugriff auf öffentliche Ziele umfassend erlaubt. Bei Konflikten hat deny Vorrang. Kombiniere diese Einstellung nicht mit experimental_network.allowed_domains oder experimental_network.denied_domains.experimental_network.enabledbooleanexperimental_network.http_portinteger[experimental_network].experimental_network.managed_allowed_domains_onlybooleantrue bleiben nur administrativ verwaltete Zulassungsregeln wirksam, solange die Netzwerkvorgaben für die Sandbox aktiv sind. Ergänzungen der Zulassungsliste durch Nutzende werden ignoriert. Auch ohne verwaltete Zulassungsregeln bleiben von Nutzenden hinzugefügte Domain-Zulassungsregeln nicht wirksam.experimental_network.socks_portinteger[experimental_network].experimental_network.unix_socketsmap<string, allow | deny>featurestableconfig.toml. Dokumentierte Anforderungsschlüssel, die nur für die App gelten, werden hier ebenfalls unterstützt.features.<name>booleanfeatures.appsbooleanfeatures.browser_usebooleanrequirements.toml auf false, um die agentengesteuerte Funktion „Browser“ zu deaktivieren.features.browser_use_externalbooleanrequirements.toml auf false, um zu verhindern, dass Codex unterstützte Browser über die ChatGPT-Browsererweiterung bedient. Das schließt bestehende Tabs und angemeldete Sitzungen ein.features.browser_use_full_cdp_accessbooleanrequirements.toml auf false, um den vollständigen Zugriff über das Chrome DevTools Protocol in der lokalen Laufzeit einschließlich des Browser-Entwicklermodus zu deaktivieren und zu verhindern, dass die ChatGPT-Desktop-App die entsprechende Einstellung aktiviert. Ohne diese Angabe gilt die normale Produktverfügbarkeit.features.computer_usebooleanrequirements.toml auf false, um Computernutzung, Aufzeichnen und Wiedergeben sowie die zugehörigen Installations- und Aktivierungsabläufe zu deaktivieren.features.fast_modebooleanfast_mode für Personen mit verwalteten Konten aktiviert oder deaktiviert ist.features.guardian_approvalbooleanfeatures.in_app_browserbooleanrequirements.toml auf false, um den integrierten Browserbereich zu deaktivieren, den Nutzende selbst öffnen und direkt steuern.features.in_app_updatesbooleanrequirements.toml auf false, um Updates innerhalb der App zu deaktivieren. Ohne diese Anforderung bleiben Updates standardmäßig aktiviert.features.memoriesbooleanfeatures.multi_agentbooleanfeatures.plugin_sharingbooleanrequirements.toml auf false, um das Teilen lokal entwickelter Plug-ins im Workspace zu deaktivieren.features.pluginsbooleanfeatures.remote_pluginbooleanfeatures.workspace_dependenciesbooleanfeedbacktablefeedback.enabledbooleanguardian_policy_configstring[auto_review].policy. Leere Werte werden ignoriert.hookstableconfig.toml definierte [hooks].hooks.<Event>array<table>PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit oder Stop.hooks.<Event>[].hooksarray<table>hooks.<Event>[].hooks[].additionalContextLimitintegeradditionalContext auf dem Datenträger gespeichert und dem Modell eine kürzere Vorschau gezeigt wird. Der Standardwert ist 2500; 0 übergibt den vollständigen Kontext direkt an das Modell. Siehe Große Hook-Ausgaben.hooks.<Event>[].hooks[].asyncbooleanfalse; SessionEnd wird immer synchron ausgeführt. Siehe Hooks im Hintergrund ausführen.hooks.<Event>[].hooks[].commandWindowsstringcommand_windows wird ebenfalls akzeptiert.hooks.managed_dirstring (absolute path)hooks.windows_managed_dirstring (absolute path)in_app_browsertablein_app_browser.allow_external_browser_settings_importbooleanfalse, um zu verhindern, dass Nutzende Einstellungen oder Browserdaten aus einem externen Browser in den integrierten Browser importieren. Bei true oder ohne diese Angabe bleibt der Import verfügbar, sofern andere Produktprüfungen ihn zulassen. Diese Einstellung kann nur zentral verwaltet und nicht über config.toml überschrieben werden.log_dirstring (path)marketplacestablerestrict_to_allowed_sources auf true gesetzt ist.marketplaces.allowed_sourcestablemarketplaces.allowed_sources.<name>tablesource nach dem Zusammenführen der Vorgaben bestimmt, welche Felder auf derselben Ebene Codex interpretiert.marketplaces.allowed_sources.<name>.host_patternstringsource = "host_pattern". Codex gleicht ihn mit dem in Kleinbuchstaben umgewandelten Hostnamen ab, der aus einer Git-Quelle im HTTPS-, SSH- oder SCP-Stil ausgelesen wird. Verwende ^ und $, um eine Übereinstimmung mit dem gesamten Hostnamen zu verlangen.marketplaces.allowed_sources.<name>.pathstring (absolute path)source = "local". Codex verlangt einen absoluten Pfad und vergleicht die Pfade nach der Normalisierung.marketplaces.allowed_sources.<name>.refstringgit-Regel. Ohne diese Angabe erlaubt die Regel jede Ref für das passende Repository.marketplaces.allowed_sources.<name>.sourcegit | host_pattern | localgit für ein einzelnes Repository, host_pattern für Git-Hosts, die anhand eines regulären Ausdrucks abgeglichen werden, oder local für ein einzelnes Verzeichnis.marketplaces.allowed_sources.<name>.urlstringsource = "git". Codex normalisiert die konfigurierten und zulässigen URLs und verlangt anschließend eine exakte Übereinstimmung des Repositorys.marketplaces.restrict_to_allowed_sourcesbooleantrue müssen benutzerseitig konfigurierte Marketplace-Quellen mit allowed_sources übereinstimmen, wenn ein Marketplace hinzugefügt, ein Plug-in installiert oder ein konfigurierter Git-Marketplace aktualisiert wird. Von Codex verwaltete OpenAI-Marketplaces bleiben zulässig, wenn ihre reservierte Quelle und ihr reservierter Name übereinstimmen. Bereits benutzerseitig konfigurierte Marketplaces werden dadurch zur Laufzeit nicht gefiltert.mcp_serverstable<id>) als auch die Identität müssen übereinstimmen, damit der MCP-Server aktiviert werden kann. Jeder konfigurierte MCP-Server, der nicht auf der Zulassungsliste steht oder dessen Identität nicht übereinstimmt, wird deaktiviert.mcp_servers.<id>.identitytablecommand (stdio) oder url (streamable HTTP) fest.mcp_servers.<id>.identity.commandstring | tablecwd, env oder env_vars.mcp_servers.<id>.identity.command.argsarray<table>cwd noch env oder env_vars.mcp_servers.<id>.identity.command.args[].expressionstringregex verwendet. Der Ausdruck muss gültig sein und mit dem vollständigen Argumentwert übereinstimmen.mcp_servers.<id>.identity.command.args[].matchexact | prefix | regexmcp_servers.<id>.identity.command.args[].valuestringexact oder prefix verwendet.mcp_servers.<id>.identity.command.executablestringcommand des stdio-Servers exakt übereinstimmen muss.mcp_servers.<id>.identity.urlstring | tableexact, prefix oder regex.mcp_servers.<id>.identity.url.expressionstringregex verwendet. Der Ausdruck muss gültig sein und mit dem vollständigen URL-Wert übereinstimmen.mcp_servers.<id>.identity.url.matchexact | prefix | regexmcp_servers.<id>.identity.url.valuestringexact oder prefix verwendet.model_catalog_jsonstring (path)modelstablemodels.new_threadtablemodels.new_thread.modelstring--model oder eine abweichende Modell- oder Reasoning-Aufwand-Einstellung über --config hat Vorrang.models.new_thread.model_reasoning_effortstringmodels.new_thread.service_tierstringpermissionstableconfig.toml.permissions.<name>table: beginnen, nicht dem reservierten Namen filesystem entsprechen und nicht bereits für ein Profil aus einer geladenen Konfiguration verwendet werden. Verwendet dieselben Profilfelder wie config.toml. Das vollständige Profilschema findest du im Leitfaden zu Berechtigungen.permissions.filesystem.deny_readarray<string>pluginstableplugins.<plugin>.mcp_serverstablemcp_servers-Vorgaben auf oberster Ebene.plugins.<plugin>.mcp_servers.<server>.identitytablecommand (stdio) oder url (streamable HTTP) fest.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 verwendet. Der Ausdruck muss mit dem vollständigen Argumentwert übereinstimmen.plugins.<plugin>.mcp_servers.<server>.identity.command.args[].matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.command.args[].valuestringexact oder prefix verwendet.plugins.<plugin>.mcp_servers.<server>.identity.command.executablestringplugins.<plugin>.mcp_servers.<server>.identity.urlstring | tableexact, prefix oder regex.plugins.<plugin>.mcp_servers.<server>.identity.url.expressionstringregex. Der Ausdruck muss mit dem vollständigen URL-Wert übereinstimmen.plugins.<plugin>.mcp_servers.<server>.identity.url.matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.url.valuestringexact oder prefix verwendet.remote_sandbox_configarray<table>hostname_patterns auf den ermittelten Hostnamen zutreffen, überschreibt allowed_sandbox_modes auf oberster Ebene für diese Anforderungsquelle. Hostspezifische Einträge überschreiben derzeit nur Sandbox-Modi.remote_sandbox_config[].allowed_sandbox_modesarray<string>remote_sandbox_config[].hostname_patternsarray<string>* für eine beliebige Zeichenfolge und ? für ein einzelnes Zeichen.rulestable.rules-Dateien zusammengeführt werden. Regeln in den Vorgaben müssen einschränkend sein.rules.prefix_rulesarray<table>pattern und decision enthalten.rules.prefix_rules[].decisionprompt | forbiddenrules.prefix_rules[].justificationstringrules.prefix_rules[].patternarray<table>token oder any_of gesetzt.rules.prefix_rules[].pattern[].any_ofarray<string>rules.prefix_rules[].pattern[].tokenstringsqlite_homestring (path)windowstablewindows.allowed_sandbox_implementationsarray<string>windows.sandbox (elevated und unelevated). Die Liste darf nicht leer sein. Wenn beide erlaubt sind und kein Modus ausgewählt ist, bevorzugt Codex elevated.windows.sandbox_private_desktopboolean