Codex зберігає налаштування в одному файлі — config.toml: яку модель використовувати, до якого API звертатися та скільки агент може робити без запиту дозволу. Формат кілька разів змінювався у 2026 році, і в багатьох посібниках, опублікованих на початку року, наведено налаштування, через які Codex тепер не запускається.
У цьому посібнику спочатку наведено робочий конфігураційний файл, а потім — налаштування, які змінюють найчастіше: профілі, параметри проєкту, ізольоване середовище та проксі. Наприкінці — перелік помилок, які можуть з’явитися, і пояснення, що означає кожна з них. Перевірено за документацією OpenAI та протестовано на Codex CLI 0.162.1 19 жовтня 2026 року. У прикладах використовується AIHubMix; так само працюватиме будь-який шлюз із підтримкою OpenAI Responses API.
Коротко
- Файл розташований за адресою
~/.codex/config.toml, а у Windows —C:\Users\<you>\.codex\config.toml. - Для власного провайдера потрібні
base_url,wire_api = "responses"іenv_key. Ключ API зберігається в змінній середовища. - Профілі тепер зберігаються в окремих файлах
~/.codex/<name>.config.toml, які вибираються за допомогою--profile <name>. - Файл репозиторію
.codex/config.tomlпрацює лише в довірених проєктах і не може змінювати провайдера. - Після кожної зміни перезапускайте Codex: файл читається лише під час запуску.
Де зберігається config.toml
Основні налаштування містяться у файлі ~/.codex/config.toml. Його читають і CLI, і розширення для IDE. Якщо файлу ще немає, створіть його.
Налаштування також можна додати з двох інших місць:
- Файли профілів —
~/.codex/<name>.config.toml, які використовуються, лише якщо запустити Codex із параметром--profile <name>. - Файли проєкту —
.codex/config.tomlу репозиторії, де зберігаються налаштування для спільного використання командою.
Якщо запустити Codex у WSL2 на Windows, він читатиме домашню директорію Linux (/home/<you>/.codex/config.toml), а не директорію Windows. Якщо встановлено CODEX_HOME, Codex використовуватиме цю папку замість ~/.codex.
Мінімальна робоча конфігурація
Цей повний файл ~/.codex/config.toml спрямовує запити Codex до AIHubMix:
model = "gpt-6-sol"
model_provider = "aihubmix"
model_reasoning_effort = "high"
[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
wire_api = "responses"
env_key = "AIHUBMIX_API_KEY"
model— ідентифікатор моделі, до якої надсилатимуться запити, аmodel_reasoning_effort— рівень міркувань за замовчуванням.model_providerмає збігатися з назвою в[model_providers.<name>]. Не використовуйтеopenai,ollamaчиlmstudio: ці назви зарезервовано для вбудованих провайдерів Codex.base_url— адреса API провайдера. Тепер Codex приймає лише значенняwire_api = "responses".env_key— це назва змінної середовища, а не сам ключ.
Потім задайте значення цієї змінної, використавши ключ із консолі AIHubMix:
# macOS / Linux: add this line to ~/.zshrc or ~/.bashrc, then open a new terminal
export AIHUBMIX_API_KEY=sk-...
# Windows PowerShell: takes effect in new terminals
setx AIHUBMIX_API_KEY "sk-..."
Відкрийте новий термінал, запустіть codex і поставте будь-яке запитання. Якщо Codex відповість, провайдер працює. Авторизація в Codex тут ні до чого: ключ із codex login ніколи не надсилається власному провайдеру.
Профілі: окремий файл для кожного налаштування
Профіль містить лише параметри, що відрізняються від основної конфігурації, наприклад глибше міркування та режим лише для читання під час перевірки коду. Кожен профіль зберігається в окремому файлі поруч із config.toml, а ключі в ньому вказуються на верхньому рівні:
# ~/.codex/review.config.toml
model_reasoning_effort = "xhigh"
sandbox_mode = "read-only"
codex --profile review
Це змінилося у Codex 0.134.0. У старіших посібниках профілі задавалися безпосередньо у файлі config.toml у вигляді таблиць [profiles.review], а вибрати профіль можна було за допомогою profile = "review". Тепер Codex відмовляється запускатися, якщо задано цей параметр вибору. Якщо окремо залишити таблицю [profiles.review], її буде проігноровано без жодного повідомлення, тож її налаштування непомітно перестануть працювати. Щоб перейти на новий формат, перенесіть ключі кожної таблиці до файлу ~/.codex/<name>.config.toml, а потім видаліть таблицю та рядок profile = .... Докладніше див. у посібнику OpenAI з розширеного налаштування.
Конфігурація проєкту: .codex/config.toml
Файл .codex/config.toml у репозиторії дає змогу команді спільно використовувати модель за замовчуванням, рівень міркувань або режим ізольованого середовища. Codex читає його лише в проєктах, позначених як довірені у вашому власному файлі ~/.codex/config.toml:
[projects."/Users/you/code/my-app"]
trust_level = "trusted"
Файл проєкту не може змінити адресу надсилання запитів. Codex ігнорує в ньому ключі model_provider, model_providers, openai_base_url, profile, notify та деякі інші й виводить попередження. Зберігайте налаштування провайдера у файлі ~/.codex/config.toml. У проєкті все одно можна вибрати модель, але запити надсилатимуться до вашого провайдера.
Яке налаштування має пріоритет
Якщо той самий ключ задано в кількох місцях, у розділі Основи конфігурації документації OpenAI вказано такий порядок пріоритету — від найвищого:
- Прапорці командного рядка, зокрема перевизначення за допомогою
-c - Файл проєкту
.codex/config.toml - Профіль, вибраний за допомогою
--profile - Ваш файл
~/.codex/config.toml - Системний файл конфігурації
/etc/codex/config.toml - Вбудовані налаштування Codex за замовчуванням
Зверніть увагу: файл проєкту має вищий пріоритет, ніж профіль. Якщо налаштування профілю, здається, не діє, перевірте, чи вказано той самий ключ у файлі .codex/config.toml репозиторію.
Щоб змінити налаштування лише для одного запуску, використовуйте -c:
codex -c model_reasoning_effort=high
Ізольоване середовище та підтвердження
Два ключі визначають, що Codex може робити самостійно. sandbox_mode задає, до чого можуть звертатися його команди, а approval_policy — коли він зупиняється, щоб запитати дозвіл.
| sandbox_mode | Що можуть робити команди |
|---|---|
| read-only | Читати файли; для всього іншого потрібен дозвіл |
| workspace-write | Записувати файли в папку проєкту та тимчасові папки |
| danger-full-access | Будь-що, без ізольованого середовища |
| approval_policy | Коли Codex запитує дозвіл |
|---|---|
| on-request | Коли потрібно вийти за межі ізольованого середовища |
| never | Ніколи; заблоковані команди просто завершуються з помилкою |
sandbox_mode = "workspace-write"
approval_policy = "on-request"
[sandbox_workspace_write]
network_access = true # off by default
Ці два параметри незалежні: never вимикає запити дозволу, але не послаблює обмеження ізольованого середовища. У режимі workspace-write команди не можуть отримувати доступ до мережі, доки не встановлено network_access = true.
Робота через проксі
У Codex немає налаштування проксі у файлі config.toml. Він використовує стандартні змінні середовища:
export HTTPS_PROXY=http://127.0.0.1:7890 # your proxy address
export NO_PROXY=localhost,127.0.0.1
У документації OpenAI ці змінні не згадуються, тому їхню роботу перевірили на Codex 0.162.1: усі запити, зокрема до власного провайдера, проходили через HTTPS_PROXY (або ALL_PROXY), а до хостів зі списку NO_PROXY зверталися напряму. Файли PAC не підтримуються, тож укажіть безпосередньо адресу проксі. Якщо корпоративний проксі використовує власний кореневий сертифікат, задайте в CODEX_CA_CERTIFICATE шлях до нього, як описано в довіднику змінних середовища.
Більше моделей у /model
У списку моделей /model відображаються лише моделі OpenAI. Щоб вибирати з нього моделі GLM, Claude, Gemini або DeepSeek, додайте каталог моделей: JSON-файл, указаний ключем верхнього рівня model_catalog_json. Розмістіть цей ключ перед першим рядком [table], інакше TOML вважатиме його частиною цієї таблиці, а Codex його проігнорує.
Каталог замінює вбудований список, і кожному запису потрібен довгий перелік полів, тож найкраще згенерувати його, а не створювати вручну. У посібнику AIHubMix з Codex CLI є скрипт, який створює каталог із 30 найпопулярніших моделей AIHubMix. Настільний застосунок може й далі приховувати власні моделі у списку вибору (openai/codex#19694), тож змінюйте модель у терміналі.
Поширені помилки та їх значення
Нижче наведено повідомлення, які Codex 0.162.1 виводив для кожної з цих помилок.
legacy profile = "..." config is no longer supported
У вашому config.toml досі є застарілий рядок profile = "...". Перенесіть профіль до окремого файлу, як описано вище. Якщо запустити --profile x, коли існує стара таблиця [profiles.x], з’явиться схожа помилка: --profile x cannot be used while ... contains legacy ... config.
wire_api = "chat" is no longer supported
Codex більше не підтримує API Chat Completions. Змініть значення на wire_api = "responses". Провайдер, що підтримує лише Chat Completions, не працюватиме без проксі-перекладача.
model_providers contains reserved built-in provider IDs
Ви назвали провайдера openai, ollama або lmstudio. Змініть назву таблиці та значення model_provider на інші.
approval_policy = "untrusted" is no longer supported
Видаліть цей рядок або використайте on-request.
Missing environment variable: AIHUBMIX_API_KEY
Змінну, названу в env_key, не задано в терміналі, з якого запущено Codex. Відкрийте новий термінал або виконайте source ~/.zshrc і знову запустіть Codex.
401 Unauthorized після кількох рядків «Reconnecting...»
Запит було надіслано без ключа. Перевірте, чи задано env_key у таблиці провайдера. Дані входу, збережені у auth.json, для власних провайдерів не використовуються.
Model metadata for ... not found. Defaulting to fallback metadata
У Codex немає вбудованих налаштувань для цієї моделі, що цілком нормально для моделей не від OpenAI. Запити все одно працюватимуть. Додайте каталог моделей, якщо потрібні відповідні налаштування та відображення моделі в /model.
Ignored unsupported project-local config keys
У файлі репозиторію .codex/config.toml задано ключ, який працює лише у вашому власному конфігураційному файлі, зазвичай це model_provider. Перенесіть його до ~/.codex/config.toml.
missing field base_instructions
У записі каталогу моделей бракує обов’язкового поля, тому Codex відхиляє весь файл. Згенеруйте каталог скриптом, а не редагуйте його вручну.
Якщо налаштування не застосовується
- Перезапустіть Codex після редагування.
- Переконайтеся, що ключі верхнього рівня стоять перед першим рядком
[table]. - Перевірте файл
.codex/config.tomlрепозиторію: він має пріоритет над профілем. - Перевірте, чи не залишилася таблиця
[profiles.x]. - Запустіть
codex doctor: ця команда перевіряє встановлення, конфігурацію та авторизацію.
Щоб використовувати в Codex моделі OpenAI, Anthropic, Google, Zhipu, DeepSeek та інших провайдерів за допомогою одного ключа, скористайтеся AIHubMix: він надає до них доступ через Responses API за адресою https://aihubmix.com/v1. Почніть із наведеної вище мінімальної конфігурації та додайте каталог моделей, якщо захочете перемикатися між моделями через /model.
Поширені запитання
Де розташований файл конфігурації Codex config.toml?
У macOS і Linux — у ~/.codex/config.toml, а у Windows — у C:\Users<you>.codex\config.toml. Якщо задано CODEX_HOME, файл зберігається в цій папці.
Чи потрібно перезапускати Codex після зміни config.toml?
Так. Codex читає файл під час запуску, тож закрийте й знову відкрийте сеанс термінала або програму.
Чому Codex повідомляє «конфігурація застарілого профілю більше не підтримується»?
У Codex 0.134.0 прибрали профілі, визначені в config.toml. Перенесіть кожен профіль у ~/.codex/name.config.toml, видаліть старі рядки й запустіть Codex із параметром --profile name.
Чи можна й далі використовувати wire_api = "chat"?
Ні. Codex приймає лише wire_api = "responses". Для провайдера, який підтримує лише Chat Completions, потрібен проксі, що перетворює запити на формат Responses API.
Чому мій власний провайдер повертає 401, хоча я ввійшов у Codex?
Ключ входу з auth.json не надсилається власним провайдерам. Додайте env_key до таблиці провайдера й задайте цю змінну в терміналі.
Чи використовує Codex HTTPS_PROXY?
Так. Під час тесту в Codex 0.162.1 запити проходили через HTTPS_PROXY, а до хостів зі списку NO_PROXY проксі не застосовувався. Файли PAC не підтримуються.
Чому model_provider ігнорується у файлі .codex/config.toml мого проєкту?
Файли проєкту не можуть змінювати місце надсилання запитів, тож репозиторій не може перенаправляти ваш трафік. Укажіть провайдера у ~/.codex/config.toml; у файлі проєкту й надалі можна задавати модель.
Джерела
- Основи конфігурації, OpenAI
- Розширена конфігурація, OpenAI
- Довідник із конфігурації, OpenAI
- Посібник з інтеграції Codex CLI, AIHubMix
- Налаштування проксі для Codex CLI: SOCKS, HTTP і корпоративні мережі, Daniel Vaughan



