disable_response_storage in Codex: entfernte ZDR-Einstellung
Stand 2026-10-08 ist disable_response_storage eine alte, bereits entfernte Einstellung der Codex CLI: PR #714 im Open-Source-Repository von Codex hat sie am 2025-04-28 für OpenAI-Organisationen mit Zero Data Retention (ZDR) in die config.toml aufgenommen, und in PR #3212, gemergt am 2025-09-05, heißt es: „The disable_response_storage configuration option is removed.“ Die Änderung kam mit rust-v0.30.0; in der aktuellen config-reference ist der Schlüssel nicht zu finden. Hier erfahren Sie, was die Einstellung tat, warum sie wegfiel und was passiert, wenn sie noch in einer alten Konfiguration steht.
Aktualisiert 2026-10-08
Vier Kernpunkte
In die config.toml aufgenommen (PR #714)
Laut PR war es für ZDR-Kunden mühsam, das Kommandozeilen-Flag jedes Mal anzugeben; deshalb ließ sich der Wert nun einmal in der config.toml setzen, und die Sache war erledigt.
Entfernt (PR #3212)
Der Abschnitt Breaking change im PR „Never store requests“ hält fest, dass die Option entfernt ist; rust-v0.30.0, am selben Tag erschienen, führt den PR unter den gemergten Änderungen.
So gehen Anfragen seitdem raus
PR #3212 hat store in Responses-Anfragen fest auf false gesetzt; im Quellcode von rust-v0.161.0, erschienen am 2026-10-07, setzt der Request-Aufbau weiterhin store: false.
Wenn sie noch in einer alten Konfiguration steht
Beim Laden der config.toml listet rust-v0.161.0 unbekannte Schlüssel in einer Startwarnung auf und markiert jeden mit „is ignored“; mit --strict-config bricht der Start mit einem Fehler ab.
Was sie war und warum es sie gab
Stand 2026-10-08 ist disable_response_storage eine entfernte boolesche Einstellung der Codex CLI; in der aktuellen config-reference ist der Schlüssel nicht zu finden. Hintergrund ist Zero Data Retention (ZDR): PR #642, gemergt am 2025-04-25, fügte der Rust-CLI zunächst das Flag --disable-response-storage hinzu. Die Beschreibung erklärt, dass previous_response_id für einen Client mit ZDR nie verfügbar ist, das input-Feld jeder Anfrage also den gesamten bisherigen Gesprächsverlauf enthalten muss. Drei Tage später machte PR #714 die Einstellung in der config.toml setzbar; der Kommentar im Code lautet „Disable server-side response storage (sends the full conversation context with every request)“, also serverseitige Speicherung von Antworten abschalten und bei jeder Anfrage den vollständigen Gesprächskontext senden, und vermerkt, dass dies damals für OpenAI-Kunden mit ZDR nötig war. Ohne Angabe galt false.
So formuliert PR #3212 die Entfernung (2025-09-05)
PR #3212 trägt den Titel „Never store requests“, und sein Abschnitt Breaking change besteht aus einem Satz: „The disable_response_storage configuration option is removed.“ Als Grund nennt die Beschreibung: Werden Item-IDs an die Responses API geschickt, lädt sie diese aus der Datenbank und ignoriert die mitgesendeten Werte, und „This adds extra latency“; ohne den Modus, der Anfragen speichert, wird außerdem der Code einfacher. Derselbe PR strich den Abschnitt zu disable_response_storage aus der docs/config.md des Repositorys und kürzte den Text von docs/zdr.md auf einen Satz: „Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.“ Er ist in rust-v0.30.0 enthalten, das am selben Tag erschien; die Release Notes führen ihn als „Never store requests“.
Zeitleiste
PR #714 wird gemergt: disable_response_storage = true kann in die config.toml. Bereits am 2025-04-25 hatte PR #642 das Kommandozeilen-Flag --disable-response-storage eingeführt.
PR #3212 „Never store requests“ wird gemergt: Die Option entfällt, Anfragen laufen mit store: false. Am selben Tag erscheint rust-v0.30.0 mit dieser Änderung.
Prüfdatum dieser Seite: In der aktuellen config-reference ist der Schlüssel nicht zu finden, und der Quellcode von rust-v0.161.0 (erschienen am 2026-10-07) behandelt ihn als unbekannte Einstellung und nennt ihn in einer Startwarnung.
Bestätigt vs. nicht geprüft
Bestätigt (wörtlich im Open-Source-Repository von Codex und in der offiziellen OpenAI-Dokumentation)
Folgendes lässt sich im Open-Source-Repository von Codex oder in der offiziellen Codex-Dokumentation von OpenAI wörtlich nachprüfen: PR #642 (gemergt 2025-04-25) führte das Flag --disable-response-storage für ZDR-Kunden ein; PR #714 (gemergt 2025-04-28) machte den Schlüssel in der config.toml setzbar; PR #3212 (gemergt 2025-09-05) hält fest „The disable_response_storage configuration option is removed.“ und stellte store in Anfragen auf false um; die Release Notes zu rust-v0.30.0 führen PR #3212; Stand 2026-10-08 ist der Schlüssel in der aktuellen config-reference nicht zu finden; die Konfigurationsstruktur von rust-v0.161.0 kennt kein solches Feld, und unbekannte Schlüssel lösen eine Warnung aus, die mit „Codex is ignoring“ beginnt; die offizielle CLI-Dokumentation sagt, dass --strict-config einen Fehler meldet, wenn die config.toml Felder enthält, die diese Codex-Version nicht kennt. Außerdem führt die docs/config.md unter dem Tag rust-v0.40.0 (erschienen 2025-09-23, also nach PR #3212) den Schlüssel noch in ihrer Tabelle, mit dem Hinweis „Required for ZDR orgs.“ Maßgeblich ist die aktuelle Dokumentation.
Nicht geprüft oder nicht offiziell angegeben
Folgendes ist nicht geprüft, ziehen Sie daraus also keine Schlüsse. Erstens, ob die Versionen zwischen rust-v0.30.0 und rust-v0.161.0 diesen Schlüssel stillschweigend ignorierten oder davor warnten: Geprüft wurde nur der Quellcode von rust-v0.161.0, nicht jede Version einzeln. Zweitens fand sich in der aktuellen Codex-Dokumentation von OpenAI kein eigener Abschnitt zu Codex CLI und ZDR; der Satz „natively supports“ stammt aus dem Repository-Dokument, das PR #3212 am 2025-09-05 umgeschrieben hat. Drittens hat ein Nutzer auf GitHub eine ausdrückliche Opt-in-Option zum Speichern von Antworten für eigene Provider vorgeschlagen; zum Prüfdatum ist der Vorschlag noch offen und keine geltende Einstellung. Viertens richtet sich, ob Ihre Organisation ZDR aktiviert hat und wie Daten aufbewahrt werden, nach Ihren OpenAI-Kontoeinstellungen und Ihrem Vertrag; diese Seite trifft dazu keine Aussage.
Vor und nach der Entfernung
Vorher (vor rust-v0.30.0)
Ohne Angabe galt false. Mit true wurde die serverseitige Speicherung von Antworten abgeschaltet und bei jeder Anfrage der vollständige Gesprächskontext gesendet. Die damalige docs/config.md verlangte von Konten mit ZDR, den Wert auf true zu setzen, und docs/zdr.md nannte den passenden Fehler, der mit „Previous response cannot be used for this organization due to Zero Data Retention.“ endete. Im damaligen Code wurden Anfragen bei Anmeldung über ChatGPT ohnehin nicht gespeichert.
Nachher (ab rust-v0.30.0)
Der Schlüssel fiel zusammen mit dem Modus weg, der Anfragen speichert: PR #3212 legte store in Anfragen auf false fest, und laut Beschreibung vereinfacht der Verzicht auf diesen Modus den Code. Im Quellcode von rust-v0.161.0, erschienen am 2026-10-07, setzt der Aufbau von Responses-Anfragen weiterhin store: false. Das Repository-Dokument schrieb PR #3212 um zu „Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.“
Alte Konfiguration aufräumen und QCode anbinden
① Öffnen Sie ~/.codex/config.toml und löschen Sie die Zeile disable_response_storage; falls Sie sie auch in einem Profil-Abschnitt gesetzt haben, löschen Sie sie dort ebenfalls (PR #3212 hat sie auch aus der Profil-Konfiguration entfernt). Entfernen Sie --config disable_response_storage=true aus Startskripten. ② Starten Sie einmal codex --strict-config: Laut offizieller CLI-Dokumentation meldet es einen Fehler, wenn die config.toml Felder enthält, die diese Version nicht kennt. Im Quellcode von rust-v0.161.0 wird pro Lauf nur das erste unbekannte Feld gemeldet (unknown configuration field plus Feldname); korrigieren Sie es also und starten Sie erneut, bis kein Fehler mehr kommt. ③ Erscheint beim normalen Start ohne dieses Flag weiterhin eine Warnung mit „Check for typos or deprecated settings.“, löschen Sie nacheinander die dort aufgeführten Schlüssel. ④ Für QCode tragen Sie laut QCode-Dokumentation in die config.toml ein: model_provider = "crs", model = "gpt-6-sol", model_reasoning_effort = "high", preferred_auth_method = "apikey", danach einen Abschnitt [model_providers.crs] mit name = "crs", base_url = "https://api.qcode.cc/openai", wire_api = "responses", requires_openai_auth = true, env_key = "CRS_OAI_KEY". Provider-Name und Name der Umgebungsvariable sind frei wählbar; das Dokumentationsbeispiel verwendet crs und CRS_OAI_KEY. ⑤ Den Schlüssel (beginnt mit cr_) tragen Sie in ~/.codex/auth.json unter OPENAI_API_KEY ein oder übergeben ihn stattdessen über die Umgebungsvariable CRS_OAI_KEY.
Codex über QCode nutzen
Laut QCode-Dokumentation verbindet sich Codex über das OpenAI-Responses-Protokoll mit QCode: Setzen Sie in der config.toml base_url = "https://api.qcode.cc/openai" und wire_api = "responses", und verwenden Sie Ihren QCode-API-Schlüssel, der mit cr_ beginnt. Dieser Endpunkt bedient GPT-Modelle; Claude und chinesische Modelle laufen nicht darüber. Als model tragen Sie gpt-6-sol wie im Dokumentationsbeispiel oder gpt-6.1-sol ein. Das Codex-Konfigurationsbeispiel der QCode-Dokumentation enthält keine Zeile disable_response_storage, richten Sie es also genau wie dokumentiert ein. Abgerechnet wird pro Token; die Preise je Modell finden Sie unter /models.
Häufig gestellte Fragen
Was ist disable_response_storage?
Eine frühe boolesche Einstellung der Codex CLI, die am 2025-09-05 entfernt wurde. Mit true schaltete Codex die serverseitige Speicherung von Antworten ab und sendete bei jeder Anfrage den vollständigen Gesprächskontext; gedacht war sie für OpenAI-Organisationen mit aktivierter Zero Data Retention (ZDR). PR #714 nahm sie am 2025-04-28 in die config.toml auf, PR #3212 entfernte sie am 2025-09-05, ausgeliefert mit rust-v0.30.0.
Brauche ich disable_response_storage = true noch?
Nein, und die Zeile bewirkt nichts. Stand 2026-10-08 ist der Schlüssel in der aktuellen config-reference nicht zu finden; PR #3212 hält fest „The disable_response_storage configuration option is removed.“ und stellte Anfragen auf store: false um. rust-v0.161.0 führt ihn beim Laden der Konfiguration als ignorierte Einstellung auf.
Gibt es einen Fehler, wenn er noch in einer alten config.toml steht?
Standardmäßig nicht, aber eine Warnung. Laut Quellcode von rust-v0.161.0 landen unbekannte Schlüssel in einer Startwarnung, die mit „Codex is ignoring“ und der Zahl der ignorierten Einstellungen beginnt, „Check for typos or deprecated settings.“ anfügt und jeden Schlüssel mit „is ignored.“ auflistet. Starten Sie mit --strict-config, meldet Codex laut offizieller CLI-Dokumentation einen Fehler, wenn die config.toml unbekannte Felder enthält; der Fehlertext im Code lautet unknown configuration field gefolgt vom Feldnamen.
Gibt es eine neue Einstellung als Ersatz?
Stand 2026-10-08 ist der Schlüssel in der aktuellen config-reference nicht zu finden, ebenso wenig ein Schlüssel zu ZDR oder zur Speicherung von Antworten. Den Grund liefert PR #3212: Er setzte store in Responses-Anfragen fest auf false, strich den Modus, der Anfragen speichert, und schrieb das Repository-Dokument um zu „Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.“
Welchen Fehler bekamen ZDR-Organisationen früher?
Die docs/zdr.md vor der Entfernung nannte einen Fehler, der auf „Message: 400 Previous response cannot be used for this organization due to Zero Data Retention.“ endete. Die damalige Abhilfe: codex mit --config disable_response_storage=true starten oder disable_response_storage = true in ~/.codex/config.toml eintragen. PR #3212 hat diesen Abschnitt gestrichen; in aktuellen Versionen gibt es die Einstellung nicht mehr.
Wie schreibe ich die config.toml, wenn ich Codex über QCode nutze?
Wie in der QCode-Dokumentation: base_url = "https://api.qcode.cc/openai", wire_api = "responses", ein QCode-Schlüssel, der mit cr_ beginnt, und als Modell gpt-6-sol oder gpt-6.1-sol; alle Felder stehen in den Einrichtungsschritten oben. Das Konfigurationsbeispiel der Dokumentation enthält kein disable_response_storage, und Sie müssen es auch nicht ergänzen. Abgerechnet wird pro Token; die Preise je Modell finden Sie unter /models.
Quellen
Das Open-Source-Repository von Codex (github.com/openai/codex): Beschreibungen und Codeänderungen der PRs #642, #714 und #3212, die Release Notes zu rust-v0.29.0, rust-v0.30.0, rust-v0.40.0 und rust-v0.161.0, die docs/config.md unter dem Tag rust-v0.40.0, der Quellcode von codex-rs/config und codex-rs/core unter dem Tag rust-v0.161.0 sowie Issue #46470 (nur als Hinweis auf Nutzerbedarf). Offizielle Codex-Dokumentation von OpenAI: die Seite Configuration Reference und die Tabelle der Kommandozeilenoptionen in der Codex-Dokumentationssammlung (learn.chatgpt.com). Die Codex-Anleitung der QCode-Dokumentation (aktualisiert am 2026-09-30). Alles abgerufen am 2026-10-08.
Codex nach Dokumentation einrichten und loslegen
Ein Schlüssel, der mit cr_ beginnt, für gpt-6-sol und gpt-6.1-sol in Codex; abgerechnet wird pro Token, die Preise je Modell stehen unter /models.
Weiterführende Lektüre
Codex CLI mit Drittanbieter-API einrichten
So setzen Sie model_provider, base_url und env_key in der config.toml, dazu häufige Fehler.
Codex 401 Unauthorized: Ursachen und Lösung
codex login, API-Schlüssel, auth.json und env_key sowie die 401-Prüfung für QCode.
Codex-Fehler „Selected model is at capacity“
Wie sich der Kapazitätshinweis von Kontingent und 429 unterscheidet und wie Sie das Modell wechseln und mit Backoff wiederholen.
Die Fakten und Zitate auf dieser Seite wurden am 2026-10-08 mit der offiziellen Codex-Dokumentation von OpenAI und dem Open-Source-Repository von Codex abgeglichen; Änderungen beim Anbieter sind ohne Vorankündigung möglich. Das Verhalten hängt von der Version ab, maßgeblich ist die Version, die codex --version bei Ihnen anzeigt; die Verfügbarkeit von Modellen richtet sich nach /models.