Verwenden Sie diese Seite als durchsuchbare Referenz für Codex-Konfigurationsdateien. Konzeptionelle Anleitungen und Beispiele finden Sie zunächst unter Grundlagen der Konfiguration und Erweiterte Konfiguration .
config.toml
Die Konfiguration auf Benutzerebene befindet sich in ~/.codex/config.toml. Sie können außerdem projektspezifische Überschreibungen in .codex/config.toml-Dateien hinzufügen. Codex lädt projektspezifische Konfigurationsdateien nur, wenn Sie dem Projekt vertrauen.
Die projektspezifische Konfiguration kann keine maschinenlokalen Anbieter-, Authentifizierungs-,
vom Host verwalteten App-Anforderungsmetadaten-, Benachrichtigungs-, Konfigurationsprofilauswahl-
oder Telemetrie-Routing-Schlüssel überschreiben. Codex ignoriert openai_base_url,
chatgpt_base_url, apps_mcp_product_sku, model_provider,
model_providers, notify, profile, profiles,
experimental_realtime_ws_base_url und otel, wenn sie in einer
projektlokalen .codex/config.toml vorkommen; legen Sie Anbieter-, Benachrichtigungs- und Telemetrie-
Schlüssel stattdessen in der Konfiguration auf Benutzerebene ab. Konfigurations-Profildateien befinden sich neben
config.toml als $CODEX_HOME/profile-name.config.toml; wählen Sie eine davon mit
--profile profile-name aus.
Ziehen Sie für Sandbox- und Genehmigungsschlüssel (approval_policy, sandbox_mode und sandbox_workspace_write.*) zusätzlich zu dieser Referenz die Seiten Sandbox und Genehmigungen , Geschützte Pfade in beschreibbaren Stammverzeichnissen und Netzwerkzugriff heran. Informationen zu Beta-Berechtigungsprofilen finden Sie unter Berechtigungen .
<ConfigTable
options={[
{
key: "model",
type: "string",
description: "Zu verwendendes Modell (z. B. gpt-5.5).",
},
{
key: "review_model",
type: "string",
description:
"Optionale Modellüberschreibung für /review (standardmäßig das Modell der aktuellen Sitzung).",
},
{
key: "model_provider",
type: "string",
description: "Anbieter-ID aus model_providers (Standard: openai).",
},
{
key: "openai_base_url",
type: "string",
description:
"Überschreibung der Basis-URL für den integrierten Modellanbieter openai.",
},
{
key: "model_context_window",
type: "number",
description: "Für das aktive Modell verfügbare Kontextfenster-Token.",
},
{
key: "model_auto_compact_token_limit",
type: "number",
description:
"Token-Schwellenwert, der die automatische Komprimierung des Verlaufs auslöst (wenn nicht festgelegt, werden die Modellstandards verwendet).",
},
{
key: "model_auto_compact_token_limit_scope",
type: "total | body_after_prefix",
description:
"Legt fest, ob der Schwellenwert für die automatische Komprimierung den gesamten aktiven Kontext (total, die Standardeinstellung) oder nur den Zuwachs nach dem übernommenen Präfix des Komprimierungsfensters (body_after_prefix) berücksichtigt.",
},
{
key: "model_catalog_json",
type: "string (path)",
description:
"Optionaler Pfad zu einem JSON-Modellkatalog, der beim Start geladen wird. Eine ausgewählte $CODEX_HOME/profile-name.config.toml-Profildatei kann diesen Wert für das jeweilige Profil überschreiben.",
},
{
key: "oss_provider",
type: "lmstudio | ollama",
description:
"Standardmäßiger lokaler Anbieter bei der Ausführung mit --oss (wenn nicht festgelegt, wird standardmäßig nachgefragt).",
},
{
key: "approval_policy",
type: "untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }",
description:
"Steuert, wann Codex vor der Ausführung von Befehlen für eine Genehmigung pausiert. Mit approval_policy = { granular = { ... } } können Sie außerdem bestimmte Kategorien von Abfragen zulassen oder automatisch ablehnen, während andere Abfragen interaktiv bleiben. on-failure ist veraltet; verwenden Sie on-request für interaktive oder never für nicht interaktive Ausführungen.",
},
{
key: "approval_policy.granular.sandbox_approval",
type: "boolean",
description:
"Bei true dürfen Genehmigungsabfragen für Sandbox-Eskalationen angezeigt werden.",
},
{
key: "approval_policy.granular.rules",
type: "boolean",
description:
"Bei true dürfen Genehmigungen angezeigt werden, die durch execpolicy-Regeln vom Typ prompt ausgelöst werden.",
},
{
key: "approval_policy.granular.mcp_elicitations",
type: "boolean",
description:
"Bei true dürfen MCP-Abfragen angezeigt werden, anstatt automatisch abgelehnt zu werden.",
},
{
key: "approval_policy.granular.request_permissions",
type: "boolean",
description:
"Bei true dürfen Abfragen des Tools request_permissions angezeigt werden.",
},
{
key: "approval_policy.granular.skill_approval",
type: "boolean",
description:
"Bei true dürfen Genehmigungsabfragen für Skill-Skripte angezeigt werden.",
},
{
key: "approvals_reviewer",
type: "user | auto_review",
description:
"Legt fest, wer zulässige Genehmigungsabfragen unter on-request oder granularen Genehmigungsrichtlinien prüft. Standardmäßig user; auto_review verwendet den Prüfer-Subagenten. Diese Einstellung ändert weder die Sandbox-Konfiguration noch bereits innerhalb der Sandbox zulässige Prüfaktionen.",
},
{
key: "auto_review.policy",
type: "string",
description:
"Lokale Markdown-Richtlinienanweisungen für die automatische Prüfung. Verwaltetes guardian_policy_config hat Vorrang. Leere Werte werden ignoriert.",
},
{
key: "allow_login_shell",
type: "boolean",
description:
"Erlaubt Shell-basierten Tools die Verwendung der Login-Shell-Semantik. Standardmäßig true; bei false werden login = true-Anfragen abgelehnt und für nicht angegebenes login werden standardmäßig Nicht-Login-Shells verwendet.",
},
{
key: "sandbox_mode",
type: "read-only | workspace-write | danger-full-access",
description:
"Sandbox-Richtlinie für den Dateisystem- und Netzwerkzugriff während der Befehlsausführung.",
},
{
key: "sandbox_workspace_write.writable_roots",
type: "array",
description:
'Zusätzliche beschreibbare Stammverzeichnisse bei sandbox_mode = "workspace-write".',
},
{
key: "sandbox_workspace_write.network_access",
type: "boolean",
description:
"Erlaubt ausgehenden Netzwerkzugriff innerhalb der workspace-write-Sandbox.",
},
{
key: "sandbox_workspace_write.exclude_tmpdir_env_var",
type: "boolean",
description:
"Schließt $TMPDIR im workspace-write-Modus von den beschreibbaren Stammverzeichnissen aus.",
},
{
key: "sandbox_workspace_write.exclude_slash_tmp",
type: "boolean",
description:
"Schließt /tmp im workspace-write-Modus von den beschreibbaren Stammverzeichnissen aus.",
},
{
key: "windows.sandbox",
type: "unelevated | elevated",
description:
"Nativer Sandbox-Modus nur für Windows, wenn Codex nativ unter Windows ausgeführt wird.",
},
{
key: "windows.sandbox_private_desktop",
type: "boolean",
description:
"Führt den finalen untergeordneten Sandbox-Prozess unter nativem Windows standardmäßig auf einem privaten Desktop aus. Setzen Sie false nur zur Kompatibilität mit dem älteren Winsta0\\\\Default-Verhalten.",
},
{
key: "computer_use.windows.always_allowed_app_ids",
type: "array",
description:
"Windows-App-Kennungen, die Computer Use ohne Rückfrage öffnen kann. Apps, die nicht in der Liste enthalten sind, erfordern eine Genehmigung; entfernen Sie gespeicherte Einträge in den Computer-Use-Einstellungen der ChatGPT-Desktop-App.",
},
{
key: "notify",
type: "array",
description:
"Für Benachrichtigungen aufgerufener Befehl; erhält eine JSON-Nutzlast von Codex.",
},
{
key: "check_for_update_on_startup",
type: "boolean",
description:
"Prüft beim Start auf Codex-Updates (nur auf false setzen, wenn Updates zentral verwaltet werden).",
},
{
key: "feedback.enabled",
type: "boolean",
description:
"Aktiviert die Übermittlung von Feedback über /feedback in lokalen Clients (Standard: true).",
},
{
key: "analytics.enabled",
type: "boolean",
description:
"Aktiviert oder deaktiviert Analysen für diesen Computer bzw. dieses Profil. Wenn nicht festgelegt, gilt der Clientstandard.",
},
{
key: "instructions",
type: "string",
description:
"Für die zukünftige Verwendung reserviert; verwenden Sie vorzugsweise model_instructions_file oder AGENTS.md.",
},
{
key: "developer_instructions",
type: "string",
description:
"Zusätzliche Entwickleranweisungen, die in die Sitzung eingefügt werden (optional).",
},
{
key: "log_dir",
type: "string (path)",
description:
"Verzeichnis, in das Codex Protokolldateien schreibt; standardmäßig $CODEX_HOME/log. Wenn Sie dies explizit festlegen, wird außerdem das optionale TUI-Klartextprotokoll codex-tui.log in diesem Verzeichnis aktiviert.",
},
{
key: "sqlite_home",
type: "string (path)",
description:
"Verzeichnis, in dem Codex die SQLite-basierte Statusdatenbank für Agentenaufträge und andere fortsetzbare Laufzeitstatus speichert.",
},
{
key: "compact_prompt",
type: "string",
description: "Direkte Überschreibung der Abfrage zur Verlaufskomprimierung.",
},
{
key: "model_instructions_file",
type: "string (path)",
description:
"Ersatz für integrierte Anweisungen anstelle von AGENTS.md.",
},
{
key: "personality",
type: "none | friendly | pragmatic",
description:
"Standardkommunikationsstil für Modelle, die supportsPersonality angeben; kann pro Thread bzw. Ausführung oder über /personality überschrieben werden.",
},
{
key: "service_tier",
type: "string",
description:
"Bevorzugte Dienststufe für neue Ausführungen. Verwenden Sie fast oder eine andere vom aktiven Modell angegebene Stufe; fast wird dem Anfragewert priority zugeordnet.",
},
{
key: "experimental_compact_prompt_file",
type: "string (path)",
description:
"Lädt die Überschreibung der Komprimierungsabfrage aus einer Datei (experimentell).",
},
{
key: "skills.config",
type: "array",
description: "In config.toml gespeicherte Aktivierungsüberschreibungen pro Skill.",
},
{
key: "skills.config..path",
type: "string (path)",
description: "Pfad zu einem Skill-Ordner, der SKILL.md enthält.",
},
{
key: "skills.config..enabled",
type: "boolean",
description: "Aktiviert oder deaktiviert den referenzierten Skill.",
},
{
key: "apps..enabled",
type: "boolean",
description:
"Aktiviert oder deaktiviert eine bestimmte App bzw. einen bestimmten Connector anhand der ID (Standard: true).",
},
{
key: "apps._default.enabled",
type: "boolean",
description:
"Standardmäßiger Aktivierungsstatus für alle Apps, sofern er nicht pro App überschrieben wird.",
},
{
key: "apps._default.destructive_enabled",
type: "boolean",
description:
"Standardmäßiges Zulassen bzw. Ablehnen von App-Tools mit destructive_hint = true.",
},
{
key: "apps._default.open_world_enabled",
type: "boolean",
description:
"Standardmäßiges Zulassen bzw. Ablehnen von App-Tools mit open_world_hint = true.",
},
{
key: "apps._default.approvals_reviewer",
type: "user | auto_review",
description:
"Standardprüfer für Genehmigungsabfragen von App-Tools, sofern er nicht pro App überschrieben wird. Wenn nicht angegeben, übernehmen Apps den übergeordneten Wert approvals_reviewer.",
},
{
key: "apps._default.default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Standardmäßiges Genehmigungsverhalten für App-Tools ohne Überschreibungen pro App oder Tool.",
},
{
key: "apps..destructive_enabled",
type: "boolean",
description:
"Erlaubt oder blockiert Tools in dieser App, die destructive_hint = true angeben.",
},
{
key: "apps..open_world_enabled",
type: "boolean",
description:
"Erlaubt oder blockiert Tools in dieser App, die open_world_hint = true angeben.",
},
{
key: "apps..default_tools_enabled",
type: "boolean",
description:
"Standardmäßiger Aktivierungsstatus für Tools in dieser App, sofern keine Überschreibung pro Tool vorhanden ist.",
},
{
key: "apps..approvals_reviewer",
type: "user | auto_review",
description:
"Prüfer für Genehmigungsabfragen der Tools dieser App. Überschreibt apps._default.approvals_reviewer.",
},
{
key: "apps..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Standardmäßiges Genehmigungsverhalten für Tools in dieser App, sofern keine Überschreibung pro Tool vorhanden ist.",
},
{
key: "apps..tools..enabled",
type: "boolean",
description:
"Aktivierungsüberschreibung für ein einzelnes App-Tool (zum Beispiel repos/list).",
},
{
key: "apps..tools..approval_mode",
type: "auto | prompt | writes | approve",
description: "Überschreibung des Genehmigungsverhaltens für ein einzelnes App-Tool.",
},
{
key: "tool_suggest.discoverables",
type: "array",
description:
'Erlaubt Tool-Vorschläge für zusätzliche auffindbare Connectoren oder Plugins. Jeder Eintrag verwendet type = "connector" oder "plugin" sowie eine id.',
},
{
key: "tool_suggest.disabled_tools",
type: "array",
description:
'Deaktiviert Vorschläge für bestimmte auffindbare Connectoren oder Plugins. Jeder Eintrag verwendet type = "connector" oder "plugin" sowie eine id.',
},
{
key: "features.apps",
type: "boolean",
description:
"Aktiviert App- bzw. Connector-Integrationen (stabil; standardmäßig aktiviert).",
},
{
key: "features.hooks",
type: "boolean",
description:
"Aktiviert Lifecycle-Hooks, die aus hooks.json oder einer direkten [hooks]-Konfiguration geladen werden. features.codex_hooks ist ein veralteter Alias.",
},
{
key: "features.code_mode.enabled",
type: "boolean",
description:
"Aktiviert die Funktionskonfiguration für den Codemodus. Diese Funktion befindet sich in der Entwicklung und ist standardmäßig deaktiviert.",
},
{
key: "features.code_mode.excluded_tool_namespaces",
type: "array",
description:
"Tool-Namespaces, die der Codemodus aus verschachtelten Tool-Anleitungen und der Executor-Bereitstellung des Codemodus ausschließt.",
},
{
key: "features.code_mode.direct_only_tool_namespaces",
type: "array",
description:
"Tool-Namespaces, die der Codemodus nur über direkte Tool-Aufrufe verwenden kann.",
},
{
key: "features.rollout_budget.enabled",
type: "boolean",
description:
"Aktiviert die Erfassung des Rollout-Budgets. Diese Funktion befindet sich in der Entwicklung und ist standardmäßig deaktiviert. Wenn sie aktiviert ist, ist features.rollout_budget.limit_tokens erforderlich.",
},
{
key: "features.rollout_budget.limit_tokens",
type: "integer",
description:
"Positives Token-Limit für die Erfassung des Rollout-Budgets. Erforderlich, wenn das Rollout-Budget aktiviert ist.",
},
{
key: "features.rollout_budget.reminder_interval_tokens",
type: "integer",
description:
"Positives Token-Intervall zwischen Erinnerungen an das Rollout-Budget. Standardmäßig 10 % von limit_tokens, mindestens jedoch 1 Token.",
},
{
key: "features.rollout_budget.sampling_token_weight",
type: "number",
description:
"Endlicher, nicht negativer Multiplikator für Sampling-Token bei der Abrechnung des Rollout-Budgets. Standardmäßig 1.0.",
},
{
key: "features.rollout_budget.prefill_token_weight",
type: "number",
description:
"Endlicher, nicht negativer Multiplikator für Prefill-Token bei der Abrechnung des Rollout-Budgets. Standardmäßig 1.0.",
},
{
key: "hooks",
type: "table",
description:
"Direkt in config.toml konfigurierte Lifecycle-Hooks. Verwendet dasselbe Ereignisschema wie hooks.json; Beispiele und unterstützte Ereignisse finden Sie im Hooks-Leitfaden.",
},
{
key: "hooks.",
type: "array",
description:
"Matcher-Gruppen für Hook-Ereignisse wie PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit oder Stop.",
},
{
key: "hooks.[].hooks",
type: "array",
description:
"Hook-Handler für eine Matcher-Gruppe. Derzeit werden Befehls-Hooks unterstützt; Handler für Abfrage- und Agenten-Hooks werden geparst, aber übersprungen.",
},
{
key: "hooks.[].hooks[].commandWindows",
type: "string",
description:
"Nur unter Windows verwendete Befehlsüberschreibung für Befehls-Hooks. Der TOML-Alias command_windows wird ebenfalls akzeptiert.",
},
{
key: "features.memories",
type: "boolean",
description:
"Aktiviert Memories (standardmäßig deaktiviert).",
},
{
key: "mcp_servers..command",
type: "string",
description: "Startbefehl für einen MCP-stdio-Server.",
},
{
key: "mcp_servers..args",
type: "array",
description: "An den Befehl des MCP-stdio-Servers übergebene Argumente.",
},
{
key: "mcp_servers..env",
type: "map<string,string>",
description: "An den MCP-stdio-Server weitergeleitete Umgebungsvariablen.",
},
{
key: "mcp_servers..env_vars",
type: 'array<string | { name = string, source = "local" | "remote" }>',
description:
'Zusätzliche Umgebungsvariablen, die für einen MCP-stdio-Server in die Positivliste aufgenommen werden. String-Einträge verwenden standardmäßig source = "local"; verwenden Sie source = "remote" nur mit Executor-gestütztem Remote-stdio.',
},
{
key: "mcp_servers..cwd",
type: "string",
description: "Arbeitsverzeichnis für den MCP-stdio-Serverprozess.",
},
{
key: "mcp_servers..url",
type: "string",
description: "Endpunkt für einen streamfähigen MCP-HTTP-Server.",
},
{
key: "mcp_servers..auth",
type: "oauth | chatgpt",
description:
"Authentifizierungs-Fallback für einen MCP-HTTP-Server nach konfigurierten Bearer-Token und Autorisierungsheadern. oauth (Standard) verwendet gespeicherte MCP-OAuth-Anmeldedaten, sofern verfügbar. chatgpt verwendet für den vertrauenswürdigen Erstanbieter-ChatGPT-Ursprung die aktuelle ChatGPT-Sitzung und greift anschließend auf gespeichertes OAuth zurück. Beide Modi können eine Verbindung ohne Authentifizierung herstellen, wenn keine Anmeldedatenquelle aufgelöst werden kann.",
},
{
key: "mcp_servers..bearer_token_env_var",
type: "string",
description:
"Umgebungsvariable, aus der das Bearer-Token für einen MCP-HTTP-Server bezogen wird.",
},
{
key: "mcp_servers..http_headers",
type: "map<string,string>",
description: "Statische HTTP-Header, die in jede MCP-HTTP-Anfrage aufgenommen werden.",
},
{
key: "mcp_servers..env_http_headers",
type: "map<string,string>",
description:
"Aus Umgebungsvariablen befüllte HTTP-Header für einen MCP-HTTP-Server.",
},
{
key: "mcp_servers..enabled",
type: "boolean",
description: "Deaktiviert einen MCP-Server, ohne seine Konfiguration zu entfernen.",
},
{
key: "mcp_servers..required",
type: "boolean",
description:
"Bei true schlägt das Starten bzw. Fortsetzen fehl, wenn dieser aktivierte MCP-Server nicht initialisiert werden kann.",
},
{
key: "mcp_servers..startup_timeout_sec",
type: "number",
description:
"Überschreibt das standardmäßige Startzeitlimit von 10 Sekunden für einen MCP-Server.",
},
{
key: "mcp_servers..startup_timeout_ms",
type: "number",
description: "Alias für startup_timeout_sec in Millisekunden.",
},
{
key: "mcp_servers..tool_timeout_sec",
type: "number",
description:
"Überschreibt das standardmäßige Zeitlimit von 60 Sekunden pro Tool für einen MCP-Server.",
},
{
key: "mcp_servers..enabled_tools",
type: "array",
description: "Positivliste der vom MCP-Server bereitgestellten Tool-Namen.",
},
{
key: "mcp_servers..disabled_tools",
type: "array",
description:
"Negativliste, die nach enabled_tools auf den MCP-Server angewendet wird.",
},
{
key: "mcp_servers..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Standardmäßiges Genehmigungsverhalten für MCP-Tools auf diesem Server, sofern keine Überschreibung pro Tool vorhanden ist.",
},
{
key: "mcp_servers..tools..approval_mode",
type: "auto | prompt | writes | approve",
description:
"Überschreibung des Genehmigungsverhaltens für ein MCP-Tool auf diesem Server.",
},
{
key: "mcp_servers..scopes",
type: "array",
description:
"Bei der Authentifizierung bei diesem MCP-Server anzufordernde OAuth-Bereiche.",
},
{
key: "mcp_servers..oauth_resource",
type: "string",
description:
"Optionaler OAuth-Ressourcenparameter gemäß RFC 8707, der bei der MCP-Anmeldung einbezogen wird.",
},
{
key: "mcp_servers..experimental_environment",
type: "local | remote",
description:
"Experimenteller Ausführungsort für einen MCP-Server. remote startet stdio-Server über eine Remote-Executor-Umgebung; die Remote-Platzierung streamfähiger HTTP-Server ist nicht implementiert.",
},
{
key: "agents",
type: "table",
description:
"Multi-Agent-Einstellungen und benutzerdefinierte Rollendeklarationen. Skalare Einstellungsnamen sind reserviert und können nicht als benutzerdefinierte Rollennamen verwendet werden.",
},
{
key: "agents.enabled",
type: "boolean",
description: "Aktiviert oder deaktiviert Multi-Agent-Tools (Standard: true).",
},
{
key: "agents.max_concurrent_threads_per_session",
type: "number",
description:
"Maximale Anzahl gleichzeitig geöffneter Threads erzeugter Agenten ohne den primären Thread. Wenn nicht festgelegt, wählt Codex den Standardwert.",
},
{
key: "agents.max_threads",
type: "number",
description:
"Veralteter Alias für agents.max_concurrent_threads_per_session.",
},
{
key: "agents.default_subagent_model",
type: "string",
description:
"Standardmodell für erzeugte Agenten. Ein beim Erzeugen explizit angegebenes Modell hat Vorrang.",
},
{
key: "agents.default_subagent_reasoning_effort",
type: "string",
description:
"Standardmäßiger Reasoning-Aufwand für erzeugte Agenten. Ein beim Erzeugen explizit angegebener Aufwand hat Vorrang.",
},
{
key: "agents.interrupt_message",
type: "boolean",
description:
"Zeichnet eine für das Modell sichtbare Nachricht auf, wenn die Ausführung eines Agenten unterbrochen wird (Standard: true).",
},
{
key: "agents..description",
type: "string",
description:
"Rollenleitfaden, der Codex bei der Auswahl und Erzeugung dieses Agententyps angezeigt wird.",
},
{
key: "agents..config_file",
type: "string (path)",
description:
"Pfad zu einer TOML-Konfigurationsebene für diese Rolle; relative Pfade werden ausgehend von der Konfigurationsdatei aufgelöst, die die Rolle deklariert.",
},
{
key: "memories.generate_memories",
type: "boolean",
description:
"Bei false werden neu erstellte Threads nicht als Eingaben für die Generierung von Memories gespeichert. Standardmäßig true.",
},
{
key: "memories.use_memories",
type: "boolean",
description:
"Bei false überspringt Codex das Einfügen vorhandener Memories in zukünftige Sitzungen. Standardmäßig true.",
},
{
key: "memories.disable_on_external_context",
type: "boolean",
description:
"Bei true werden Threads, die externen Kontext wie MCP-Tool-Aufrufe, Websuche oder Tool-Suche verwenden, von der Generierung von Memories ausgeschlossen. Standardmäßig false. Veralteter Alias: memories.no_memories_if_mcp_or_web_search.",
},
{
key: "memories.max_raw_memories_for_consolidation",
type: "number",
description:
"Maximale Anzahl zuletzt erstellter Roh-Memories, die für die globale Konsolidierung aufbewahrt werden. Standardmäßig 256 und auf 4096 begrenzt.",
},
{
key: "memories.max_unused_days",
type: "number",
description:
"Maximale Anzahl von Tagen seit der letzten Verwendung eines Memory, bevor es nicht mehr für die Konsolidierung infrage kommt. Standardmäßig 30 und auf 0–365 begrenzt.",
},
{
key: "memories.max_rollout_age_days",
type: "number",
description:
"Maximales Alter der Threads, die für die Generierung von Memories berücksichtigt werden. Standardmäßig 30 und auf 0–90 begrenzt.",
},
{
key: "memories.max_rollouts_per_startup",
type: "number",
description:
"Maximale Anzahl der pro Startdurchlauf verarbeiteten Rollout-Kandidaten. Standardmäßig 16 und auf 128 begrenzt.",
},
{
key: "memories.min_rollout_idle_hours",
type: "number",
description:
"Mindestleerlaufzeit, bevor ein Thread für die Generierung von Memories berücksichtigt wird. Standardmäßig 6 und auf 1–48 begrenzt.",
},
{
key: "memories.min_rate_limit_remaining_percent",
type: "number",
description:
"Verbleibender Mindestprozentsatz in Codex-Ratenbegrenzungsfenstern, bevor die Generierung von Memories beginnt. Standardmäßig 25 und auf 0–100 begrenzt.",
},
{
key: "memories.extract_model",
type: "string",
description: "Optionale Modellüberschreibung für die Memory-Extraktion pro Thread.",
},
{
key: "memories.consolidation_model",
type: "string",
description: "Optionale Modellüberschreibung für die globale Memory-Konsolidierung.",
},
{
key: "features.unified_exec",
type: "boolean",
description:
"Verwendet das vereinheitlichte PTY-gestützte exec-Tool (stabil; außer unter Windows standardmäßig aktiviert).",
},
{
key: "features.shell_snapshot",
type: "boolean",
description:
"Erstellt einen Snapshot der Shell-Umgebung, um wiederholte Befehle zu beschleunigen (stabil; standardmäßig aktiviert).",
},
{
key: "features.multi_agent",
type: "boolean",
description:
"Aktiviert Tools für die Multi-Agent-Zusammenarbeit (spawn_agent, send_input, resume_agent, wait_agent und close_agent) (stabil; standardmäßig aktiviert).",
},
{
key: "features.goals",
type: "boolean",
description:
"Aktiviert persistierte Ziele und die automatische Fortsetzung (stabil; standardmäßig aktiviert).",
},
{
key: "features.remote_plugin",
type: "boolean",
description: "Aktiviert den Remote-Plugin-Katalog (stabil; standardmäßig aktiviert).",
},
{
key: "features.personality",
type: "boolean",
description:
"Aktiviert Steuerelemente für die Persönlichkeitsauswahl (stabil; standardmäßig aktiviert).",
},
{
key: "features.network_proxy",
type: "boolean | table",
description:
"Aktiviert Netzwerkzugriff in der Sandbox. Verwenden Sie die Tabellenform, um Netzwerk-Richtlinienoptionen wie domains festzulegen (experimentell; standardmäßig deaktiviert).",
},
{
key: "features.network_proxy.enabled",
type: "boolean",
description: "Aktiviert Netzwerkzugriff in der Sandbox. Standardmäßig false.",
},
{
key: "features.network_proxy.domains",
type: "map<string, allow | deny>",
description:
"Domainrichtlinie für Netzwerkzugriff in der Sandbox. Standardmäßig nicht festgelegt, sodass keine externen Ziele zulässig sind, bis Sie allow-Regeln hinzufügen. Unterstützt exakte Hosts, *.example.com nur für Subdomains, **.example.com für die Apex-Domain einschließlich Subdomains und globale *-Zulassungsregeln; bevorzugen Sie eingegrenzte Regeln, da * den öffentlichen ausgehenden Zugriff weitgehend öffnet. Fügen Sie deny-Regeln für blockierte Ziele hinzu; bei Konflikten hat deny Vorrang.",
},
{
key: "features.network_proxy.unix_sockets",
type: "map<string, allow | deny>",
description:
"Unix-Socket-Richtlinie für Netzwerkzugriff in der Sandbox. Standardmäßig nicht festgelegt; fügen Sie allow-Einträge für zulässige Sockets hinzu.",
},
{
key: "features.network_proxy.allow_local_binding",
type: "boolean",
description:
"Erlaubt umfassenderen Zugriff auf lokale bzw. private Netzwerke. Standardmäßig false; Zulassungsregeln mit exakten lokalen IP-Literalen oder localhost können dennoch bestimmte lokale Ziele zulassen.",
},
{
key: "features.network_proxy.enable_socks5",
type: "boolean",
description: "Stellt SOCKS5-Unterstützung bereit. Standardmäßig true.",
},
{
key: "features.network_proxy.enable_socks5_udp",
type: "boolean",
description: "Erlaubt UDP über SOCKS5. Standardmäßig true.",
},
{
key: "features.network_proxy.allow_upstream_proxy",
type: "boolean",
description:
"Erlaubt die Verkettung über einen Upstream-Proxy aus der Umgebung. Standardmäßig true.",
},
{
key: "features.network_proxy.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Erlaubt Listener-Adressen außerhalb der Loopback-Schnittstelle. Standardmäßig false; die Aktivierung kann Proxy-Listener außerhalb von localhost verfügbar machen.",
},
{
key: "features.network_proxy.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Erlaubt beliebige Unix-Socket-Ziele anstelle eines ausschließlich auf der Positivliste basierenden Zugriffs. Standardmäßig false; nur in streng kontrollierten Umgebungen verwenden.",
},
{
key: "features.network_proxy.proxy_url",
type: "string",
description:
'HTTP-Listener-URL für Netzwerkzugriff in der Sandbox. Standardmäßig "http://127.0.0.1:3128".',
},
{
key: "features.network_proxy.socks_url",
type: "string",
description:
'SOCKS5-Listener-URL. Standardmäßig "http://127.0.0.1:8081".',
},
{
key: "features.web_search",
type: "boolean",
description:
"Veralteter Schalter; verwenden Sie vorzugsweise die übergeordnete Einstellung web_search.",
},
{
key: "features.web_search_cached",
type: "boolean",
description:
'Veralteter Schalter. Wenn web_search nicht festgelegt ist, wird true web_search = "cached" zugeordnet.',
},
{
key: "features.web_search_request",
type: "boolean",
description:
'Veralteter Schalter. Wenn web_search nicht festgelegt ist, wird true web_search = "live" zugeordnet.',
},
{
key: "features.shell_tool",
type: "boolean",
description:
"Aktiviert das standardmäßige Tool shell zum Ausführen von Befehlen (stabil; standardmäßig aktiviert).",
},
{
key: "features.enable_request_compression",
type: "boolean",
description:
"Komprimiert Streaming-Anfragetexte mit zstd, sofern unterstützt (stabil; standardmäßig aktiviert).",
},
{
key: "features.skill_mcp_dependency_install",
type: "boolean",
description:
"Erlaubt das Abfragen und Installieren fehlender MCP-Abhängigkeiten für Skills (stabil; standardmäßig aktiviert).",
},
{
key: "features.fast_mode",
type: "boolean",
description:
"Aktiviert die Auswahl der Dienststufe aus dem Modellkatalog in der TUI, einschließlich Befehlen der Fast-Stufe, wenn das aktive Modell sie angibt (stabil; standardmäßig aktiviert).",
},
{
key: "features.prevent_idle_sleep",
type: "boolean",
description:
"Verhindert den Ruhezustand des Computers, während eine Ausführung aktiv ist (experimentell; standardmäßig deaktiviert).",
},
{
key: "suppress_unstable_features_warning",
type: "boolean",
description:
"Unterdrückt die Warnung, die bei aktivierten Funktionsschaltern für in Entwicklung befindliche Funktionen angezeigt wird.",
},
{
key: "model_providers.",
type: "table",
description:
"Benutzerdefinierte Anbieterdefinition. Die integrierten Anbieter-IDs (openai, ollama und lmstudio) sind reserviert und können nicht überschrieben werden.",
},
{
key: "model_providers..name",
type: "string",
description: "Anzeigename für einen benutzerdefinierten Modellanbieter.",
},
{
key: "model_providers..base_url",
type: "string",
description: "API-Basis-URL für den Modellanbieter.",
},
{
key: "model_providers..env_key",
type: "string",
description: "Umgebungsvariable, die den API key des Anbieters bereitstellt.",
},
{
key: "model_providers..env_key_instructions",
type: "string",
description: "Optionale Einrichtungsanleitung für den API key des Anbieters.",
},
{
key: "model_providers..experimental_bearer_token",
type: "string",
description:
"Direktes Bearer-Token für den Anbieter (nicht empfohlen; verwenden Sie env_key).",
},
{
key: "model_providers..requires_openai_auth",
type: "boolean",
description:
"Der Anbieter verwendet OpenAI-Authentifizierung (Standard: false).",
},
{
key: "model_providers..wire_api",
type: "responses",
description:
"Vom Anbieter verwendetes Protokoll. responses ist der einzige unterstützte Wert und wird standardmäßig verwendet, wenn die Angabe fehlt.",
},
{
key: "model_providers..query_params",
type: "map<string,string>",
description: "Zusätzliche Abfrageparameter, die an Anbieteranfragen angehängt werden.",
},
{
key: "model_providers..http_headers",
type: "map<string,string>",
description: "Statische HTTP-Header, die Anbieteranfragen hinzugefügt werden.",
},
{
key: "model_providers..env_http_headers",
type: "map<string,string>",
description:
"HTTP-Header, die aus vorhandenen Umgebungsvariablen befüllt werden.",
},
{
key: "model_providers..request_max_retries",
type: "number",
description:
"Anzahl der Wiederholungsversuche für HTTP-Anfragen an den Anbieter (Standard: 4).",
},
{
key: "model_providers..stream_max_retries",
type: "number",
description: "Anzahl der Wiederholungsversuche bei SSE-Streaming-Unterbrechungen (Standard: 5).",
},
{
key: "model_providers..stream_idle_timeout_ms",
type: "number",
description:
"Leerlaufzeitlimit für SSE-Streams in Millisekunden (Standard: 300000).",
},
{
key: "model_providers..supports_websockets",
type: "boolean",
description:
"Gibt an, ob dieser Anbieter den WebSocket-Transport der Responses API unterstützt.",
},
{
key: "model_providers..supports_standalone_web_search",
type: "boolean",
description:
"Gibt die Unterstützung für einen kompatiblen eigenständigen Websuchendpunkt an (Standard: false). Die eigenständige Suche befindet sich weiterhin in der Entwicklung und ist standardmäßig deaktiviert; die Kompatibilität des Anbieters allein aktiviert sie nicht.",
},
{
key: "model_providers..auth",
type: "table",
description:
"Befehlsbasierte Bearer-Token-Konfiguration für einen benutzerdefinierten Anbieter. Nicht mit env_key, experimental_bearer_token oder requires_openai_auth kombinieren.",
},
{
key: "model_providers..auth.command",
type: "string",
description:
"Befehl, der ausgeführt wird, wenn Codex ein Bearer-Token benötigt. Der Befehl muss das Token auf stdout ausgeben.",
},
{
key: "model_providers..auth.args",
type: "array",
description: "An den Token-Befehl übergebene Argumente.",
},
{
key: "model_providers..auth.timeout_ms",
type: "number",
description:
"Maximale Laufzeit des Token-Befehls in Millisekunden (Standard: 5000).",
},
{
key: "model_providers..auth.refresh_interval_ms",
type: "number",
description:
"Intervall in Millisekunden, in dem Codex das Token proaktiv aktualisiert (Standard: 300000). Setzen Sie es auf 0, um es erst nach einem fehlgeschlagenen Authentifizierungsversuch zu aktualisieren.",
},
{
key: "model_providers..auth.cwd",
type: "string (path)",
description: "Arbeitsverzeichnis für den Token-Befehl.",
},
{
key: "model_providers.amazon-bedrock.aws.profile",
type: "string",
description:
"Name des AWS-Profils, das der integrierte Anbieter amazon-bedrock verwendet.",
},
{
key: "model_providers.amazon-bedrock.aws.region",
type: "string",
description: "AWS-Region, die der integrierte Anbieter amazon-bedrock verwendet.",
},
{
key: "model_reasoning_effort",
type: "minimal | low | medium | high | xhigh",
description:
"Passt den Reasoning-Aufwand für unterstützte Modelle an (nur Responses API; xhigh ist modellabhängig).",
},
{
key: "plan_mode_reasoning_effort",
type: "none | minimal | low | medium | high | xhigh",
description:
"Planmodusspezifische Überschreibung des Reasoning-Aufwands. Wenn nicht festgelegt, verwendet der Planmodus seine integrierte Voreinstellung.",
},
{
key: "model_reasoning_summary",
type: "auto | concise | detailed | none",
description:
"Wählt den Detailgrad der Reasoning-Zusammenfassung aus oder deaktiviert Zusammenfassungen vollständig.",
},
{
key: "model_verbosity",
type: "low | medium | high",
description:
"Optionale Überschreibung der Ausführlichkeit für die GPT-5 Responses API; wenn nicht festgelegt, wird der Standard des ausgewählten Modells bzw. der ausgewählten Voreinstellung verwendet.",
},
{
key: "model_supports_reasoning_summaries",
type: "boolean",
description: "Erzwingt, dass Codex Reasoning-Metadaten sendet bzw. nicht sendet.",
},
{
key: "shell_environment_policy.inherit",
type: "all | core | none",
description:
"Grundlegende Vererbung der Umgebung beim Erzeugen von Unterprozessen.",
},
{
key: "shell_environment_policy.ignore_default_excludes",
type: "boolean",
description:
"Behält Variablen, die KEY, SECRET oder TOKEN enthalten, bevor andere Filter angewendet werden (Standard: true). Setzen Sie den Wert auf false, um automatische Ausschlüsse anhand von Geheimnisnamen anzuwenden.",
},
{
key: "shell_environment_policy.filters",
type: "map<string, include | exclude>",
description:
"Kanonische, nicht nach Groß-/Kleinschreibung unterscheidende Musterfilter für Umgebungsvariablen. Include-Einträge erstellen eine Positivliste und können ausgeschlossene Werte nicht wiederherstellen. Explizite set-Werte werden nach den Ausschlüssen angewendet. Kombinieren Sie Filter nicht mit den veralteten Arrays exclude oder include_only in derselben Ebene.",
},
{
key: "shell_environment_policy.exclude",
type: "array",
description:
"Veraltete Ausschlussmuster für Umgebungsvariablen. Verwenden Sie für neue Konfigurationen shell_environment_policy.filters; kombinieren Sie nicht beide Formen in derselben Ebene.",
},
{
key: "shell_environment_policy.include_only",
type: "array",
description:
"Veraltete Positivliste von Mustern für Umgebungsvariablen. Verwenden Sie für neue Konfigurationen shell_environment_policy.filters; kombinieren Sie nicht beide Formen in derselben Ebene.",
},
{
key: "shell_environment_policy.set",
type: "map<string,string>",
description:
"Explizite Umgebungswerte, die nach den Ausschlüssen eingefügt werden; Include-Filter können sie dennoch entfernen.",
},
{
key: "shell_environment_policy.experimental_use_profile",
type: "boolean",
description: "Verwendet beim Erzeugen von Unterprozessen das Shell-Profil des Benutzers.",
},
{
key: "project_root_markers",
type: "array",
description:
"Liste von Dateinamen, die das Projektstammverzeichnis kennzeichnen; wird bei der Suche nach dem Projektstammverzeichnis in übergeordneten Verzeichnissen verwendet.",
},
{
key: "project_doc_max_bytes",
type: "number",
description:
"Maximale Anzahl der aus AGENTS.md gelesenen Bytes beim Erstellen von Projektanweisungen.",
},
{
key: "project_doc_fallback_filenames",
type: "array",
description: "Zusätzliche Dateinamen, die ausprobiert werden, wenn AGENTS.md fehlt.",
},
{
key: "history.persistence",
type: "save-all | none",
description:
"Steuert, ob Codex Sitzungsprotokolle in history.jsonl speichert.",
},
{
key: "tool_output_token_limit",
type: "number",
description:
"Token-Budget zum Speichern einzelner Tool- bzw. Funktionsausgaben im Verlauf.",
},
{
key: "background_terminal_max_timeout",
type: "number",
description:
"Maximales Abfragefenster in Millisekunden für leere write_stdin-Abfragen (Abfragen des Hintergrundterminals). Standard: 300000 (5 Minuten). Ersetzt den älteren Schlüssel background_terminal_timeout.",
},
{
key: "history.max_bytes",
type: "number",
description:
"Begrenzt, sofern festgelegt, die Größe der Verlaufsdatei in Bytes, indem die ältesten Einträge entfernt werden.",
},
{
key: "file_opener",
type: "vscode | vscode-insiders | windsurf | cursor | none",
description:
"URI-Schema zum Öffnen von Zitaten aus der Codex-Ausgabe (Standard: vscode).",
},
{
key: "otel.environment",
type: "string",
description:
"Umgebungs-Tag, das ausgegebenen OpenTelemetry-Ereignissen zugewiesen wird (Standard: dev).",
},
{
key: "otel.exporter",
type: "none | otlp-http | otlp-grpc",
description:
"Wählt den OpenTelemetry-Exporter aus und stellt die zugehörigen Endpunktmetadaten bereit.",
},
{
key: "otel.trace_exporter",
type: "none | otlp-http | otlp-grpc",
description:
"Wählt den OpenTelemetry-Trace-Exporter aus und stellt die zugehörigen Endpunktmetadaten bereit.",
},
{
key: "otel.metrics_exporter",
type: "none | statsig | otlp-http | otlp-grpc",
description:
"Wählt den OpenTelemetry-Metrikexporter aus (standardmäßig statsig).",
},
{
key: "otel.log_user_prompt",
type: "boolean",
description:
"Aktiviert den Export unverarbeiteter Benutzerabfragen mit OpenTelemetry-Protokollen.",
},
{
key: "otel.exporter..endpoint",
type: "string",
description: "Exporter-Endpunkt für OTEL-Protokolle.",
},
{
key: "otel.exporter..protocol",
type: "binary | json",
description: "Vom OTLP/HTTP-Exporter verwendetes Protokoll.",
},
{
key: "otel.exporter..headers",
type: "map<string,string>",
description: "Statische Header in Anfragen des OTEL-Exporters.",
},
{
key: "otel.trace_exporter..endpoint",
type: "string",
description: "Trace-Exporter-Endpunkt für OTEL-Protokolle.",
},
{
key: "otel.trace_exporter..protocol",
type: "binary | json",
description: "Vom OTLP/HTTP-Trace-Exporter verwendetes Protokoll.",
},
{
key: "otel.trace_exporter..headers",
type: "map<string,string>",
description: "Statische Header in Anfragen des OTEL-Trace-Exporters.",
},
{
key: "otel.exporter..tls.ca-certificate",
type: "string",
description: "Pfad zum CA-Zertifikat für TLS des OTEL-Exporters.",
},
{
key: "otel.exporter..tls.client-certificate",
type: "string",
description: "Pfad zum Clientzertifikat für TLS des OTEL-Exporters.",
},
{
key: "otel.exporter..tls.client-private-key",
type: "string",
description: "Pfad zum privaten Clientschlüssel für TLS des OTEL-Exporters.",
},
{
key: "otel.trace_exporter..tls.ca-certificate",
type: "string",
description: "Pfad zum CA-Zertifikat für TLS des OTEL-Trace-Exporters.",
},
{
key: "otel.trace_exporter..tls.client-certificate",
type: "string",
description: "Pfad zum Clientzertifikat für TLS des OTEL-Trace-Exporters.",
},
{
key: "otel.trace_exporter..tls.client-private-key",
type: "string",
description: "Pfad zum privaten Clientschlüssel für TLS des OTEL-Trace-Exporters.",
},
{
key: "tui",
type: "table",
description:
"TUI-spezifische Optionen, etwa zum Aktivieren direkter Desktop-Benachrichtigungen.",
},
{
key: "tui.notifications",
type: "boolean | array",
description:
"Aktiviert TUI-Benachrichtigungen; kann optional auf bestimmte Ereignistypen beschränkt werden.",
},
{
key: "tui.notification_method",
type: "auto | osc9 | bel",
description:
"Benachrichtigungsmethode für Terminalbenachrichtigungen (Standard: auto).",
},
{
key: "tui.notification_condition",
type: "unfocused | always",
description:
"Steuert, ob TUI-Benachrichtigungen nur ausgelöst werden, wenn das Terminal nicht fokussiert ist, oder unabhängig vom Fokus. Standardmäßig unfocused.",
},
{
key: "tui.animations",
type: "boolean",
description:
"Aktiviert Terminalanimationen (Willkommensbildschirm, Schimmereffekt, Fortschrittsanzeige) (Standard: true).",
},
{
key: "tui.alternate_screen",
type: "auto | always | never",
description:
"Steuert die Verwendung des alternativen Bildschirms für die TUI (Standard: auto; auto überspringt ihn in Zellij, um den Scrollback-Verlauf zu erhalten).",
},
{
key: "tui.resume_cwd",
type: "current | session",
description:
"Arbeitsverzeichnis, das beim Fortsetzen oder Forken einer Sitzung verwendet wird. Wenn nicht festgelegt, fordert Codex Sie zur Auswahl auf, falls Ihr aktuelles Verzeichnis vom gespeicherten Verzeichnis der Sitzung abweicht.",
},
{
key: "tui.vim_mode_default",
type: "boolean",
description:
"Startet den Editor im normalen Vim-Modus statt im Einfügemodus (Standard: false). Sie können den Modus weiterhin pro Sitzung mit /vim umschalten.",
},
{
key: "tui.raw_output_mode",
type: "boolean",
description:
"Startet die TUI im Roh-Scrollback-Modus für eine kopierfreundliche Terminalauswahl (Standard: false). Sie können ihn mit /raw oder der standardmäßigen Tastenkombination alt-r umschalten.",
},
{
key: "tui.show_tooltips",
type: "boolean",
description:
"Zeigt Onboarding-Tooltips auf dem TUI-Willkommensbildschirm an (Standard: true).",
},
{
key: "tui.status_line",
type: "array | null",
description:
"Geordnete Liste der Kennungen von Statusleistenelementen in der TUI-Fußzeile. null deaktiviert die Statusleiste.",
},
{
key: "tui.terminal_title",
type: "array | null",
description:
'Geordnete Liste der Kennungen von Elementen im Titel des Terminalfensters bzw. -Tabs. Standardmäßig ["spinner", "project"]; null deaktiviert Titelaktualisierungen.',
},
{
key: "tui.theme",
type: "string",
description:
"Überschreibung des Syntaxhervorhebungsdesigns (Designname in kebab-case).",
},
{
key: "tui.keymap..",
type: "string | array",
description:
"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. Ausgewählte Editoraktionen greifen auf passende tui.keymap.global-Belegungen zurück; kontextspezifische Belegungen haben Vorrang, sofern sie unterstützt werden.",
},
{
key: "tui.keymap.. = []",
type: "empty array",
description:
"Hebt die Belegung der Aktion in diesem Tastaturbelegungskontext auf. Tastennamen verwenden normalisierte Strings wie ctrl-a, shift-enter, page-down oder minus.",
},
{
key: "plugins..mcp_servers..enabled",
type: "boolean",
description:
"Aktiviert oder deaktiviert einen von einem installierten Plugin bereitgestellten MCP-Server, ohne das Plugin-Manifest zu ändern.",
},
{
key: "plugins..mcp_servers..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Standardmäßiges Genehmigungsverhalten für Tools auf einem von einem Plugin bereitgestellten MCP-Server.",
},
{
key: "plugins..mcp_servers..enabled_tools",
type: "array",
description:
"Positivliste der Tools, die von einem durch ein Plugin bereitgestellten MCP-Server verfügbar gemacht werden.",
},
{
key: "plugins..mcp_servers..disabled_tools",
type: "array",
description:
"Negativliste, die nach enabled_tools auf einen durch ein Plugin bereitgestellten MCP-Server angewendet wird.",
},
{
key: "plugins..mcp_servers..tools..approval_mode",
type: "auto | prompt | writes | approve",
description:
"Überschreibung des Genehmigungsverhaltens für ein durch ein Plugin bereitgestelltes MCP-Tool.",
},
{
key: "tui.model_availability_nux.",
type: "integer",
description: "Interner Status des Start-Tooltips, nach Modell-Slug geordnet.",
},
{
key: "hide_agent_reasoning",
type: "boolean",
description:
"Unterdrückt Reasoning-Ereignisse sowohl in der TUI als auch in der codex exec-Ausgabe.",
},
{
key: "show_raw_agent_reasoning",
type: "boolean",
description:
"Zeigt unverarbeitete Reasoning-Inhalte an, wenn das aktive Modell sie ausgibt.",
},
{
key: "disable_paste_burst",
type: "boolean",
description: "Deaktiviert die Erkennung schneller Einfügevorgänge in der TUI.",
},
{
key: "windows_wsl_setup_acknowledged",
type: "boolean",
description: "Erfasst die Bestätigung des Windows-Onboardings (nur Windows).",
},
{
key: "chatgpt_base_url",
type: "string",
description: "Überschreibt die während der ChatGPT-Anmeldung verwendete Basis-URL.",
},
{
key: "cli_auth_credentials_store",
type: "file | keyring | auto",
description:
"Steuert, wo die CLI zwischengespeicherte Anmeldedaten ablegt (dateibasierte auth.json oder Schlüsselbund des Betriebssystems).",
},
{
key: "mcp_oauth_credentials_store",
type: "auto | file | keyring",
description: "Bevorzugter Speicher für MCP-OAuth-Anmeldedaten.",
},
{
key: "mcp_oauth_callback_port",
type: "integer",
description:
"Optionaler fester Port für den lokalen HTTP-Callback-Server, der bei der MCP-OAuth-Anmeldung verwendet wird. Wenn nicht festgelegt, bindet Codex an einen vom Betriebssystem ausgewählten kurzlebigen Port.",
},
{
key: "mcp_oauth_callback_url",
type: "string",
description:
"Optionale Überschreibung der Callback-Basis-URL für die MCP-OAuth-Anmeldung (zum Beispiel eine devbox-Ingress-URL). Codex hängt eine serverspezifische Callback-ID an, bevor der endgültige OAuth-redirect_uri gesendet wird. Registrieren Sie daher den vollständig abgeleiteten URI bei Ihrem Anbieter. mcp_oauth_callback_port steuert weiterhin den Port des Callback-Listeners.",
},
{
key: "experimental_use_unified_exec_tool",
type: "boolean",
description:
"Veralteter Name zum Aktivieren von unified exec; verwenden Sie vorzugsweise [features].unified_exec oder codex --enable unified_exec.",
},
{
key: "tools.web_search",
type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',
description:
"Optionale Konfiguration des Websuchtools. Die veraltete boolesche Form wird weiterhin akzeptiert; mit der Objektform können Sie jedoch die Größe des Suchkontexts, zulässige Domains und den ungefähren Standort des Benutzers festlegen.",
},
{
key: "tools.view_image",
type: "boolean",
description: "Aktiviert das Tool view_image zum Anhängen lokaler Bilder.",
},
{
key: "web_search",
type: "disabled | cached | indexed | live",
description:
'Websuchmodus (Standard: "cached"; cached verwendet einen von OpenAI verwalteten Index ohne externen Webzugriff; indexed erlaubt externen Zugriff nur bei Freigabe durch den Suchindex; wenn Sie --yolo oder eine andere Sandbox-Einstellung mit Vollzugriff verwenden, wird standardmäßig "live" verwendet). Verwenden Sie "live" für einen uneingeschränkten Live-Abruf oder "disabled", um das Tool zu entfernen.',
},
{
key: "default_permissions",
type: "string",
description:
"Name des standardmäßigen Berechtigungsprofils für Tool-Aufrufe in der Sandbox. Integriert sind :read-only, :workspace und :danger-full-access; benutzerdefinierte Profilnamen erfordern passende [permissions.<name>]-Tabellen. Nicht mit sandbox_mode oder [sandbox_workspace_write] kombinieren.",
},
{
key: "permissions..description",
type: "string",
description:
"Für Menschen lesbare Beschreibung dieses benannten Profils. Ein Profil erbt die Beschreibung seines übergeordneten Profils nicht über extends.",
},
{
key: "permissions..extends",
type: "string",
description:
"Optionales übergeordnetes Profil, das vor diesem benannten Profil angewendet wird. Legen Sie ein anderes benanntes Profil, :read-only oder :workspace fest; :danger-full-access, nicht definierte übergeordnete Profile und Zyklen werden abgelehnt.",
},
{
key: "permissions..workspace_roots",
type: "table",
description:
"Vom Profil definierte Arbeitsbereich-Stammverzeichnisse, die zusätzlich zu den Laufzeit-Stammverzeichnissen der Sitzung :workspace_roots-Dateisystemregeln erhalten.",
},
{
key: "permissions..workspace_roots.",
type: "boolean",
description:
"Nimmt einen Pfad bei true in die Gruppe der Arbeitsbereich-Stammverzeichnisse des Profils auf. Deaktivierte Einträge bleiben inaktiv.",
},
{
key: "permissions..filesystem",
type: "table",
description:
"Benanntes Dateisystem-Berechtigungsprofil. Jeder Schlüssel ist ein absoluter Pfad oder ein spezielles Token wie :minimal oder :workspace_roots.",
},
{
key: "permissions..filesystem.glob_scan_max_depth",
type: "number",
description:
"Maximale Tiefe zur Erweiterung von Glob-Mustern für Leseverbote auf Plattformen, die Übereinstimmungen vor dem Start der Sandbox als Snapshot erfassen. Muss, sofern festgelegt, mindestens 1 betragen.",
},
{
key: "permissions..filesystem.",
type: '"read" | "write" | "deny" | table',
description:
'Gewährt direkten Zugriff auf einen Pfad, ein Glob-Muster oder ein spezielles Token oder grenzt verschachtelte Einträge unter diesem Stammverzeichnis ein. Verwenden Sie "deny", um Lesezugriffe auf passende Pfade zu verweigern.',
},
{
key: 'permissions..filesystem.":workspace_roots".',
type: '"read" | "write" | "deny"',
description:
'Eingegrenzter Dateisystemzugriff relativ zu jedem effektiven Arbeitsbereich-Stammverzeichnis. Verwenden Sie "." für das Stammverzeichnis selbst; Glob-Unterpfade wie "**/*.env" können mit "deny" Lesezugriffe verweigern.',
},
{
key: "permissions..network.enabled",
type: "boolean",
description:
"Aktiviert den Netzwerkzugriff für dieses benannte Berechtigungsprofil. Dies ändert die Sandbox-Netzwerkrichtlinie, startet aber nicht selbst den Netzwerkproxy.",
},
{
key: "permissions..network.proxy_url",
type: "string",
description:
"HTTP-Listener-URL, die verwendet wird, wenn dieses Berechtigungsprofil Netzwerkzugriff in der Sandbox aktiviert.",
},
{
key: "permissions..network.enable_socks5",
type: "boolean",
description:
"Stellt SOCKS5-Unterstützung bereit, wenn dieses Berechtigungsprofil Netzwerkzugriff in der Sandbox aktiviert.",
},
{
key: "permissions..network.socks_url",
type: "string",
description: "Von diesem Berechtigungsprofil verwendeter SOCKS5-Proxy-Endpunkt.",
},
{
key: "permissions..network.enable_socks5_udp",
type: "boolean",
description: "Erlaubt UDP über den SOCKS5-Listener, wenn dieser aktiviert ist.",
},
{
key: "permissions..network.allow_upstream_proxy",
type: "boolean",
description:
"Erlaubt Netzwerkzugriffen in der Sandbox die Verkettung über einen weiteren Upstream-Proxy.",
},
{
key: "permissions..network.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Erlaubt Bindeadressen außerhalb der Loopback-Schnittstelle für Netzwerk-Listener in der Sandbox. Die Aktivierung kann Listener außerhalb von localhost verfügbar machen.",
},
{
key: "permissions..network.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Erlaubt beliebige Unix-Socket-Ziele anstelle der standardmäßigen eingeschränkten Gruppe. Nur in streng kontrollierten Umgebungen verwenden.",
},
{
key: "permissions..network.mode",
type: "limited | full",
description: "Für den Datenverkehr von Unterprozessen verwendeter Netzwerkproxymodus.",
},
{
key: "permissions..network.domains",
type: "table",
description:
"Domainregeln für Netzwerkzugriff in der Sandbox. Unterstützt exakte Hosts, *.example.com nur für Subdomains, **.example.com für die Apex-Domain einschließlich Subdomains und globale *-Zulassungsregeln. Bei Konflikten hat deny Vorrang.",
},
{
key: "permissions..network.domains.",
type: "allow | deny",
description:
"Erlaubt oder verweigert einen exakten Host oder ein eingegrenztes Platzhaltermuster wie *.example.com oder **.example.com.",
},
{
key: "permissions..network.unix_sockets",
type: "table",
description:
"Überschreibungen der Unix-Socket-Positivliste für Netzwerkzugriff in der Sandbox. Verwenden Sie Socket-Pfade als Schlüssel; allow fügt einen Pfad hinzu und deny lehnt ihn ab.",
},
{
key: "permissions..network.unix_sockets.",
type: "allow | deny",
description:
"Fügt der effektiven Positivliste mit allow einen absoluten Unix-Socket-Pfad hinzu oder lehnt ihn mit deny ab. Abgelehnte Einträge werden aus der effektiven Positivliste entfernt.",
},
{
key: "permissions..network.allow_local_binding",
type: "boolean",
description:
"Erlaubt umfassenderen Zugriff auf lokale bzw. private Netzwerke über Netzwerkzugriff in der Sandbox. Zulassungsregeln mit exakten lokalen IP-Literalen oder localhost können dennoch bestimmte lokale Ziele zulassen, wenn dieser Wert false bleibt.",
},
{
key: "projects..trust_level",
type: "string",
description:
'Kennzeichnet ein Projekt oder einen Worktree als vertrauenswürdig oder nicht vertrauenswürdig ("trusted" | "untrusted"). Nicht vertrauenswürdige Projekte überspringen projektbezogene .codex/-Ebenen, einschließlich projektlokaler Konfigurationen, Hooks und Regeln.',
},
{
key: "notice.hide_full_access_warning",
type: "boolean",
description: "Erfasst die Bestätigung der Warnmeldung zum Vollzugriff.",
},
{
key: "notice.hide_world_writable_warning",
type: "boolean",
description:
"Erfasst die Bestätigung der Warnung zu unter Windows global beschreibbaren Verzeichnissen.",
},
{
key: "notice.hide_rate_limit_model_nudge",
type: "boolean",
description: "Erfasst die Ablehnung der Erinnerung zum Modellwechsel bei Ratenbegrenzungen.",
},
{
key: "notice.hide_gpt5_1_migration_prompt",
type: "boolean",
description: "Erfasst die Bestätigung der Migrationsabfrage für GPT-5.1.",
},
{
key: "notice.hide_gpt-5.1-codex-max_migration_prompt",
type: "boolean",
description:
"Erfasst die Bestätigung der Migrationsabfrage für gpt-5.1-codex-max.",
},
{
key: "notice.model_migrations",
type: "map<string,string>",
description: "Erfasst bestätigte Modellmigrationen als Zuordnungen von alt zu neu.",
},
{
key: "forced_login_method",
type: "chatgpt | api",
description: "Beschränkt Codex auf eine bestimmte Authentifizierungsmethode.",
},
{
key: "forced_chatgpt_workspace_id",
type: "string (uuid)",
description: "Beschränkt ChatGPT-Anmeldungen auf eine bestimmte Arbeitsbereichskennung.",
},
]}
client:load
/>
Das aktuelle JSON-Schema für config.toml finden Sie hier .
Um beim Bearbeiten von config.toml in VS Code oder Cursor Autovervollständigung und Diagnosen zu erhalten, können Sie die Erweiterung Even Better TOML installieren und diese Zeile am Anfang Ihrer config.toml einfügen:
#:schema https://developers.openai.com/codex/config-schema.json Hinweis: Benennen Sie experimental_instructions_file in model_instructions_file um. Codex stuft den alten Schlüssel als veraltet ein; aktualisieren Sie bestehende Konfigurationen auf den neuen Namen.
requirements.toml
requirements.toml ist eine administrativ erzwungene Konfigurationsdatei, die sicherheitsrelevante Einstellungen einschränkt, welche Benutzer nicht überschreiben können. Details, Speicherorte und Beispiele finden Sie unter Administrativ erzwungene Anforderungen .
Für Benutzer von ChatGPT Business und Enterprise kann Codex außerdem aus der Cloud
abgerufene Anforderungen anwenden. Details zur Rangfolge finden Sie auf der Sicherheitsseite.
Verwenden Sie [features] in requirements.toml, um Laufzeit-Feature-Flags anhand derselben
kanonischen Schlüssel festzuschreiben, die config.toml verwendet. Anforderungen können auch dokumentierte,
nur für die App bestimmte Schlüssel enthalten, die nicht in config.toml gehören. Ausgelassene Schlüssel bleiben
uneingeschränkt.
Einige verwaltete Anforderungen erzwingen einen exakten Konfigurationswert anstelle einer
Zulassungsliste. Benutzer können einen erzwungenen Pfad, eine Aktualisierungspräferenz, eine Login-Shell-
Richtlinie, eine Feedback-Einstellung oder eine Einstellung 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 frühere Versionen ignorieren allowed_permission_profiles und verwaltete
default_permissions.
Verwenden Sie allowed_sandbox_modes mit sandbox_mode. Für Berechtigungsprofil-
Bereitstellungen verwenden Sie allowed_permission_profiles mit verwaltetem
default_permissions.
Die Tabelle [models.new_thread] stellt verwaltete Standardwerte bereit, erzwingt sie jedoch nicht.
Explizite Startoptionen über dedizierte CLI-Flags oder Überschreibungen durch --config haben
Vorrang. Eine explizite Überschreibung des Modells oder des Reasoning-Aufwands überspringt beide verwalteten
Modellfelder; service_tier ist davon unabhängig.
<ConfigTable
options={[
{
key: "sqlite_home",
type: "string (path)",
description:
"Erzwingt das Verzeichnis, in dem Codex den SQLite-gestützten Laufzeitstatus speichert.",
},
{
key: "log_dir",
type: "string (path)",
description: "Erzwingt das Verzeichnis, in das Codex lokale Protokolldateien schreibt.",
},
{
key: "model_catalog_json",
type: "string (path)",
description: "Erzwingt den JSON-Modellkatalog, den Codex beim Start verwendet.",
},
{
key: "check_for_update_on_startup",
type: "boolean",
description: "Erzwingt, ob Codex beim Start nach Aktualisierungen sucht.",
},
{
key: "allow_login_shell",
type: "boolean",
description: "Erzwingt, ob Shell-Tools eine Login-Shell starten können.",
},
{
key: "feedback",
type: "table",
description: "Verwaltete Feedback-Einstellungen.",
},
{
key: "feedback.enabled",
type: "boolean",
description:
"Erzwingt, ob Benutzer über verschiedene Codex-Clients hinweg Feedback übermitteln können.",
},
{
key: "allowed_approval_policies",
type: "array",
description:
"Zulässige Werte für approval_policy (beispielsweise untrusted, on-request, never und granular).",
},
{
key: "allowed_approvals_reviewers",
type: "array",
description:
"Zulässige Werte für approvals_reviewer, etwa user und auto_review.",
},
{
key: "guardian_policy_config",
type: "string",
description:
"Verwaltete Markdown-Richtlinienanweisungen für die automatische Prüfung. Diese haben Vorrang vor der lokalen [auto_review].policy. Leere Werte werden ignoriert.",
},
{
key: "allowed_permission_profiles",
type: "table",
description:
"Vollständige Liste der zulässigen Berechtigungsprofile. Auf true gesetzte Profile sind zulässig. Ausgelassene oder auf false gesetzte Profile werden abgelehnt; dies gilt auch für Profile, die in zukünftigen Versionen hinzukommen. Wenn Anforderungsquellen kombiniert werden, erfolgt der Abgleich der Einträge anhand des Profilnamens.",
},
{
key: "allowed_permission_profiles.",
type: "boolean",
description:
"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 false verwenden, um ein Profil zu deaktivieren, das von einer früheren Quelle mit niedrigerer Priorität zugelassen wurde.",
},
{
key: "default_permissions",
type: "string",
description:
"Verwaltetes Standardberechtigungsprofil. Das Profil muss durch allowed_permission_profiles zugelassen sein. Legen Sie diesen Wert explizit fest, um ein vorhersehbares Verhalten zu erzielen; wird er ausgelassen, verwendet Codex nur dann standardmäßig :workspace, wenn sowohl :workspace als auch :read-only explizit zugelassen sind.",
},
{
key: "enforce_residency",
type: "string",
description:
"Erfordert, dass Codex-Dienstdatenverkehr eine unterstützte Datenresidenz verwendet. Akzeptiert derzeit us.",
},
{
key: "models",
type: "table",
description:
"Verwaltete Modellstandardwerte für neue Threads. Diese Werte haben Vorrang vor Benutzer- und Projektstandardwerten, können jedoch durch eine explizite Auswahl für den neuen Thread überschrieben werden.",
},
{
key: "models.new_thread",
type: "table",
description:
"Standardwerte, die beim Start eines neuen lokalen Threads angewendet werden. Jede Modelleinstellung ist optional.",
},
{
key: "models.new_thread.model",
type: "string",
description:
"Standardmodell für neue Threads. Eine explizite Überschreibung durch --model oder Modell/Reasoning---config hat Vorrang.",
},
{
key: "models.new_thread.model_reasoning_effort",
type: "string",
description:
"Standardmäßiger Reasoning-Aufwand für neue Threads. Eine explizite Überschreibung des Modells oder des Reasoning-Aufwands überspringt beide verwalteten Modellfelder.",
},
{
key: "models.new_thread.service_tier",
type: "string",
description:
"Standard-Service-Tier für neue Threads. Eine explizite Überschreibung des Service-Tiers hat unabhängig von den Modellfeldern Vorrang.",
},
{
key: "permissions",
type: "table",
description:
"Vom Administrator definierte Berechtigungsprofile, indiziert nach Profilname. Verwendet dieselben Profilfelder wie config.toml.",
},
{
key: "permissions.",
type: "table",
description:
"Vom Administrator definiertes Berechtigungsprofil. Der Name darf weder mit : beginnen noch den reservierten Namen filesystem verwenden oder ein Profil aus einer geladenen Konfiguration duplizieren. Verwendet dieselben Profilfelder wie config.toml; das vollständige Profilschema finden Sie im Berechtigungsleitfaden.",
},
{
key: "allowed_sandbox_modes",
type: "array",
description: "Zulässige Werte für sandbox_mode.",
},
{
key: "windows",
type: "table",
description: "Anforderungen an die native Windows-Sandbox.",
},
{
key: "windows.allowed_sandbox_implementations",
type: "array",
description:
"Zulässige native Windows-Sandbox-Implementierungen 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.",
},
{
key: "windows.sandbox_private_desktop",
type: "boolean",
description:
"Erzwingt, ob die native Windows-Sandbox ihren untergeordneten Prozess auf einem privaten Desktop startet.",
},
{
key: "remote_sandbox_config",
type: "array",
description:
"Hostspezifische Sandbox-Anforderungen. Der erste Eintrag, dessen hostname_patterns mit dem aufgelösten Hostnamen übereinstimmen, überschreibt für diese Anforderungsquelle das übergeordnete allowed_sandbox_modes. Hostspezifische Einträge überschreiben derzeit nur Sandbox-Modi.",
},
{
key: "remote_sandbox_config[].hostname_patterns",
type: "array",
description:
"Hostnamenmuster ohne Berücksichtigung der Groß-/Kleinschreibung. Unterstützt * für eine beliebige Zeichenfolge und ? für ein Zeichen.",
},
{
key: "remote_sandbox_config[].allowed_sandbox_modes",
type: "array",
description:
"Zulässige Sandbox-Modi, die angewendet werden, wenn dieser hostspezifische Eintrag übereinstimmt.",
},
{
key: "allowed_web_search_modes",
type: "array",
description:
"Zulässige Werte für web_search (disabled, cached, indexed, live). disabled ist immer zulässig; eine leere Liste lässt effektiv nur disabled zu.",
},
{
key: "allow_managed_hooks_only",
type: "boolean",
description:
"Wenn true festgelegt ist, überspringt Codex Benutzer-, Projekt-, Sitzungs- und Plugin-Hooks, lässt jedoch weiterhin verwaltete Hooks aus requirements.toml und anderen verwalteten Konfigurationsebenen zu.",
},
{
key: "allow_appshots",
type: "boolean",
description:
"Legen Sie false fest, um Appshots für verwaltete Benutzer zu deaktivieren. Wird der Wert ausgelassen, bleiben Appshots durch die Anforderungen uneingeschränkt und richten sich nach der regulären Produktverfügbarkeit.",
},
{
key: "allow_remote_control",
type: "boolean",
description:
"Legen Sie false fest, um die Gerätefernsteuerung für verwaltete Benutzer zu deaktivieren. Wird der Wert ausgelassen, bleibt die Gerätefernsteuerung durch die Anforderungen uneingeschränkt und richtet sich nach der regulären Produktverfügbarkeit.",
},
{
key: "features.plugin_sharing",
type: "boolean",
description:
"Legen Sie in der cloudverwalteten requirements.toml den Wert false fest, um die Workspace-Freigabe für lokal erstellte Plugins zu deaktivieren.",
},
{
key: "features",
type: "table",
description:
"Festgeschriebene Feature-Werte. Verwenden Sie für Laufzeit-Features die kanonischen Namen aus config.toml; dokumentierte, nur für die App bestimmte Anforderungsschlüssel werden hier ebenfalls unterstützt.",
},
{
key: "features.",
type: "boolean",
description:
"Erfordert, dass ein dokumentiertes Laufzeit- oder App-Feature aktiviert beziehungsweise deaktiviert bleibt.",
},
{
key: "features.apps",
type: "boolean",
description:
"Schreibt die Verfügbarkeit der Apps-Integration für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.in_app_updates",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um In-App-Aktualisierungen zu deaktivieren. Aktualisierungen bleiben standardmäßig aktiviert, wenn diese Anforderung ausgelassen wird.",
},
{
key: "features.in_app_browser",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um den integrierten Browserbereich zu deaktivieren.",
},
{
key: "features.browser_use",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um Computer Use in Browsern und die Verfügbarkeit des Browser Agent zu deaktivieren.",
},
{
key: "features.browser_use_external",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um Computer Use in externen Browsern zu deaktivieren.",
},
{
key: "features.browser_use_full_cdp_access",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um den vollständigen Zugriff auf das Chrome DevTools Protocol in der lokalen Laufzeit zu deaktivieren, einschließlich des Browser-Entwicklermodus, und zu verhindern, dass die ChatGPT-Desktop-App die entsprechende Einstellung aktiviert. Wird der Wert ausgelassen, gilt die reguläre Produktverfügbarkeit.",
},
{
key: "features.fast_mode",
type: "boolean",
description:
"Schreibt das kanonische Feature fast_mode für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.guardian_approval",
type: "boolean",
description:
"Schreibt die Verfügbarkeit der Guardian-Genehmigung für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.memories",
type: "boolean",
description: "Schreibt die Verfügbarkeit von Memories für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.multi_agent",
type: "boolean",
description: "Schreibt die Multi-Agent-Verfügbarkeit für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.plugins",
type: "boolean",
description: "Schreibt die Plugin-Verfügbarkeit für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.remote_plugin",
type: "boolean",
description:
"Schreibt die Verfügbarkeit des Remote-Plugin-Katalogs für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "features.computer_use",
type: "boolean",
description:
"Legen Sie in requirements.toml den Wert false fest, um Computer Use, Record & Replay sowie zugehörige Installations- oder Aktivierungsabläufe zu deaktivieren.",
},
{
key: "features.workspace_dependencies",
type: "boolean",
description:
"Schreibt die Laufzeitverfügbarkeit gebündelter Workspace-Abhängigkeiten für verwaltete Benutzer als aktiviert oder deaktiviert fest.",
},
{
key: "computer_use",
type: "table",
description:
"Aus requirements.toml erzwungene Computer Use-Anforderungen.",
},
{
key: "computer_use.allow_locked_computer_use",
type: "boolean",
description:
"Legen Sie false fest, um zu verhindern, dass Computer Use nach dem Sperren eines verwalteten macOS-Geräts weiterarbeitet. Wird der Wert ausgelassen, bleibt die Verwendung im gesperrten Zustand durch die Anforderungen uneingeschränkt.",
},
{
key: "experimental_network",
type: "table",
description:
"Aus requirements.toml erzwungene Netzwerkzugriffsanforderungen. Diese Einschränkungen sind von features.network_proxy getrennt und können Sandbox-Netzwerke ohne das Benutzer-Feature-Flag konfigurieren.",
},
{
key: "experimental_network.enabled",
type: "boolean",
description:
"Aktiviert Anforderungen für Sandbox-Netzwerke. Dies gewährt keinen Netzwerkzugriff, wenn die aktive Sandbox den Netzwerkzugriff für Befehle deaktiviert lässt.",
},
{
key: "experimental_network.http_port",
type: "integer",
description:
"Port des Loopback-HTTP-Listeners, der für [experimental_network]-Anforderungen verwendet werden soll.",
},
{
key: "experimental_network.socks_port",
type: "integer",
description:
"Port des Loopback-SOCKS5-Listeners, der für [experimental_network]-Anforderungen verwendet werden soll.",
},
{
key: "experimental_network.allow_upstream_proxy",
type: "boolean",
description:
"Erlaubt Sandbox-Netzwerken, einen Upstream-Proxy aus der Umgebung vorzuschalten.",
},
{
key: "experimental_network.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Erlaubt Nicht-Loopback-Listeneradressen für [experimental_network]-Anforderungen. Die Aktivierung kann Listener über localhost hinaus zugänglich machen.",
},
{
key: "experimental_network.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Erlaubt beliebige Unix-Socket-Ziele anstelle eines ausschließlich über eine Zulassungsliste gesteuerten Zugriffs. Verwenden Sie dies nur in streng kontrollierten Umgebungen.",
},
{
key: "experimental_network.domains",
type: "map<string, allow | deny>",
description:
"Als Zuordnung strukturierte Administrator-Domainrichtlinie für Sandbox-Netzwerke. Unterstützt exakte Hosts, *.example.com nur für Subdomains, **.example.com für die Apex-Domain einschließlich Subdomains sowie globale *-Zulassungsregeln; bevorzugen Sie begrenzte Regeln, da * den öffentlichen ausgehenden Zugriff weitreichend öffnet. deny hat bei Konflikten Vorrang. Kombinieren Sie dies nicht mit experimental_network.allowed_domains oder experimental_network.denied_domains.",
},
{
key: "experimental_network.allowed_domains",
type: "array",
description:
"Als Liste strukturierte Administrator-Zulassungsregeln für Sandbox-Netzwerke. Kombinieren Sie dies nicht mit experimental_network.domains.",
},
{
key: "experimental_network.denied_domains",
type: "array",
description:
"Als Liste strukturierte Administrator-Ablehnungsregeln für Sandbox-Netzwerke. Kombinieren Sie dies nicht mit experimental_network.domains.",
},
{
key: "experimental_network.managed_allowed_domains_only",
type: "boolean",
description:
"Wenn true festgelegt ist, bleiben bei aktiven Anforderungen für Sandbox-Netzwerke nur administrativ verwaltete Zulassungsregeln wirksam; Ergänzungen der Benutzerzulassungsliste werden ignoriert. Ohne verwaltete Zulassungsregeln bleiben von Benutzern hinzugefügte Domain-Zulassungsregeln nicht wirksam.",
},
{
key: "experimental_network.unix_sockets",
type: "map<string, allow | deny>",
description:
"Administrativ verwaltete Unix-Socket-Richtlinie für Sandbox-Netzwerke.",
},
{
key: "experimental_network.allow_local_binding",
type: "boolean",
description:
"Erlaubt einen breiteren lokalen beziehungsweise privaten Netzwerkzugriff für Sandbox-Netzwerke. Exakte lokale IP-Literale oder localhost-Zulassungsregeln können weiterhin bestimmte lokale Ziele erlauben, wenn dieser Wert false bleibt.",
},
{
key: "hooks",
type: "table",
description:
"Administrativ erzwungene verwaltete Lebenszyklus-Hooks. Erfordert ein verwaltetes Hook-Verzeichnis und verwendet dasselbe Ereignisschema wie Inline-[hooks] in config.toml.",
},
{
key: "hooks.managed_dir",
type: "string (absolute path)",
description:
"Verzeichnis mit verwalteten Hook-Skripten unter macOS und Linux. Codex überprüft vor dem Laden der verwalteten Hooks, ob es sich um einen absoluten Pfad handelt und das Verzeichnis vorhanden ist.",
},
{
key: "hooks.windows_managed_dir",
type: "string (absolute path)",
description:
"Verzeichnis mit verwalteten Hook-Skripten unter Windows. Codex überprüft vor dem Laden der verwalteten Hooks, ob es sich um einen absoluten Pfad handelt und das Verzeichnis vorhanden ist.",
},
{
key: "hooks.",
type: "array",
description:
"Matcher-Gruppen für ein Hook-Ereignis wie PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit oder Stop.",
},
{
key: "hooks.[].hooks",
type: "array",
description:
"Hook-Handler für eine Matcher-Gruppe. Befehls-Hooks werden derzeit unterstützt; Prompt- und Agent-Hook-Handler werden geparst, aber übersprungen.",
},
{
key: "hooks.[].hooks[].commandWindows",
type: "string",
description:
"Nur für Windows geltende Befehlsüberschreibung für Befehls-Hooks. Der TOML-Alias command_windows wird ebenfalls akzeptiert.",
},
{
key: "permissions.filesystem.deny_read",
type: "array",
description:
"Administrativ erzwungene Leseverbote für das Dateisystem. Einträge können Pfade oder Glob-Muster sein; Benutzer können sie nicht durch eine lokale Konfiguration abschwächen.",
},
{
key: "mcp_servers",
type: "table",
description:
"Zulassungsliste der MCP-Server, die aktiviert werden dürfen. Sowohl der Servername (<id>) als auch seine Identität müssen übereinstimmen, damit der MCP-Server aktiviert wird. Jeder konfigurierte MCP-Server, der nicht in der Zulassungsliste enthalten ist oder dessen Identität nicht übereinstimmt, wird deaktiviert.",
},
{
key: "mcp_servers..identity",
type: "table",
description:
"Identitätsregel für einen einzelnen MCP-Server. Legen Sie entweder command (stdio) oder url (streamfähiges HTTP) fest.",
},
{
key: "mcp_servers..identity.command",
type: "string | table",
description:
"Lässt einen MCP-stdio-Server anhand einer exakten Befehlszeichenfolge zu oder verwendet eine Matcher-Tabelle, um eine exakte ausführbare Datei und geordnete Argument-Matcher zu verlangen. Die Zeichenfolgenform prüft weder Argumente noch cwd, env oder env_vars.",
},
{
key: "mcp_servers..identity.command.executable",
type: "string",
description:
"Ausführbare Datei, mit der der konfigurierte Wert command des stdio-Servers exakt übereinstimmen muss.",
},
{
key: "mcp_servers..identity.command.args",
type: "array",
description:
"Geordnete Argument-Matcher für einen stdio-Server. Die konfigurierte Argumentliste muss dieselbe Länge haben und jede Position muss übereinstimmen. Befehls-Matcher prüfen weder cwd noch env oder env_vars.",
},
{
key: "mcp_servers..identity.command.args[].match",
type: "exact | prefix | regex",
description: "Abgleichsoperation für diese Argumentposition.",
},
{
key: "mcp_servers..identity.command.args[].value",
type: "string",
description: "Von einem exact- oder prefix-Argument-Matcher verwendeter Wert.",
},
{
key: "mcp_servers..identity.command.args[].expression",
type: "string",
description:
"Von einem regex-Argument-Matcher verwendeter regulärer Ausdruck. Der Ausdruck muss gültig sein und mit dem vollständigen Argumentwert übereinstimmen.",
},
{
key: "mcp_servers..identity.url",
type: "string | table",
description:
"Lässt einen streamfähigen MCP-HTTP-Server anhand einer exakten URL-Zeichenfolge zu oder verwendet eine Wert-Matcher-Tabelle mit exact, prefix oder regex.",
},
{
key: "mcp_servers..identity.url.match",
type: "exact | prefix | regex",
description: "Abgleichsoperation für die konfigurierte MCP-Server-URL.",
},
{
key: "mcp_servers..identity.url.value",
type: "string",
description: "Von einem exact- oder prefix-URL-Matcher verwendeter Wert.",
},
{
key: "mcp_servers..identity.url.expression",
type: "string",
description:
"Von einem regex-URL-Matcher verwendeter regulärer Ausdruck. Der Ausdruck muss gültig sein und mit dem vollständigen URL-Wert übereinstimmen.",
},
{
key: "plugins",
type: "table",
description:
"Plugin-spezifische Zulassungslisten für MCP-Server, indiziert nach Plugin-Kennung. Wenn diese Tabelle vorhanden ist, werden in Plugins gebündelte Server ohne übereinstimmenden Plugin- und Servereintrag deaktiviert.",
},
{
key: "plugins..mcp_servers",
type: "table",
description:
"Zulassungsliste für MCP-Server, die mit einem Plugin gebündelt sind. Anforderungen an Plugin-Server verwenden dieselben exakten Identitäts- und Matcher-Formen wie übergeordnete mcp_servers-Anforderungen.",
},
{
key: "plugins..mcp_servers..identity",
type: "table",
description:
"Identitätsregel für einen in einem Plugin gebündelten MCP-Server. Legen Sie entweder command (stdio) oder url (streamfähiges HTTP) fest.",
},
{
key: "plugins..mcp_servers..identity.command",
type: "string | table",
description:
"Lässt den stdio-MCP-Server eines Plugins anhand einer exakten Befehlszeichenfolge zu oder verwendet eine Matcher-Tabelle, um eine exakte ausführbare Datei und geordnete Argument-Matcher zu verlangen.",
},
{
key: "plugins..mcp_servers..identity.command.executable",
type: "string",
description:
"Ausführbare Datei, mit der der konfigurierte Befehl des im Plugin gebündelten stdio-Servers exakt übereinstimmen muss.",
},
{
key: "plugins..mcp_servers..identity.command.args",
type: "array",
description:
"Geordnete Argument-Matcher für einen in einem Plugin gebündelten stdio-Server. Die konfigurierte Argumentliste muss dieselbe Länge haben und jede Position muss übereinstimmen.",
},
{
key: "plugins..mcp_servers..identity.command.args[].match",
type: "exact | prefix | regex",
description: "Abgleichsoperation für diese Argumentposition.",
},
{
key: "plugins..mcp_servers..identity.command.args[].value",
type: "string",
description: "Von einem exact- oder prefix-Argument-Matcher verwendeter Wert.",
},
{
key: "plugins..mcp_servers..identity.command.args[].expression",
type: "string",
description:
"Von einem regex-Argument-Matcher verwendeter regulärer Ausdruck. Der Ausdruck muss mit dem vollständigen Argumentwert übereinstimmen.",
},
{
key: "plugins..mcp_servers..identity.url",
type: "string | table",
description:
"Lässt den streamfähigen HTTP-MCP-Server eines Plugins anhand einer exakten URL-Zeichenfolge zu oder verwendet eine Wert-Matcher-Tabelle mit exact, prefix oder regex.",
},
{
key: "plugins..mcp_servers..identity.url.match",
type: "exact | prefix | regex",
description: "Abgleichsoperation für die URL des im Plugin gebündelten MCP-Servers.",
},
{
key: "plugins..mcp_servers..identity.url.value",
type: "string",
description: "Von einem exact- oder prefix-URL-Matcher verwendeter Wert.",
},
{
key: "plugins..mcp_servers..identity.url.expression",
type: "string",
description:
"Von einem regex-URL-Matcher verwendeter regulärer Ausdruck. Der Ausdruck muss mit dem vollständigen URL-Wert übereinstimmen.",
},
{
key: "marketplaces",
type: "table",
description:
"Administratoranforderungen an Plugin-Marketplace-Quellen. Die Regeln werden wirksam, wenn restrict_to_allowed_sources den Wert true hat.",
},
{
key: "marketplaces.restrict_to_allowed_sources",
type: "boolean",
description:
"Wenn true festgelegt ist, müssen benutzerkonfigurierte Marketplace-Quellen für das Hinzufügen eines Marketplace, die Installation eines Plugins und Aktualisierungsvorgänge konfigurierter Git-Marketplaces mit allowed_sources übereinstimmen. Von Codex verwaltete OpenAI-Marketplaces bleiben zulässig, wenn ihre reservierte Quelle und ihr Name übereinstimmen. Bereits konfigurierte Benutzer-Marketplaces werden dadurch zur Laufzeit nicht gefiltert.",
},
{
key: "marketplaces.allowed_sources",
type: "table",
description:
"Zulässige Marketplace-Quellen, indiziert nach einem vom Administrator gewählten Regelnamen. Unterschiedliche Namen werden über Anforderungsebenen hinweg zusammengeführt; für Felder unter demselben Namen gilt die normale Ebenenrangfolge.",
},
{
key: "marketplaces.allowed_sources.",
type: "table",
description:
"Eine Regel für zulässige Quellen. Der endgültige Wert von source nach dem Zusammenführen der Anforderungen bestimmt, welche gleichgeordneten Felder Codex interpretiert.",
},
{
key: "marketplaces.allowed_sources..source",
type: "git | host_pattern | local",
description:
"Typ des Marketplace-Quellen-Matchers. Verwenden Sie git für ein Repository, host_pattern für mittels regulärem Ausdruck abgeglichene Git-Hosts oder local für ein Verzeichnis.",
},
{
key: "marketplaces.allowed_sources..url",
type: "string",
description:
'Erforderliche Git-Repository-URL, wenn source = "git" festgelegt ist. Codex normalisiert die konfigurierte und die zulässige URL, bevor eine exakte Repository-Übereinstimmung verlangt wird.',
},
{
key: "marketplaces.allowed_sources..ref",
type: "string",
description:
"Optionale exakte Git-Referenz für eine git-Regel. Wird sie ausgelassen, erlaubt die Regel jede Referenz für das übereinstimmende Repository.",
},
{
key: "marketplaces.allowed_sources..host_pattern",
type: "string",
description:
'Erforderlicher regulärer Ausdruck, wenn source = "host_pattern" festgelegt ist. Codex gleicht ihn mit dem kleingeschriebenen Hostnamen ab, der aus einer Git-Quelle im HTTPS-, SSH- oder SCP-Stil geparst wurde. Verwenden Sie ^ und $, um eine Übereinstimmung mit dem vollständigen Host zu verlangen.',
},
{
key: "marketplaces.allowed_sources..path",
type: "string (absolute path)",
description:
'Erforderliches lokales Marketplace-Verzeichnis, wenn source = "local" festgelegt ist. Codex verlangt einen absoluten Pfad und vergleicht die Pfade nach der Normalisierung.',
},
{
key: "apps",
type: "table",
description:
"Verwaltete App-Anforderungen, indiziert nach App-Kennung. Anforderungen können eine App deaktivieren oder das Genehmigungsverhalten einzelner Tools einschränken.",
},
{
key: "apps..enabled",
type: "boolean",
description:
"Legen Sie false fest, um eine App zu deaktivieren. Eine deaktivierende Anforderung bleibt einschränkend, wenn mehrere Anforderungsquellen zusammengeführt werden.",
},
{
key: "apps..tools..approval_mode",
type: "auto | prompt | writes | approve",
description: "Legt den verwalteten Genehmigungsmodus für ein App-Tool fest.",
},
{
key: "rules",
type: "table",
description:
"Administrativ erzwungene Befehlsregeln, die mit .rules-Dateien zusammengeführt werden. Anforderungsregeln müssen einschränkend sein.",
},
{
key: "rules.prefix_rules",
type: "array",
description:
"Liste erzwungener Präfixregeln. Jede Regel muss pattern und decision enthalten.",
},
{
key: "rules.prefix_rules[].pattern",
type: "array",
description:
"Als Mustertoken ausgedrücktes Befehlspräfix. Jedes Token legt entweder token oder any_of fest.",
},
{
key: "rules.prefix_rules[].pattern[].token",
type: "string",
description: "Ein einzelnes literales Token an dieser Position.",
},
{
key: "rules.prefix_rules[].pattern[].any_of",
type: "array",
description: "Eine Liste zulässiger alternativer Token an dieser Position.",
},
{
key: "rules.prefix_rules[].decision",
type: "prompt | forbidden",
description:
"Erforderlich. Anforderungsregeln können nur nachfragen oder verbieten (nicht erlauben).",
},
{
key: "rules.prefix_rules[].justification",
type: "string",
description:
"Optionale, nicht leere Begründung, die in Genehmigungsaufforderungen oder Ablehnungsmeldungen angezeigt wird.",
},
]}
client:load
/>
Zurück Erweiterte Konfiguration Weiter Umgebungsvariablen