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
projektspezifischen 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 Shell-basierten Tools, 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 Prompt-Kategorien zuzulassen oder automatisch abzulehnen, während andere Prompts 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 Prompts zur MCP-Elizitation angezeigt werden, statt automatisch abgelehnt zu werden. |
approval_policy.granular.request_permissions | boolean | Bei true dürfen Prompts 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 | Legt fest, wer Genehmigungsanfragen für die Tools dieser App prüft. Überschreibt apps._default.approvals_reviewer. |
apps.<id>.default_tools_approval_mode | auto | prompt | writes | approve | Standardverhalten bei Genehmigungen für Tools in dieser App, sofern keine Überschreibung für das jeweilige Tool vorliegt. |
apps.<id>.default_tools_enabled | boolean | Legt fest, ob Tools in dieser App standardmäßig aktiviert sind, sofern keine Überschreibung für das jeweilige Tool 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 | Überschreibt das Verhalten bei Genehmigungen für ein einzelnes App-Tool. |
apps.<id>.tools.<tool>.enabled | boolean | Überschreibt den Aktivierungsstatus eines einzelnen App-Tools (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. |
chatgpt_base_url | string | Die beim ChatGPT-Anmeldevorgang verwendete Basis-URL überschreiben. |
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 | Festlegen, wo die CLI zwischengespeicherte Anmeldedaten speichert (in der Datei auth.json oder im Schlüsselbund des Betriebssystems). |
compact_prompt | string | Inline-Überschreibung für den Prompt zur Compaction (Kontextverdichtung) des Verlaufs. |
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. |
default_permissions | string | Name des standardmäßigen Berechtigungsprofils für Toolaufrufe in der Sandbox. Integrierte Profile sind :read-only, :workspace und :danger-full-access; benutzerdefinierte Profilnamen erfordern passende [permissions.<name>]-Tabellen. 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 | Ältere Bezeichnung zum Aktivieren von unified exec; verwende vorzugsweise [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 weder durch den Netzwerkproxy für Befehle in der Sandbox noch durch 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 für die 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.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 ( spawn_agent, send_input, resume_agent, wait_agent und close_agent) aktivieren (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 einheitliche, PTY-gestützte exec-Tool verwenden (stabil; außer unter 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 Sitzungstranskripte 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 oder Stop. |
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, der bei der MCP-OAuth-Anmeldung verwendet wird. Ein serverspezifischer oauth.callback_port hat Vorrang. Ist keiner der beiden Werte festgelegt, bindet Codex den Server an einen vom Betriebssystem ausgewählten ephemeren Port. |
mcp_oauth_callback_url | string | Optionale Basis-Callback-URL für die MCP-OAuth-Anmeldung, etwa eine Ingress-URL für eine 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 diese Unterstützung greift jeder vorab registrierte MCP-Server, dessen konfigurierter Callback die erforderliche ID nicht enthält, auf diese URL mit angehängter ID zurück. 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_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 keine toolspezifische Überschreibung 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>.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 | Überschreibung des Genehmigungsverhaltens für ein einzelnes MCP-Tool auf diesem Server. |
mcp_servers.<id>.url | string | Endpunkt für einen MCP-Server mit Streamable HTTP. |
memories.consolidation_model | string | Optional abweichendes Modell für die globale Konsolidierung von Erinnerungen. |
memories.disable_on_external_context | boolean | Wenn true festgelegt ist, werden Threads, die externen Kontext wie MCP-Tool-Aufrufe, die Websuche oder die Tool-Suche verwenden, von der Generierung von Erinnerungen ausgeschlossen. Standardwert ist false. Älterer Alias: memories.no_memories_if_mcp_or_web_search. |
memories.extract_model | string | Optional abweichendes Modell für die Extraktion von Erinnerungen pro Thread. |
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 zuletzt erfasster unverarbeiteter Erinnerungen, die für die globale Konsolidierung aufbewahrt werden. Standardwert ist 256, die Obergrenze 4096. |
memories.max_rollout_age_days | number | Maximales Alter von Threads, die für die Generierung von Erinnerungen berücksichtigt werden. Standardwert ist 30; der Wert wird auf den Bereich von 0 bis 90 begrenzt. |
memories.max_rollouts_per_startup | number | Maximale Anzahl an Rollout-Kandidaten, die pro Startdurchlauf verarbeitet werden. Standardwert ist 16, die Obergrenze 128. |
memories.max_unused_days | number | Maximale Anzahl an Tagen, die seit der letzten Verwendung einer Erinnerung vergehen darf, bevor sie nicht mehr für die Konsolidierung berücksichtigt wird. Standardwert ist 30; der Wert wird auf den Bereich von 0 bis 365 begrenzt. |
memories.min_rate_limit_remaining_percent | number | Mindestprozentsatz, der in den Ratenlimit-Fenstern von Codex noch verfügbar sein muss, damit die Generierung von Erinnerungen beginnt. Standardwert ist 25; der Wert wird auf den Bereich von 0 bis 100 begrenzt. |
memories.min_rollout_idle_hours | number | Minimale Leerlaufzeit, bevor ein Thread für die Generierung von Erinnerungen berücksichtigt wird. Standardwert ist 6; der Wert wird auf den Bereich von 1 bis 48 begrenzt. |
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 | 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 entweder 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 | Verständliche Beschreibung dieses benannten Profils. Ein Profil erbt über extends nicht die Beschreibung seines übergeordneten Profils. |
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 begrenzt den Geltungsbereich verschachtelter Einträge auf dieses Stammverzeichnis. 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 pro Thread oder Turn 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 von Bytes, die beim Zusammenstellen von Projektanweisungen aus AGENTS.md gelesen werden. |
project_root_markers | array<string> | Liste der Dateinamen, die das Projektstammverzeichnis kennzeichnen. Sie wird verwendet, um in übergeordneten Verzeichnissen nach dem Projektstammverzeichnis zu suchen. |
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 beide Formen nicht auf derselben Ebene. |
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 ohne Beachtung der Groß- und Kleinschreibung. Einschlussregeln bilden eine Allowlist und können ausgeschlossene Werte nicht wiederherstellen. Explizit mit set festgelegte Werte werden nach den Ausschlüssen angewendet. Kombiniere diese Filter auf derselben Konfigurationsebene nicht mit den älteren Arrays exclude oder include_only. |
shell_environment_policy.ignore_default_excludes | boolean | Variablen, deren Namen KEY, SECRET oder TOKEN enthalten, vor der Anwendung anderer Filter beibehalten (Standard: true). Setze den Wert auf false, damit Variablen mit Namen, die auf geheime Werte hindeuten, automatisch ausgeschlossen werden. |
shell_environment_policy.include_only | array<string> | Ältere Allowlist mit Mustern für Umgebungsvariablen. Verwende für neue Konfigurationen shell_environment_policy.filters. Kombiniere beide Formen nicht auf derselben Ebene. |
shell_environment_policy.inherit | all | core | none | Grundlegende Regeln für die Vererbung der Umgebung beim Starten von Unterprozessen. |
shell_environment_policy.set | map<string,string> | Explizite Umgebungswerte, die nach Anwendung der Ausschlussregeln eingefügt werden. Einschlussfilter können sie dennoch 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. |
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" sowie 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" sowie eine id. |
tools.view_image | boolean | Tool view_image zum Anhängen lokaler Bilder aktivieren. |
tools.web_search | boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } } | Optionale Konfiguration des Tools für die Websuche. In der Objektform kannst du die Größe des Suchkontexts, die zulässigen Suchdomains und den ungefähren Standort der nutzenden Person festlegen. Diese Filter für Suchdomains sind unabhängig von den Domainregeln für Netzwerkzugriffe von Befehlen in der Sandbox und schränken weder Konnektoren noch MCP-Server 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 bei nicht fokussiertem Terminal oder unabhängig vom Fokus ausgelöst werden. 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 nutzt einen von OpenAI gepflegten Index ohne externen Webzugriff; indexed erlaubt externen Zugriff nur, wenn der Suchindex ihn zulässt; bei Verwendung von --yolo oder einer anderen Sandbox-Einstellung mit Vollzugriff ist der Standardwert "live"). Verwende "live" für uneingeschränkte Live-Abrufe oder "disabled", um das Tool zu entfernen. |
windows_wsl_setup_acknowledged | boolean | Erfassen, ob das Windows-Onboarding 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 Prompt-Kategorien zuzulassen oder automatisch abzulehnen, während andere Prompts 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 Prompts zur MCP-Elizitation angezeigt werden, statt automatisch abgelehnt zu werden.approval_policy.granular.request_permissionsbooleantrue dürfen Prompts 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.chatgpt_base_urlstringcheck_for_update_on_startupbooleancli_auth_credentials_storefile | keyring | autocompact_promptstringcomputer_use.windows.always_allowed_app_idsarray<string>default_permissionsstring:read-only, :workspace und :danger-full-access; benutzerdefinierte Profilnamen erfordern passende [permissions.<name>]-Tabellen. 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.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) aktivieren (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 oder Stop.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 Codex den Server an einen vom Betriebssystem ausgewählten ephemeren Port.mcp_oauth_callback_urlstringmcp_oauth_credentials_storeauto | file | keyringmcp_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>.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>.urlstringmemories.consolidation_modelstringmemories.disable_on_external_contextbooleantrue festgelegt ist, werden Threads, die externen Kontext wie MCP-Tool-Aufrufe, die Websuche oder die Tool-Suche verwenden, von der Generierung von Erinnerungen ausgeschlossen. Standardwert ist 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, die Obergrenze 4096.memories.max_rollout_age_daysnumber30; der Wert wird auf den Bereich von 0 bis 90 begrenzt.memories.max_rollouts_per_startupnumber16, die Obergrenze 128.memories.max_unused_daysnumber30; der Wert wird auf den Bereich von 0 bis 365 begrenzt.memories.min_rate_limit_remaining_percentnumber25; der Wert wird auf den Bereich von 0 bis 100 begrenzt.memories.min_rollout_idle_hoursnumber6; der Wert wird auf den Bereich von 1 bis 48 begrenzt.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 nicht die Beschreibung seines übergeordneten Profils.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 pro Thread oder Turn 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 beide Formen nicht auf derselben Ebene.shell_environment_policy.experimental_use_profilebooleanshell_environment_policy.filtersmap<string, include | exclude>set festgelegte Werte werden nach den Ausschlüssen angewendet. Kombiniere diese Filter auf derselben Konfigurationsebene nicht mit den älteren Arrays exclude oder include_only.shell_environment_policy.ignore_default_excludesbooleanshell_environment_policy.include_onlyarray<string>shell_environment_policy.filters. Kombiniere beide Formen nicht auf derselben Ebene.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.sqlite_homestring (path)suppress_unstable_features_warningbooleantool_output_token_limitnumbertool_suggest.disabled_toolsarray<table>type = "connector" oder "plugin" sowie eine id.tool_suggest.discoverablesarray<table>type = "connector" oder "plugin" sowie eine id.tools.view_imagebooleanview_image zum Anhängen lokaler Bilder aktivieren.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 nutzt einen von OpenAI gepflegten Index ohne externen Webzugriff; indexed erlaubt externen Zugriff nur, wenn der Suchindex ihn zulässt; bei Verwendung von --yolo oder einer anderen Sandbox-Einstellung mit Vollzugriff ist der Standardwert "live"). Verwende "live" für uneingeschränkte Live-Abrufe 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.
Um beim Bearbeiten von config.toml in VS Code oder Cursor Autovervollständigung und Diagnosemeldungen zu erhalten, 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. Codex stuft den alten Schlüssel als veraltet ein. Aktualisiere bestehende Konfigurationen und verwende den neuen Namen.
requirements.toml
requirements.toml ist eine von der Administration vorgegebene Konfigurationsdatei, die sicherheitsrelevante Einstellungen verbindlich einschränkt. Nutzende können diese Vorgaben nicht überschreiben. Details, Speicherorte und Beispiele findest du unter Von der Administration vorgegebene Anforderungen.
Für Nutzende von ChatGPT Business und ChatGPT Enterprise kann Codex auch aus der Cloud abgerufene Anforderungen anwenden. Auf der Sicherheitsseite findest du Details dazu, welche Einstellungen Vorrang haben.
Verwende [features] in requirements.toml, um Feature-Flags für die Laufzeit anhand derselben
kanonischen Schlüssel verbindlich festzulegen, die auch config.toml verwendet. Anforderungen können außerdem dokumentierte
Schlüssel enthalten, die nur für die App gelten und nicht in config.toml gehören. Nicht angegebene Schlüssel bleiben
uneingeschränkt.
Einige verwaltete Anforderungen erzwingen einen exakten Konfigurationswert statt einer Zulassungsliste. Nutzende können verbindlich vorgegebene Pfade, Update-Einstellungen, Login-Shell-Richtlinien, Feedback-Einstellungen oder Einstellungen für den privaten Windows-Desktop nicht überschreiben.
Verwaltete Zulassungslisten für Berechtigungsprofile erfordern Codex 0.138.0 oder höher. Codex
0.137.0 und ältere Versionen ignorieren allowed_permission_profiles sowie die verwaltete Einstellung
default_permissions.
Verwende allowed_sandbox_modes zusammen mit sandbox_mode. Verwende für Bereitstellungen mit
Berechtigungsprofilen allowed_permission_profiles zusammen mit der verwalteten Einstellung
default_permissions.
Die Tabelle [models.new_thread] enthält verwaltete Standardwerte, erzwingt sie aber nicht.
Explizite Startoptionen über spezielle 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.
| Key | Type / Values | Details |
|---|---|---|
allow_appshots | boolean | Setze den Wert auf false, um Appshots für verwaltete Nutzerkonten zu deaktivieren. Wird der Wert weggelassen, schränken die Anforderungen Appshots nicht ein. Es gilt dann die reguläre Produktverfügbarkeit. |
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 Nutzer-, Projekt-, Sitzungs- und Plug-in-Hooks. Verwaltete Hooks aus requirements.toml und anderen verwalteten Konfigurationsebenen bleiben zulässig. |
allow_remote_control | boolean | Setze den Wert auf false, um die Fernsteuerung von Geräten für verwaltete Nutzerkonten zu deaktivieren. Wird der Wert weggelassen, schränken die Anforderungen die Fernsteuerung von Geräten nicht ein. Es gilt dann die reguläre 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_permission_profiles | table<boolean> | Vollständige Liste der zulässigen Berechtigungsprofile. Profile mit dem Wert true sind zulässig. Nicht aufgeführte oder auf false gesetzte Profile werden abgelehnt; das gilt auch für Profile, die in zukünftigen Versionen hinzukommen. Wenn Anforderungsquellen kombiniert werden, werden Einträge anhand des Profilnamens abgeglichen. |
allowed_permission_profiles.<name> | boolean | Lässt ein integriertes oder benutzerdefiniertes Berechtigungsprofil zu oder lehnt es ab, das in einer geladenen Konfigurations- 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 zugelassen 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 zulässig; eine leere Liste lässt praktisch nur disabled zu. |
apps | table | Verwaltete Anforderungen für Apps, bei denen die App-ID als Schlüssel dient. Diese Anforderungen 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. Die Deaktivierung bleibt auch dann verbindlich, wenn mehrere Anforderungsquellen zusammengeführt werden. |
apps.<id>.tools.<tool>.approval_mode | auto | prompt | writes | approve | Lege den verwalteten Genehmigungsmodus für ein einzelnes App-Tool fest. |
check_for_update_on_startup | boolean | Legt verbindlich fest, ob Codex beim Start nach Updates sucht. |
computer_use | table | Über requirements.toml durchgesetzte Anforderungen an die Computernutzung. |
computer_use.allow_locked_computer_use | boolean | Setze den Wert auf false, um zu verhindern, dass die Computernutzung nach dem Sperren eines verwalteten macOS-Geräts fortgesetzt wird. Wird der Wert weggelassen, unterliegt die Nutzung bei gesperrtem Gerät keinen Einschränkungen durch die Anforderungen. |
default_permissions | string | Verwaltetes Standardprofil für Berechtigungen. Das Profil muss durch allowed_permission_profiles zugelassen sein. Lege diesen Wert explizit fest, damit das Verhalten vorhersehbar ist. Wird er nicht angegeben, verwendet Codex nur dann standardmäßig :workspace, wenn sowohl :workspace als auch :read-only ausdrücklich zugelassen sind. |
enforce_residency | string | Schreibt für den Datenverkehr der Codex-Dienste eine unterstützte Datenresidenz vor. Derzeit wird us akzeptiert. |
experimental_network | table | Administrativ verwaltete Netzwerkanforderungen für lokale Befehle in der Sandbox, die über requirements.toml durchgesetzt werden. Wenn sie aktiviert sind, können sie den Netzwerkproxy für Befehle auch ohne features.network_proxy starten. Sie regeln weder die Websuche noch Apps, MCP-Server, Browser oder den Netzwerkverkehr von Codex Cloud. |
experimental_network.allow_local_binding | boolean | Erlaubt aus der Sandbox heraus umfassenderen Zugriff auf lokale oder private Netzwerke. Zulassungsregeln für exakt angegebene lokale IP-Adressen oder für localhost können weiterhin bestimmte lokale Ziele freigeben, wenn der Wert false bleibt. |
experimental_network.allow_upstream_proxy | boolean | Erlaubt, den Netzwerkverkehr aus der Sandbox über einen in der Umgebung angegebenen Upstream-Proxy weiterzuleiten. |
experimental_network.allowed_domains | array<string> | Administrativ verwaltete 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. Nicht mit experimental_network.domains kombinieren. |
experimental_network.dangerously_allow_all_unix_sockets | boolean | Erlaubt beliebige Unix-Socket-Ziele statt nur der Ziele aus der Zulassungsliste. Nur in streng kontrollierten Umgebungen verwenden. |
experimental_network.dangerously_allow_non_loopback_proxy | boolean | Lässt für Anforderungen unter [experimental_network] Listener-Adressen zu, die nicht auf die Loopback-Schnittstelle beschränkt sind. Dadurch können Listener auch außerhalb von localhost erreichbar sein. |
experimental_network.denied_domains | array<string> | Administrativ verwaltete Sperrregeln in Listenform für den Netzwerkzugriff in der Sandbox. Nicht mit experimental_network.domains kombinieren. |
experimental_network.domains | map<string, allow | deny> | Administrativ verwaltete Domain-Richtlinie in Map-Form für den Netzwerkzugriff in der Sandbox. Unterstützt exakt angegebene Hosts, *.example.com nur für Subdomains, **.example.com für die Apex-Domain einschließlich Subdomains sowie globale Zulassungsregeln mit *. Bevorzuge eingegrenzte Regeln, da * ausgehenden Zugriff auf öffentliche Ziele weitgehend freigibt. Bei Konflikten hat deny Vorrang. Nicht mit experimental_network.allowed_domains oder experimental_network.denied_domains kombinieren. |
experimental_network.enabled | boolean | Aktiviert Anforderungen an den Netzwerkzugriff in der Sandbox. Dadurch wird kein Netzwerkzugriff gewährt, wenn der Netzwerkzugriff für Befehle in der aktiven Sandbox deaktiviert ist. |
experimental_network.http_port | integer | Port des HTTP-Listeners auf der Loopback-Schnittstelle für die Anforderungen unter [experimental_network]. |
experimental_network.managed_allowed_domains_only | boolean | Bei true gelten ausschließlich administrativ verwaltete Zulassungsregeln, solange Anforderungen an den Netzwerkzugriff in der Sandbox aktiv sind. Ergänzungen der Zulassungsliste auf Nutzerseite werden ignoriert. Auch wenn keine verwalteten Zulassungsregeln vorhanden sind, bleiben auf Nutzerseite hinzugefügte Domain-Zulassungsregeln unwirksam. |
experimental_network.socks_port | integer | Port des SOCKS5-Listeners auf der Loopback-Schnittstelle für die Anforderungen unter [experimental_network]. |
experimental_network.unix_sockets | map<string, allow | deny> | Administrativ verwaltete Unix-Socket-Richtlinie für den Netzwerkzugriff in der Sandbox. |
features | table | Festgeschriebene Werte für Funktionen. 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 | Schreibt vor, dass eine dokumentierte Laufzeit- oder App-Funktion aktiviert oder deaktiviert bleibt. |
features.apps | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob die Apps-Integration verfügbar ist. |
features.browser_use | boolean | Setze den Wert in requirements.toml auf false, um die Computernutzung in Browsern und den Browser-Agenten zu deaktivieren. |
features.browser_use_external | boolean | Setze den Wert in requirements.toml auf false, um die Computernutzung in externen Browsern zu deaktivieren. |
features.browser_use_full_cdp_access | boolean | Setze den Wert in requirements.toml auf false, um den vollständigen Zugriff auf das Chrome DevTools Protocol in der lokalen Laufzeitumgebung einschließlich des Browser-Entwicklermodus zu deaktivieren. Damit verhinderst du auch, dass die ChatGPT-Desktop-App die entsprechende Einstellung aktiviert. Wird der Wert weggelassen, gilt die reguläre Produktverfügbarkeit. |
features.computer_use | boolean | Setze den Wert in requirements.toml auf false, um die Computernutzung, „Aufzeichnen und Wiedergeben“ sowie zugehörige Installations- oder Aktivierungsabläufe zu deaktivieren. |
features.fast_mode | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob die kanonische Funktion fast_mode aktiviert ist. |
features.guardian_approval | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob Genehmigungen durch Guardian verfügbar sind. |
features.in_app_browser | boolean | Setze den Wert in requirements.toml auf false, um den integrierten Browserbereich zu deaktivieren. |
features.in_app_updates | boolean | Setze den Wert in requirements.toml auf false, um In-App-Updates zu deaktivieren. Wird diese Anforderung weggelassen, bleiben Updates standardmäßig aktiviert. |
features.memories | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob Erinnerungen verfügbar sind. |
features.multi_agent | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob Multi-Agent-Funktionen verfügbar sind. |
features.plugin_sharing | boolean | Setze den Wert in der über die Cloud verwalteten requirements.toml auf false, um das Teilen lokal erstellter Plug-ins im Workspace zu deaktivieren. |
features.plugins | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob Plug-ins verfügbar sind. |
features.remote_plugin | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob der Remote-Plug-in-Katalog verfügbar ist. |
features.workspace_dependencies | boolean | Legt für verwaltete Nutzerkonten verbindlich fest, ob die mitgelieferte Laufzeitumgebung für Workspace-Abhängigkeiten verfügbar ist. |
feedback | table | Verwaltete Feedback-Einstellungen. |
feedback.enabled | boolean | Legt verbindlich fest, ob Nutzende über Codex-Clients Feedback senden können. |
guardian_policy_config | string | Verwaltete Richtlinienvorgaben in Markdown für die automatische Überprüfung. Sie haben Vorrang vor der lokalen Einstellung [auto_review].policy. Leere Werte werden ignoriert. |
hooks | table | Administrativ durchgesetzte, verwaltete Lebenszyklus-Hooks. Sie erfordern ein Verzeichnis für verwaltete Hooks und verwenden dasselbe Ereignisschema wie die Inline-Konfiguration [hooks] in config.toml. |
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-Hooks und MCP-Tool-Hooks 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 aus additionalContext auf dem Datenträger gespeichert werden und das Modell eine kürzere Vorschau erhält. Der Standardwert ist 2500; bei 0 erhält das Modell direkt den vollständigen Kontext. Siehe Umfangreiche Hook-Ausgaben. |
hooks.<Event>[].hooks[].async | boolean | Führt 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 | Überschreibt den Befehl für Befehls-Hooks nur unter Windows. Der TOML-Alias command_windows wird ebenfalls akzeptiert. |
hooks.managed_dir | string (absolute path) | Verzeichnis mit verwalteten Hook-Skripten unter macOS und Linux. Codex prüft vor dem Laden der verwalteten Hooks, ob der Pfad absolut und das Verzeichnis vorhanden ist. |
hooks.windows_managed_dir | string (absolute path) | Verzeichnis mit verwalteten Hook-Skripten unter Windows. Codex prüft vor dem Laden der verwalteten Hooks, ob der Pfad absolut und das Verzeichnis vorhanden ist. |
log_dir | string (path) | Legt verbindlich das Verzeichnis fest, in das Codex lokale Protokolldateien schreibt. |
marketplaces | table | Administrative Anforderungen für Quellen von Plug-in-Marketplaces. Die Regeln gelten, wenn restrict_to_allowed_sources auf true gesetzt ist. |
marketplaces.allowed_sources | table | Zulässige Marketplace-Quellen, deren Schlüssel administrativ festgelegte Regelnamen sind. Über mehrere Anforderungsebenen hinweg bleiben Regeln mit unterschiedlichen Namen jeweils erhalten; für Felder unter demselben Namen gilt die übliche Prioritätsreihenfolge der Ebenen. |
marketplaces.allowed_sources.<name> | table | Eine Regel für eine zulässige Quelle. Nach dem Zusammenführen der Anforderungen bestimmt der endgültige Wert von source, welche weiteren Felder auf derselben Ebene Codex auswertet. |
marketplaces.allowed_sources.<name>.host_pattern | string | Regulärer Ausdruck, der bei source = "host_pattern" erforderlich ist. Codex gleicht ihn mit dem in Kleinbuchstaben umgewandelten Hostnamen ab, den es aus einer Git-Quelle im HTTPS-, SSH- oder SCP-Format extrahiert. Verwende ^ und $, damit der gesamte Hostname übereinstimmen muss. |
marketplaces.allowed_sources.<name>.path | string (absolute path) | Lokales Marketplace-Verzeichnis, das bei source = "local" erforderlich ist. Codex verlangt einen absoluten Pfad und vergleicht Pfade nach der Normalisierung. |
marketplaces.allowed_sources.<name>.ref | string | Optionale exakte Git-Referenz für eine git-Regel. Ohne diese Angabe lässt die Regel jede Referenz für das passende Repository zu. |
marketplaces.allowed_sources.<name>.source | git | host_pattern | local | Abgleichstyp für Marketplace-Quellen. Verwende git für ein Repository, host_pattern für Git-Hosts, die mit einem regulären Ausdruck abgeglichen werden, oder local für ein Verzeichnis. |
marketplaces.allowed_sources.<name>.url | string | URL des Git-Repositorys, die bei source = "git" erforderlich ist. Codex normalisiert die konfigurierten und zulässigen URLs. Danach müssen die Repositorys exakt übereinstimmen. |
marketplaces.restrict_to_allowed_sources | boolean | Wenn der Wert true ist, müssen von Nutzenden konfigurierte Marketplace-Quellen beim Hinzufügen von Marketplaces, bei der Installation von Plug-ins und bei der Aktualisierung konfigurierter Git-Marketplaces mit allowed_sources übereinstimmen. Von Codex verwaltete OpenAI-Marketplaces bleiben zulässig, wenn ihre Quelle und ihr Name den reservierten Werten entsprechen. Bereits von Nutzenden konfigurierte Marketplaces werden dadurch zur Laufzeit nicht gefiltert. |
mcp_servers | table | Zulassungsliste für MCP-Server, die aktiviert werden dürfen. Damit ein MCP-Server aktiviert werden kann, müssen sowohl der Servername ( <id>) als auch seine Identität übereinstimmen. Alle konfigurierten MCP-Server, die nicht in der Zulassungsliste stehen oder deren Identität nicht übereinstimmt, werden 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 | Lässt einen MCP-Server mit stdio-Transport anhand einer exakt übereinstimmenden Befehlszeichenfolge zu. Alternativ kannst du über eine Matcher-Tabelle eine exakt übereinstimmende ausführbare Datei und Argument-Matcher in festgelegter Reihenfolge vorgeben. Die Zeichenfolgenform prüft weder Argumente noch cwd, env oder env_vars. |
mcp_servers.<id>.identity.command.args | array<table> | Argument-Matcher in festgelegter Reihenfolge für einen stdio-Server. Die konfigurierte Argumentliste muss dieselbe Länge haben und an jeder Position den zugehörigen Matcher erfüllen. Befehls-Matcher prüfen weder cwd noch env noch env_vars. |
mcp_servers.<id>.identity.command.args[].expression | string | Regulärer Ausdruck für einen Argument-Matcher vom Typ regex. Der Ausdruck muss gültig sein und auf den vollständigen Argumentwert passen. |
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 für den stdio-Server konfigurierte Wert von command exakt übereinstimmen muss. |
mcp_servers.<id>.identity.url | string | table | Lässt einen MCP-Server mit streamable HTTP anhand einer exakt übereinstimmenden URL-Zeichenfolge zu. Alternativ kannst du eine Tabelle für einen Wert-Matcher vom Typ exact, prefix oder regex verwenden. |
mcp_servers.<id>.identity.url.expression | string | Regulärer Ausdruck für einen URL-Matcher vom Typ regex. Der Ausdruck muss gültig sein und auf den vollständigen URL-Wert passen. |
mcp_servers.<id>.identity.url.match | exact | prefix | regex | Abgleichsoperation für die konfigurierte URL des MCP-Servers. |
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 | Verwaltete Standardwerte für Modelle in neuen Threads. Diese Werte haben Vorrang vor Standardwerten auf Benutzer- und Projektebene. Eine explizite Auswahl für den neuen Thread kann sie jedoch überschreiben. |
models.new_thread | table | Standardwerte, die beim Start eines neuen lokalen Threads angewendet werden. Jede Modelleinstellung ist optional. |
models.new_thread.model | string | Standardmodell für neue Threads. Eine explizite Überschreibung mit --model oder eine Überschreibung des Modells beziehungsweise des Reasoning-Aufwands mit --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 explizit überschrieben, werden beide verwalteten Modellfelder übersprungen. |
models.new_thread.service_tier | string | Standardmäßige Servicestufe für neue Threads. Eine explizite Überschreibung der Servicestufe hat unabhängig von den Modellfeldern Vorrang. |
permissions | table | Von der Administration definierte Berechtigungsprofile mit dem Profilnamen als Schlüssel. Es werden dieselben Profilfelder wie in config.toml verwendet. |
permissions.<name> | table | Von der Administration definiertes Berechtigungsprofil. Der Name darf nicht mit : beginnen, nicht dem reservierten Namen filesystem entsprechen und nicht mit dem Namen eines Profils aus einer geladenen Konfiguration übereinstimmen. Das Profil verwendet dieselben Felder wie in config.toml; das vollständige Profilschema findest du im Leitfaden zu Berechtigungen. |
permissions.filesystem.deny_read | array<string> | Administrativ durchgesetzte Lesesperren im Dateisystem. Einträge können Pfade oder Glob-Muster sein; diese Sperren lassen sich über die lokale Konfiguration nicht abschwächen. |
plugins | table | Plug-in-spezifische Zulassungslisten für MCP-Server mit Plug-in-Kennungen als Schlüsseln. Wenn diese Tabelle vorhanden ist, werden mit Plug-ins ausgelieferte Server deaktiviert, für die kein passender Plug-in- und Servereintrag vorhanden ist. |
plugins.<plugin>.mcp_servers | table | Zulassungsliste für MCP-Server, die mit einem Plug-in ausgeliefert werden. Anforderungen für Plug-in-Server verwenden dieselben Formen für den exakten Identitätsabgleich und für Matcher wie die Anforderungen für mcp_servers auf oberster Ebene. |
plugins.<plugin>.mcp_servers.<server>.identity | table | Identitätsregel für einen mit einem Plug-in ausgelieferten MCP-Server. Lege entweder command (stdio) oder url (streamable HTTP) fest. |
plugins.<plugin>.mcp_servers.<server>.identity.command | string | table | Lasse den stdio-MCP-Server eines Plug-ins anhand einer exakt übereinstimmenden Befehlszeichenfolge zu oder verwende eine Abgleichstabelle, die eine exakt übereinstimmende ausführbare Datei und Abgleichsregeln für Argumente in festgelegter Reihenfolge vorschreibt. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args | array<table> | Geordnete Abgleichsregeln für die Argumente eines im Plug-in enthaltenen stdio-Servers. Die konfigurierte Argumentliste muss dieselbe Länge haben, und an jeder Position muss der Abgleich erfolgreich sein. |
plugins.<plugin>.mcp_servers.<server>.identity.command.args[].expression | string | Regulärer Ausdruck für einen Argumentabgleich mit regex. Der Ausdruck muss den gesamten Argumentwert erfassen. |
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 für einen Argumentabgleich mit exact oder prefix. |
plugins.<plugin>.mcp_servers.<server>.identity.command.executable | string | Ausführbare Datei, mit der der konfigurierte Befehl des im Plug-in enthaltenen stdio-Servers exakt übereinstimmen muss. |
plugins.<plugin>.mcp_servers.<server>.identity.url | string | table | Lasse den MCP-Server eines Plug-ins mit Streamable HTTP anhand einer exakt übereinstimmenden URL-Zeichenfolge zu oder verwende eine Tabelle für den Wertabgleich mit 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 den gesamten URL-Wert erfassen. |
plugins.<plugin>.mcp_servers.<server>.identity.url.match | exact | prefix | regex | Abgleichsoperation für die URL des im Plug-in enthaltenen MCP-Servers. |
plugins.<plugin>.mcp_servers.<server>.identity.url.value | string | Wert für einen URL-Abgleich mit exact oder prefix. |
remote_sandbox_config | array<table> | Hostspezifische Sandbox-Anforderungen. Der erste Eintrag, dessen hostname_patterns auf den ermittelten Hostnamen passen, ü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 | Von der Administration verbindlich vorgegebene Befehlsregeln, die mit .rules-Dateien zusammengeführt werden. Regeln in den Anforderungen müssen einschränkend sein. |
rules.prefix_rules | array<table> | Liste verbindlicher Präfixregeln. Jede Regel muss pattern und decision enthalten. |
rules.prefix_rules[].decision | prompt | forbidden | Erforderlich. Regeln in den Anforderungen dürfen nur eine Genehmigung anfordern oder Befehle verbieten, aber keine Befehle erlauben. |
rules.prefix_rules[].justification | string | Optionale Begründung, die nicht leer sein darf und in Genehmigungsanfragen oder Ablehnungsmeldungen angezeigt wird. |
rules.prefix_rules[].pattern | array<table> | Befehlspräfix in Form von Muster-Tokens. Jedes Token legt entweder token oder any_of fest. |
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 Literal-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 zulässig sind und kein Modus ausgewählt ist, bevorzugt Codex elevated. |
windows.sandbox_private_desktop | boolean | Legt verbindlich fest, ob die native Windows-Sandbox ihren untergeordneten Prozess auf einem privaten Desktop startet. |
allow_appshotsbooleanfalse, um Appshots für verwaltete Nutzerkonten zu deaktivieren. Wird der Wert weggelassen, schränken die Anforderungen Appshots nicht ein. Es gilt dann die reguläre Produktverfügbarkeit.allow_login_shellbooleanallow_managed_hooks_onlybooleantrue überspringt Codex Nutzer-, Projekt-, Sitzungs- und Plug-in-Hooks. Verwaltete Hooks aus requirements.toml und anderen verwalteten Konfigurationsebenen bleiben zulässig.allow_remote_controlbooleanfalse, um die Fernsteuerung von Geräten für verwaltete Nutzerkonten zu deaktivieren. Wird der Wert weggelassen, schränken die Anforderungen die Fernsteuerung von Geräten nicht ein. Es gilt dann die reguläre 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_permission_profilestable<boolean>true sind zulässig. Nicht aufgeführte oder auf false gesetzte Profile werden abgelehnt; das gilt auch für Profile, die in zukünftigen Versionen hinzukommen. Wenn Anforderungsquellen kombiniert werden, werden Einträge anhand des Profilnamens abgeglichen.allowed_permission_profiles.<name>booleanfalse ein Profil deaktivieren, das eine frühere Quelle mit niedrigerer Priorität zugelassen hat.allowed_sandbox_modesarray<string>sandbox_mode.allowed_web_search_modesarray<string>web_search (disabled, cached, indexed, live). disabled ist immer zulässig; eine leere Liste lässt praktisch nur disabled zu.appstableapps.<id>.enabledbooleanfalse, um eine App zu deaktivieren. Die Deaktivierung bleibt auch dann verbindlich, wenn mehrere Anforderungsquellen zusammengeführt werden.apps.<id>.tools.<tool>.approval_modeauto | prompt | writes | approvecheck_for_update_on_startupbooleancomputer_usetablerequirements.toml durchgesetzte Anforderungen an die Computernutzung.computer_use.allow_locked_computer_usebooleanfalse, um zu verhindern, dass die Computernutzung nach dem Sperren eines verwalteten macOS-Geräts fortgesetzt wird. Wird der Wert weggelassen, unterliegt die Nutzung bei gesperrtem Gerät keinen Einschränkungen durch die Anforderungen.default_permissionsstringallowed_permission_profiles zugelassen sein. Lege diesen Wert explizit fest, damit das Verhalten vorhersehbar ist. Wird er nicht angegeben, verwendet Codex nur dann standardmäßig :workspace, wenn sowohl :workspace als auch :read-only ausdrücklich zugelassen sind.enforce_residencystringus akzeptiert.experimental_networktablerequirements.toml durchgesetzt werden. Wenn sie aktiviert sind, können sie den Netzwerkproxy für Befehle auch ohne features.network_proxy starten. Sie regeln weder die Websuche noch Apps, MCP-Server, Browser oder den Netzwerkverkehr von Codex Cloud.experimental_network.allow_local_bindingbooleanlocalhost können weiterhin bestimmte lokale Ziele freigeben, wenn der Wert false bleibt.experimental_network.allow_upstream_proxybooleanexperimental_network.allowed_domainsarray<string>experimental_network.domains kombinieren.experimental_network.dangerously_allow_all_unix_socketsbooleanexperimental_network.dangerously_allow_non_loopback_proxyboolean[experimental_network] Listener-Adressen zu, die nicht auf die Loopback-Schnittstelle beschränkt sind. Dadurch können Listener auch außerhalb von localhost erreichbar sein.experimental_network.denied_domainsarray<string>experimental_network.domains kombinieren.experimental_network.domainsmap<string, allow | deny>*.example.com nur für Subdomains, **.example.com für die Apex-Domain einschließlich Subdomains sowie globale Zulassungsregeln mit *. Bevorzuge eingegrenzte Regeln, da * ausgehenden Zugriff auf öffentliche Ziele weitgehend freigibt. Bei Konflikten hat deny Vorrang. Nicht mit experimental_network.allowed_domains oder experimental_network.denied_domains kombinieren.experimental_network.enabledbooleanexperimental_network.http_portinteger[experimental_network].experimental_network.managed_allowed_domains_onlybooleantrue gelten ausschließlich administrativ verwaltete Zulassungsregeln, solange Anforderungen an den Netzwerkzugriff in der Sandbox aktiv sind. Ergänzungen der Zulassungsliste auf Nutzerseite werden ignoriert. Auch wenn keine verwalteten Zulassungsregeln vorhanden sind, bleiben auf Nutzerseite hinzugefügte Domain-Zulassungsregeln unwirksam.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 Computernutzung in Browsern und den Browser-Agenten zu deaktivieren.features.browser_use_externalbooleanrequirements.toml auf false, um die Computernutzung in externen Browsern zu deaktivieren.features.browser_use_full_cdp_accessbooleanrequirements.toml auf false, um den vollständigen Zugriff auf das Chrome DevTools Protocol in der lokalen Laufzeitumgebung einschließlich des Browser-Entwicklermodus zu deaktivieren. Damit verhinderst du auch, dass die ChatGPT-Desktop-App die entsprechende Einstellung aktiviert. Wird der Wert weggelassen, gilt die reguläre Produktverfügbarkeit.features.computer_usebooleanrequirements.toml auf false, um die Computernutzung, „Aufzeichnen und Wiedergeben“ sowie zugehörige Installations- oder Aktivierungsabläufe zu deaktivieren.features.fast_modebooleanfast_mode aktiviert ist.features.guardian_approvalbooleanfeatures.in_app_browserbooleanrequirements.toml auf false, um den integrierten Browserbereich zu deaktivieren.features.in_app_updatesbooleanrequirements.toml auf false, um In-App-Updates zu deaktivieren. Wird diese Anforderung weggelassen, bleiben Updates standardmäßig aktiviert.features.memoriesbooleanfeatures.multi_agentbooleanfeatures.plugin_sharingbooleanrequirements.toml auf false, um das Teilen lokal erstellter Plug-ins im Workspace zu deaktivieren.features.pluginsbooleanfeatures.remote_pluginbooleanfeatures.workspace_dependenciesbooleanfeedbacktablefeedback.enabledbooleanguardian_policy_configstring[auto_review].policy. Leere Werte werden ignoriert.hookstable[hooks] in config.toml.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 werden und das Modell eine kürzere Vorschau erhält. Der Standardwert ist 2500; bei 0 erhält das Modell direkt den vollständigen Kontext. Siehe Umfangreiche 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)log_dirstring (path)marketplacestablerestrict_to_allowed_sources auf true gesetzt ist.marketplaces.allowed_sourcestablemarketplaces.allowed_sources.<name>tablesource, welche weiteren Felder auf derselben Ebene Codex auswertet.marketplaces.allowed_sources.<name>.host_patternstringsource = "host_pattern" erforderlich ist. Codex gleicht ihn mit dem in Kleinbuchstaben umgewandelten Hostnamen ab, den es aus einer Git-Quelle im HTTPS-, SSH- oder SCP-Format extrahiert. Verwende ^ und $, damit der gesamte Hostname übereinstimmen muss.marketplaces.allowed_sources.<name>.pathstring (absolute path)source = "local" erforderlich ist. Codex verlangt einen absoluten Pfad und vergleicht Pfade nach der Normalisierung.marketplaces.allowed_sources.<name>.refstringgit-Regel. Ohne diese Angabe lässt die Regel jede Referenz für das passende Repository zu.marketplaces.allowed_sources.<name>.sourcegit | host_pattern | localgit für ein Repository, host_pattern für Git-Hosts, die mit einem regulären Ausdruck abgeglichen werden, oder local für ein Verzeichnis.marketplaces.allowed_sources.<name>.urlstringsource = "git" erforderlich ist. Codex normalisiert die konfigurierten und zulässigen URLs. Danach müssen die Repositorys exakt übereinstimmen.marketplaces.restrict_to_allowed_sourcesbooleantrue ist, müssen von Nutzenden konfigurierte Marketplace-Quellen beim Hinzufügen von Marketplaces, bei der Installation von Plug-ins und bei der Aktualisierung konfigurierter Git-Marketplaces mit allowed_sources übereinstimmen. Von Codex verwaltete OpenAI-Marketplaces bleiben zulässig, wenn ihre Quelle und ihr Name den reservierten Werten entsprechen. Bereits von Nutzenden konfigurierte Marketplaces werden dadurch zur Laufzeit nicht gefiltert.mcp_serverstable<id>) als auch seine Identität übereinstimmen. Alle konfigurierten MCP-Server, die nicht in der Zulassungsliste stehen oder deren Identität nicht übereinstimmt, werden 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 noch env_vars.mcp_servers.<id>.identity.command.args[].expressionstringregex. Der Ausdruck muss gültig sein und auf den vollständigen Argumentwert passen.mcp_servers.<id>.identity.command.args[].matchexact | prefix | regexmcp_servers.<id>.identity.command.args[].valuestringexact oder prefix verwendet.mcp_servers.<id>.identity.command.executablestringcommand exakt übereinstimmen muss.mcp_servers.<id>.identity.urlstring | tableexact, prefix oder regex verwenden.mcp_servers.<id>.identity.url.expressionstringregex. Der Ausdruck muss gültig sein und auf den vollständigen URL-Wert passen.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 Überschreibung des Modells beziehungsweise des Reasoning-Aufwands mit --config hat Vorrang.models.new_thread.model_reasoning_effortstringmodels.new_thread.service_tierstringpermissionstableconfig.toml verwendet.permissions.<name>table: beginnen, nicht dem reservierten Namen filesystem entsprechen und nicht mit dem Namen eines Profils aus einer geladenen Konfiguration übereinstimmen. Das Profil verwendet dieselben Felder wie in config.toml; das vollständige Profilschema findest du im Leitfaden zu Berechtigungen.permissions.filesystem.deny_readarray<string>pluginstableplugins.<plugin>.mcp_serverstablemcp_servers 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. Der Ausdruck muss den gesamten Argumentwert erfassen.plugins.<plugin>.mcp_servers.<server>.identity.command.args[].matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.command.args[].valuestringexact oder prefix.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 den gesamten URL-Wert erfassen.plugins.<plugin>.mcp_servers.<server>.identity.url.matchexact | prefix | regexplugins.<plugin>.mcp_servers.<server>.identity.url.valuestringexact oder prefix.remote_sandbox_configarray<table>hostname_patterns auf den ermittelten Hostnamen passen, ü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 Anforderungen 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 fest.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 zulässig sind und kein Modus ausgewählt ist, bevorzugt Codex elevated.windows.sandbox_private_desktopboolean