disable_response_storage в Codex: удалённая настройка для ZDR
На 2026-10-08 disable_response_storage — старая настройка Codex CLI, которую уже удалили: PR #714 в открытом репозитории Codex добавил её в config.toml 2025-04-28 для организаций OpenAI с нулевым хранением данных (ZDR), а в PR #3212, принятом 2025-09-05, сказано: «The disable_response_storage configuration option is removed.» Изменение вошло в rust-v0.30.0, а в актуальном config-reference этот ключ не находится. Ниже — что она делала, почему её убрали и что будет, если она осталась в старом конфиге.
Обновлено 2026-10-08
Четыре ключевых факта
Добавлена в config.toml (PR #714)
В описании PR сказано, что клиентам с ZDR неудобно каждый раз передавать флаг командной строки, поэтому значение стало можно один раз задать в config.toml и больше о нём не думать.
Удалена (PR #3212)
В разделе Breaking change в PR «Never store requests» прямо сказано, что настройка удалена; rust-v0.30.0, вышедший в тот же день, перечисляет этот PR среди принятых.
Как уходят запросы после удаления
PR #3212 жёстко задал store: false в запросах к Responses; в исходниках rust-v0.161.0, вышедшего 2026-10-07, сборка запроса по-прежнему ставит store: false.
Если ключ остался в старом конфиге
При загрузке config.toml rust-v0.161.0 выводит нераспознанные ключи в предупреждении при запуске с пометкой «is ignored»; с --strict-config запуск завершается ошибкой.
Что это было и зачем появилось
На 2026-10-08 disable_response_storage — удалённая булева настройка Codex CLI, и в актуальном config-reference этот ключ не находится. Её появление связано с нулевым хранением данных (ZDR): PR #642, принятый 2025-04-25, сначала добавил в Rust-версию CLI флаг --disable-response-storage, а в его описании объясняется, что у клиента с ZDR previous_response_id никогда не доступен, поэтому input каждого запроса должен содержать всю переписку на текущий момент. Через три дня PR #714 позволил задавать её в config.toml; комментарий в коде гласит «Disable server-side response storage (sends the full conversation context with every request)», то есть отключить хранение ответов на сервере и отправлять полный контекст разговора с каждым запросом, и отмечает, что тогда это было необходимо клиентам OpenAI, подключившим ZDR. Если её не задавать, значение было false.
Как удаление сформулировано в PR #3212 (2025-09-05)
PR #3212 называется «Never store requests», а его раздел Breaking change состоит из одного предложения: «The disable_response_storage configuration option is removed.» Причина в описании: когда идентификаторы элементов отправляются в Responses API, он загружает их из базы данных, игнорируя переданные значения, и «This adds extra latency»; отказ от режима хранения запросов к тому же упрощает код. Тот же PR удалил раздел о disable_response_storage из docs/config.md репозитория и сократил текст docs/zdr.md до одной строки: «Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.» PR вошёл в rust-v0.30.0, вышедший в тот же день; в примечаниях к выпуску он значится как «Never store requests».
Хронология
Принят PR #714: disable_response_storage = true можно писать в config.toml. Ещё 2025-04-25 PR #642 добавил флаг командной строки --disable-response-storage.
Принят PR #3212 «Never store requests»: настройка удалена, запросы переведены на store: false. В тот же день вышел rust-v0.30.0 с этим изменением.
Дата проверки этой страницы: в актуальном config-reference ключ не находится, а исходники rust-v0.161.0 (выпуск 2026-10-07) считают его нераспознанной настройкой и выводят в предупреждении при запуске.
Подтверждено и не проверено
Подтверждено (дословно в открытом репозитории Codex и официальной документации OpenAI)
Следующее можно дословно сверить в открытом репозитории Codex или в официальной документации Codex от OpenAI: PR #642 (принят 2025-04-25) добавил флаг --disable-response-storage для клиентов с ZDR; PR #714 (принят 2025-04-28) позволил задавать ключ в config.toml; в PR #3212 (принят 2025-09-05) сказано «The disable_response_storage configuration option is removed.», а store в запросах заменён на false; примечания к выпуску rust-v0.30.0 перечисляют PR #3212; на 2026-10-08 в актуальном config-reference этот ключ не находится; в структуре конфигурации rust-v0.161.0 такого поля нет, а нераспознанные ключи вызывают предупреждение, которое начинается с «Codex is ignoring»; официальная документация CLI сообщает, что --strict-config выдаёт ошибку, если config.toml содержит поля, которые эта версия Codex не распознаёт. И ещё: в docs/config.md под тегом rust-v0.40.0 (выпуск 2025-09-23, позже PR #3212) ключ всё ещё есть в таблице с пометкой «Required for ZDR orgs.» Ориентируйтесь на актуальную документацию.
Не подтверждено или не указано официально
Это не проверено, поэтому не делайте на этой основе выводов. Во-первых, игнорировали ли версии между rust-v0.30.0 и rust-v0.161.0 этот ключ молча или предупреждали о нём: здесь проверены только исходники rust-v0.161.0, без сравнения по версиям. Во-вторых, в актуальной документации Codex от OpenAI не нашлось раздела именно о Codex CLI и ZDR; фраза «natively supports» взята из документа репозитория, переписанного в PR #3212 2025-09-05. В-третьих, пользователь на GitHub предложил явную опцию хранения ответов для пользовательских провайдеров; на дату проверки это предложение остаётся открытым и не является действующей настройкой. В-четвёртых, включён ли ZDR в вашей организации и как хранятся данные, определяют настройки аккаунта OpenAI и договор; эта страница об этом не судит.
До и после удаления
До (раньше rust-v0.30.0)
Без явного значения — false. Значение true отключало хранение ответов на сервере и отправляло полный контекст разговора с каждым запросом. Тогдашний docs/config.md требовал от аккаунтов с ZDR выставить его в true, а docs/zdr.md приводил соответствующую ошибку, которая заканчивалась на «Previous response cannot be used for this organization due to Zero Data Retention.» В тогдашнем коде запросы при входе через ChatGPT и так не сохранялись.
После (начиная с rust-v0.30.0)
Ключ исчез вместе с режимом хранения запросов: PR #3212 зафиксировал store: false в запросах, а в описании сказано, что отказ от этого режима упрощает код. В исходниках rust-v0.161.0, вышедшего 2026-10-07, сборка запроса к Responses по-прежнему ставит store: false. Документ репозитория PR #3212 переписал так: «Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.»
Как почистить старый конфиг и подключить QCode
① Откройте ~/.codex/config.toml и удалите строку disable_response_storage; если она задана и в разделе профиля, удалите и её (PR #3212 убрал ключ и из настроек профиля). Уберите --config disable_response_storage=true из скриптов запуска. ② Запустите один раз codex --strict-config: в официальной документации CLI сказано, что он выдаёт ошибку, если config.toml содержит поля, которые эта версия не распознаёт. В исходниках rust-v0.161.0 за один запуск сообщается только первое такое поле (unknown configuration field и имя поля), поэтому исправляйте и запускайте снова, пока ошибка не исчезнет. ③ Если при обычном запуске без этого флага всё ещё появляется предупреждение с фразой «Check for typos or deprecated settings.», удалите по очереди все ключи из его списка. ④ Для QCode, по документации QCode, впишите в config.toml: model_provider = "crs", model = "gpt-6-sol", model_reasoning_effort = "high", preferred_auth_method = "apikey", а затем раздел [model_providers.crs] с name = "crs", base_url = "https://api.qcode.cc/openai", wire_api = "responses", requires_openai_auth = true, env_key = "CRS_OAI_KEY". Имя провайдера и имя переменной окружения можно выбрать свои; в примере документации это crs и CRS_OAI_KEY. ⑤ Ключ (начинается с cr_) укажите в OPENAI_API_KEY в ~/.codex/auth.json или передайте через переменную окружения CRS_OAI_KEY.
Codex через QCode
По документации QCode, Codex подключается к QCode по протоколу OpenAI Responses: в config.toml задайте base_url = "https://api.qcode.cc/openai" и wire_api = "responses", а в качестве ключа используйте API-ключ QCode, начинающийся с cr_. Этот эндпоинт обслуживает модели GPT; Claude и китайские модели через него не идут. В поле model укажите gpt-6-sol, как в примере документации, или gpt-6.1-sol. В примере конфигурации Codex в документации QCode строки disable_response_storage нет, так что настраивайте ровно по документации. Оплата за токены; цены каждой модели — на /models.
Частые вопросы
Что такое disable_response_storage?
Это ранняя булева настройка Codex CLI, удалённая 2025-09-05. Со значением true Codex отключал хранение ответов на сервере и отправлял полный контекст разговора с каждым запросом; она предназначалась для организаций OpenAI с включённым нулевым хранением данных (ZDR). PR #714 добавил её в config.toml 2025-04-28, PR #3212 удалил 2025-09-05, изменение вошло в rust-v0.30.0.
Нужно ли сейчас писать disable_response_storage = true?
Нет, и это ничего не меняет. На 2026-10-08 в актуальном config-reference этот ключ не находится; в PR #3212 сказано «The disable_response_storage configuration option is removed.», и запросы переведены на store: false. rust-v0.161.0 при загрузке конфига указывает этот ключ как игнорируемую настройку.
Будет ли ошибка, если ключ остался в старом config.toml?
По умолчанию ошибки нет, но будет предупреждение. По исходникам rust-v0.161.0 нераспознанные ключи попадают в предупреждение при запуске: оно начинается с «Codex is ignoring» и числа игнорируемых настроек, добавляет «Check for typos or deprecated settings.» и перечисляет каждый ключ с пометкой «is ignored.» Если запустить с --strict-config, то, по официальной документации CLI, Codex выдаст ошибку при нераспознанных полях в config.toml; текст ошибки в коде — unknown configuration field и имя поля.
Есть ли новая настройка ей на замену?
На 2026-10-08 в актуальном config-reference этот ключ не находится, как и ключей, связанных с ZDR или хранением ответов. Причина — в PR #3212: он зафиксировал store: false в запросах к Responses, убрал режим хранения запросов и переписал документ репозитория: «Codex CLI natively supports OpenAI organizations with Zero Data Retention (ZDR) enabled.»
Какую ошибку раньше получали организации с ZDR?
В docs/zdr.md до удаления приводилась ошибка, которая оканчивалась на «Message: 400 Previous response cannot be used for this organization due to Zero Data Retention.» Тогда её решали запуском с --config disable_response_storage=true или строкой disable_response_storage = true в ~/.codex/config.toml. PR #3212 удалил этот фрагмент; в текущих версиях такой настройки нет.
Как написать config.toml для Codex через QCode?
По документации QCode: base_url = "https://api.qcode.cc/openai", wire_api = "responses", ключ QCode, начинающийся с cr_, и модель gpt-6-sol или gpt-6.1-sol; полный список полей — в шагах настройки выше. В примере конфигурации в документации disable_response_storage нет, и добавлять его не нужно. Оплата за токены; цены каждой модели — на /models.
Источники
Открытый репозиторий Codex (github.com/openai/codex): описания и изменения кода в PR #642, #714 и #3212; примечания к выпускам rust-v0.29.0, rust-v0.30.0, rust-v0.40.0 и rust-v0.161.0; docs/config.md под тегом rust-v0.40.0; исходники codex-rs/config и codex-rs/core под тегом rust-v0.161.0; issue #46470 (только как свидетельство спроса). Официальная документация Codex от OpenAI: страница Configuration Reference и таблица параметров командной строки в сводной документации Codex (learn.chatgpt.com). Руководство по Codex в документации QCode (обновлено 2026-09-30). Всё получено 2026-10-08.
Настройте Codex по документации и начните работу
Один ключ, начинающийся с cr_, для gpt-6-sol и gpt-6.1-sol в Codex; оплата за токены, цены каждой модели — на /models.
Читайте также
Codex CLI со сторонним API: руководство по настройке
Как задать model_provider, base_url и env_key в config.toml, плюс частые ошибки.
Codex 401 Unauthorized: причины и исправление
codex login, API-ключи, auth.json и env_key, проверка 401 для QCode.
Ошибка Codex «Selected model is at capacity»
Чем сообщение о ёмкости отличается от квоты и 429, как сменить модель и повторять запрос с паузой.
Факты и цитаты на этой странице сверены 2026-10-08 с официальной документацией Codex от OpenAI и открытым репозиторием Codex; изменения на стороне вендора возможны без предупреждения. Поведение зависит от версии, поэтому ориентируйтесь на версию, которую показывает codex --version у вас; доступность моделей — по /models.