Codex liest Konfigurationsdaten aus mehreren Speicherorten. Deine persönlichen Standardeinstellungen befinden sich in ~/.codex/config.toml, und über Dateien unter .codex/config.toml kannst du Einstellungen auf Projektebene überschreiben. Aus Sicherheitsgründen lädt Codex die projektspezifischen Konfigurationsebenen aus .codex/ nur, wenn du dem Projekt vertraust.
Codex-Konfigurationsdatei
Codex speichert die Konfiguration auf Benutzerebene unter ~/.codex/config.toml. Wenn Einstellungen nur für ein bestimmtes Projekt oder einen Unterordner gelten sollen, füge in deinem Repository eine Datei unter .codex/config.toml hinzu.
Um die Konfigurationsdatei in der Codex IDE-Erweiterung zu öffnen, wähle oben rechts das Zahnradsymbol und dann Codex-Einstellungen > config.toml öffnen aus.
CLI und IDE-Erweiterung greifen auf dieselben Konfigurationsebenen zu. Mit beiden kannst du:
- Das Standardmodell und den Anbieter festlegen.
- Die Genehmigungsrichtlinien und Sandbox-Einstellungen konfigurieren.
- Die MCP-Server konfigurieren.
Priorität der Konfiguration
Codex ermittelt Werte in dieser Reihenfolge (höchste Priorität zuerst):
- CLI-Flags und Überschreibungen mit
--config - Projektkonfigurationsdateien:
.codex/config.toml, geordnet vom Projektstammverzeichnis bis zu deinem aktuellen Arbeitsverzeichnis (die nächstgelegene Datei hat Vorrang; nur bei vertrauenswürdigen Projekten) - Dateien für das Profil, die mit
--profile profile-nameausgewählt werden (~/.codex/profile-name.config.toml) - Benutzerkonfiguration:
~/.codex/config.toml - Systemkonfiguration (falls vorhanden):
/etc/codex/config.tomlunter Unix - Integrierte Standardeinstellungen
Nutze diese Rangfolge, um gemeinsame Standardeinstellungen in config.toml festzulegen und die Profildateien auf abweichende Werte zu beschränken.
Wenn du ein Projekt als nicht vertrauenswürdig markierst, überspringt Codex die projektspezifischen Konfigurationsebenen unter .codex/, einschließlich der lokalen Projektkonfiguration sowie projektspezifischer Hooks und Regeln. Die Benutzer- und Systemkonfigurationen werden weiterhin geladen, einschließlich benutzerspezifischer und globaler Hooks und Regeln.
Informationen zu einmaligen Überschreibungen über -c/--config (einschließlich der TOML-Regeln für Anführungszeichen) findest du unter Erweiterte Konfiguration.
Auf verwalteten Geräten kann deine Organisation außerdem über
requirements.toml Einschränkungen durchsetzen (etwa indem sie approval_policy = "never" oder
sandbox_mode = "danger-full-access" untersagt). Weitere Informationen findest du unter Verwaltete
Konfiguration und Administrativ erzwungene
Anforderungen.
Gängige Konfigurationsoptionen
Hier sind einige Optionen, die besonders häufig geändert werden:
Standardmodell
Wähle das Modell aus, das Codex standardmäßig in der CLI und der IDE verwendet.
model = "gpt-5.6"Genehmigungsabfragen
Lege fest, wann Codex pausiert und vor dem Ausführen generierter Befehle eine Genehmigung anfordert.
approval_policy = "on-request"
Informationen zu den Verhaltensunterschieden zwischen untrusted, on-request und never findest du unter Ohne Genehmigungsabfragen ausführen und Gängige Kombinationen aus Sandbox und Genehmigung.
Sandbox-Stufe
Lege fest, in welchem Umfang Codex beim Ausführen von Befehlen auf das Dateisystem und das Netzwerk zugreifen kann.
sandbox_mode = "workspace-write"
Informationen zum Verhalten der einzelnen Modi (einschließlich geschützter Pfade wie .git/.codex und der Standardwerte für den Netzwerkzugriff) findest du unter Sandbox und Genehmigungen, Geschützte Pfade in Stammverzeichnissen mit Schreibzugriff und Netzwerkzugriff.
Berechtigungsprofile
Codex unterstützt außerdem benannte Berechtigungsprofile für wiederverwendbare Richtlinien zum Dateisystem- und
Netzwerkzugriff. Die integrierten Profile sind :read-only, :workspace und
:danger-full-access. Benutzerdefinierte Profile verwenden Tabellen vom Typ [permissions.<name>] und einen
passenden Wert für default_permissions. Siehe Berechtigungen.
Windows-Sandbox-Modus
Wenn du Codex nativ unter Windows ausführst, lege für den nativen Sandbox-Modus elevated in der Tabelle windows fest. Verwende unelevated nur, wenn du keine Administratorrechte hast oder die Einrichtung mit erhöhten Rechten fehlschlägt.
[windows]
sandbox = "elevated" # Recommended
# sandbox = "unelevated" # Fallback if admin permissions/setup are unavailable
Modus der Websuche
Codex aktiviert die Websuche standardmäßig für lokale Chats und liefert Ergebnisse aus einem Cache für die Websuche. Der Cache ist ein von OpenAI gepflegter Index für Webergebnisse. Daher gibt der Cache-Modus vorab indexierte Ergebnisse zurück, anstatt Live-Webseiten abzurufen. Das verringert das Risiko von Prompt Injection durch beliebige Live-Inhalte. Du solltest Webergebnisse dennoch als nicht vertrauenswürdig behandeln. Wenn du --yolo oder eine andere Sandbox-Einstellung mit Vollzugriff verwendest, liefert die Websuche standardmäßig Live-Ergebnisse. Wähle über web_search einen Modus aus:
"cached"(Standard) liefert Ergebnisse aus dem Cache der Websuche."indexed"gestattet externen Webzugriff nur, wenn der Suchindex die Anfrage freigibt."live"ruft die neuesten Daten aus dem Web ab (entspricht--search)."disabled"deaktiviert das Tool für die Websuche.
web_search = "cached" # default; serves results from the web search cache
# web_search = "indexed" # gate external web access through the search index
# web_search = "live" # fetch the most recent data from the web (same as --search)
# web_search = "disabled"
Reasoning-Aufwand
Passe den Reasoning-Aufwand an, sofern das Modell dies unterstützt.
model_reasoning_effort = "high"
Kommunikationsstil
Lege für unterstützte Modelle einen standardmäßigen Kommunikationsstil fest.
personality = "friendly" # or "pragmatic" or "none"
Diese Einstellung kannst du später in einer laufenden Sitzung mit /personality oder bei Verwendung der APIs des App Server pro Thread oder Turn überschreiben.
TUI-Tastenbelegung
Passe unter tui.keymap die Tastenkürzel im Terminal an. Bestimmte Editor-Aktionen greifen ersatzweise auf entsprechende Belegungen unter tui.keymap.global zurück; kontextspezifische Belegungen haben Vorrang, sofern sie unterstützt werden. Eine leere Liste entfernt die Tastenbelegung der Aktion.
[tui.keymap.global]
open_transcript = "ctrl-t"
[tui.keymap.composer]
submit = ["enter", "ctrl-m"]
[tui.keymap.chat]
interrupt_turn = "f12"
Befehlsumgebung
Lege fest, welche Umgebungsvariablen Codex an von ihm gestartete Befehle weitergibt. Verwende schlüsselbasierte Filter, um nur die benötigten Variablen beizubehalten:
[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"
ignore_default_excludes ist standardmäßig auf true gesetzt. Dadurch entfällt die automatische Filterung
von Variablennamen, die KEY, SECRET oder TOKEN enthalten. Setze die Option auf false,
wenn du diese automatische Filterung verwenden möchtest. Weitere Informationen zu Ausschlussregeln, zur Priorität und
zur Legacy-Konfiguration findest du unter Richtlinie
für die Shell-Umgebung.
Log-Verzeichnis
Lege fest, wo Codex lokale Log-Dateien speichert. Wenn du log_dir ausdrücklich festlegst, wird außerdem
das optionale TUI-Log im Klartext, codex-tui.log, in diesem Verzeichnis aktiviert.
log_dir = "/absolute/path/to/codex-logs"
Für einzelne Ausführungen kannst du den Speicherort auch über die CLI festlegen:
codex -c log_dir=./.codex-log
Feature-Flags
Verwende die Tabelle [features] in config.toml, um optionale und experimentelle Funktionen zu aktivieren oder zu deaktivieren.
Gängige Feature-Flags
| Schlüssel | Standard | Reifegrad | Beschreibung |
|---|---|---|---|
apps | true | Stabil | App-Integrationen (Konnektoren) aktivieren |
goals | true | Stabil | Dauerhaft gespeicherte Ziele und automatische Fortsetzung aktivieren |
hooks | true | Stabil | Lifecycle-Hooks aus hooks.json oder aus dem Inline-Abschnitt [hooks] aktivieren. Siehe Hooks. |
fast_mode | true | Stabil | Die Auswahl des Schnellmodus und den Codepfad für service_tier = "fast" aktivieren |
memories | false | Experimentell | Erinnerungen aktivieren |
multi_agent | true | Stabil | Tools für die Zusammenarbeit von Subagenten aktivieren |
personality | true | Stabil | Bedienelemente zur Auswahl der Persönlichkeit aktivieren |
remote_plugin | true | Stabil | Den Remote-Katalog für Plug-ins aktivieren |
shell_snapshot | true | Stabil | Eine Momentaufnahme der Shell-Umgebung erstellen, um wiederholt ausgeführte Befehle zu beschleunigen |
shell_tool | true | Stabil | Das standardmäßig verwendete Tool shell aktivieren |
unified_exec | true außer unter Windows | Stabil | Das vereinheitlichte, PTY-gestützte Tool zur Befehlsausführung verwenden |
web_search | true | Veraltet | Veralteter Schalter; stattdessen die Einstellung web_search auf oberster Ebene verwenden |
web_search_cached | false | Veraltet | Veralteter Schalter, der als web_search = "cached" interpretiert wird, sofern die Einstellung nicht festgelegt ist |
web_search_request | false | Veraltet | Veralteter Schalter, der als web_search = "live" interpretiert wird, sofern die Einstellung nicht festgelegt ist |
Diese Tabelle enthält gängige, für Nutzende sichtbare Flags, aber nicht jede interne oder noch in Entwicklung befindliche Funktion. In der Spalte „Reifegrad“ stehen Bezeichnungen wie Experimentell, Beta und Stabil. Unter Reifegrad von Funktionen erfährst du, wie diese Bezeichnungen zu verstehen sind.
Informationen zur Konfiguration von Lifecycle-Hooks findest du unter Hooks.
Funktionen aktivieren
- Füge in
config.tomlunter[features]den Eintragfeature_name = truehinzu. - Führe in der CLI
codex --enable feature_nameaus. - Führe
codex --enable feature_a --enable feature_baus, um mehrere Funktionen zu aktivieren. - Um eine Funktion zu deaktivieren, setze den Schlüssel in
config.tomlauffalse.