Вайбкодинг2026-08-06Обновлено: 2026-10-0710 минАвтор:

Codex прокси: как настроить в приложении и CLI в 2026

Проверено 7 октября 2026: настройки прокси приложения и CLI 0.160.1, файл .env, приоритет переменных, сетевая песочница, сертификаты и проверка страны выхода. Проверила Редакция Submarine School. Источники: github.com, github.com, github.com, developers.openai.com, developers.openai.com, github.com, github.com, developers.openai.com.

Codex прокси: как настроить в приложении и CLI в 2026

Для приложения Codex можно задать системный прокси или записать адрес в ~/.codex/.env; при сбоях входа надёжнее использовать VPN в режиме TUN. Для CLI задайте HTTPS_PROXY, HTTP_PROXY и NO_PROXY в терминале или в том же файле, который Codex читает при запуске.

Прокси направляет запросы Codex через промежуточный узел; его настройки используются при входе, загрузке плагинов и авторизации MCP, что отражено в выпуске 0.146.0. Для работы из России выбирайте узел в поддерживаемой OpenAI стране, например в Нидерландах, Финляндии, Германии или Казахстане: Россия в список не входит. Страна подключения определяется по выходному IP. Держите один стабильный узел одной страны и не меняйте страну во время входа.

Прокси и VPN: почему это не одно и то же

VPN в полном режиме TUN направляет трафик устройства через туннель, а при раздельном туннелировании через него идёт только часть адресов; эту разницу описывает документация Microsoft. Прокси работает по адресу, который программа должна прочитать и использовать сама. Если она не знает об этом адресе, то продолжит ходить напрямую, даже когда прокси исправно работает.

Браузер может открывать сайты через прокси, пока codex в терминале выдаёт ошибку соединения: браузер прочитал системные настройки, а у CLI переменные не заданы ни в сессии, ни в ~/.codex/.env. Для туннеля на всё устройство подойдёт доступ к Codex через VPN; там же описано, откуда берётся ошибка страны.

Прокси настроен, Codex на связи. Завтра в 12:00 МСК на бесплатном мастер-классе Codex по одной голосовой команде сам открывает браузер, собирает 15 товаров с OZON и сводит их в таблицу.

Записаться бесплатно

Прокси для десктопного приложения Codex

Для приложения Codex можно попробовать системный прокси Windows или macOS, но полагаться на то, что он охватит все подключения приложения, нельзя. Отдельного пункта для адреса прокси в справочнике настроек приложения нет. Если приложение ещё не установлено, выполните шаги установки Codex на Windows и Mac, затем задайте адрес и порт в настройках операционной системы.

  1. На Windows откройте «Параметры», раздел «Сеть и Интернет», пункт «Прокси-сервер», блок «Настройка прокси вручную».
  2. Включите переключатель, впишите адрес и порт вашего прокси.
  3. В поле исключений оставьте localhost;127.0.0.1, чтобы локальные сервисы не ходили через прокси.
  4. На macOS то же самое лежит в «Системных настройках»: «Сеть», активное подключение, кнопка «Подробнее», вкладка «Прокси», пункты «Веб-прокси (HTTP)» и «Защищённый веб-прокси (HTTPS)».
  5. Полностью закройте приложение Codex и запустите заново, чтобы оно заново прочитало настройки.

Другой вариант для приложения и CLI: сохраните переменные в ~/.codex/.env. Влияние этого файла на подключение Windows-приложения описано в сообщении пользователя: оставшийся адрес выключенного прокси вызывал бесконечное переподключение. На Windows файл лежит в C:\Users\<имя>\.codex\.env. Вместо 8080 подставьте HTTP-порт своего VPN-клиента:

HTTPS_PROXY=http://127.0.0.1:8080
HTTP_PROXY=http://127.0.0.1:8080
NO_PROXY=localhost,127.0.0.1

Codex читает ~/.codex/.env при каждом запуске, причём значения из файла перезаписывают одноимённые переменные терминала. Ключи с префиксом CODEX_ пропускаются, поэтому CODEX_CA_CERTIFICATE в этот файл класть бесполезно; задайте её в окружении до запуска Codex. Такой порядок задан в функции load_dotenv. Если адрес в терминале уже исправлен, а Codex продолжает обращаться к старому порту, проверьте и этот файл.

Если прокси задан, но вход всё равно не завершается, надёжнее включить полный режим TUN в VPN-клиенте. Пользователь Windows-приложения 26.930 сообщил о прямых подключениях при обмене кода на токен, хотя прокси был указан в ~/.codex/.env; сообщение остаётся открытым. Поэтому сайт, который открывается через тот же прокси, ещё не гарантирует, что вход в приложение завершится.

Отдельно про связку Windows и WSL2: если Codex запускается внутри WSL, системный прокси Windows он подхватывает не всегда, это известная открытая проблема в трекере проекта (issue 15447). Можно задать переменные прямо внутри WSL, как для обычного CLI, но автор сообщения пишет, что в его случае и ручные переменные внутри WSL не помогли.

По теме: Codex и VPN в 2026: ошибка страны в CLI и рабочий доступ из России

Переменные окружения для Codex CLI

Codex CLI читает четыре переменные: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY и NO_PROXY. Для HTTPS сначала используется HTTPS_PROXY, затем ALL_PROXY; для HTTP сначала HTTP_PROXY, затем ALL_PROXY; для защищённых WebSocket порядок такой: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY. NO_PROXY задаёт исключения. Имена в нижнем регистре тоже читаются, но сначала проверяется верхний; порядок задан в исходном коде клиента. ALL_PROXY служит запасным адресом для разных запросов и не привязана только к SOCKS5.

На Windows в PowerShell для текущего окна:

$env:HTTPS_PROXY = "http://127.0.0.1:8080"
$env:HTTP_PROXY  = "http://127.0.0.1:8080"
$env:NO_PROXY    = "localhost,127.0.0.1"
codex

Чтобы не вписывать значения заново каждый раз, сохраните переменные для пользователя командой setx. Она действует на новые окна терминала, в уже открытом значения не поменяются. После сохранения откройте новое окно и запускайте Codex из него; команды для текущего окна PowerShell выше нужны, если вы хотите продолжить работу в уже открытой сессии.

setx HTTPS_PROXY "http://127.0.0.1:8080"
setx HTTP_PROXY "http://127.0.0.1:8080"
setx NO_PROXY "localhost,127.0.0.1"

На macOS и Linux те же переменные добавляются в профиль оболочки: ~/.zshrc для zsh (по умолчанию в свежих macOS) или ~/.bashrc для bash.

export HTTPS_PROXY="http://127.0.0.1:8080"
export HTTP_PROXY="http://127.0.0.1:8080"
export NO_PROXY="localhost,127.0.0.1"

# применить без перезапуска терминала
source ~/.zshrc

Если прокси требует авторизацию, логин и пароль пишутся в самом адресе: http://user:password@host:port. Символы пароля, которые ломают разбор адреса, закодируйте: @ как %40, # как %23, / как %2F. Иначе часть пароля может быть принята за другой компонент адреса, и подключение не состоится. Двоеточие внутри пароля допустимо по RFC 3986, раздел 3.2.1, обязательной замены на %3A нет.

Если прокси раньше работал только для части запросов, начните с обновления. В Codex CLI 0.146.0 от 29 июля 2026 года разработчики исправили учёт прокси при авторизации, скачивании плагинов, авторизации MCP, удалённом запуске, в вебсокетах и при редиректах. Это касается нескольких путей подключения, поэтому настройка адреса в старой версии могла работать для одного действия и не срабатывать для другого.

На 7 октября 2026 года актуальна версия Codex CLI 0.160.1 от 5 октября. Обновление стоит сделать до дальнейшей диагностики: затем можно проверить настройки текущей сессии, файл ~/.codex/.env и доступность серверов командой codex doctor. После настройки соединения используйте команды и режимы Codex CLI для работы с проектом.

Сеть и сертификаты не самое увлекательное в Codex. Самое увлекательное показывают на мастер-классе: агент сам ищет данные, сравнивает и выдаёт Google-таблицу с рейтингом, а заодно разбирают, как оплатить Codex и Claude Code из России.

Хочу на мастер-класс

Что задаётся в config.toml, а что нет

В ~/.codex/config.toml нет отдельной строки с адресом внешнего прокси. Сетевые параметры описывают встроенную песочницу с локальным прокси для процессов, которые запускает агент; она запускается при включённом features.network_proxy, в том числе если его включил администратор. Одно разрешение доступа к сети в профиле этот прокси не запускает. В документации по разрешениям параметры записаны в таблице [permissions.<профиль>.network]; встроенный профиль называется :workspace.

Параметр proxy_url задаёт адрес HTTP-слушателя, который передаётся процессам через HTTP_PROXY и HTTPS_PROXY; его значение по умолчанию: http://127.0.0.1:3128. Параметры enable_socks5 и socks_url управляют SOCKS5-слушателем для ALL_PROXY, значение socks_url по умолчанию: http://127.0.0.1:8081. Флаг allow_upstream_proxy разрешает песочнице учитывать внешний прокси из HTTP(S)_PROXY и ALL_PROXY и уже включён по умолчанию. Задавать его вручную нужно, только если в вашем профиле он выключен. Замените <профиль> в примере именем своего профиля:

[permissions.<профиль>.network]
allow_upstream_proxy = true  # значение по умолчанию; нужно, только если где-то стоит false

Строки вида http_proxy = "http://..." для внешнего прокси в конфиге пока нет; запрос на её добавление остаётся открытым. Адрес можно передать переменными окружения терминала или через ~/.codex/.env, пример которого приведён в разделе про приложение. Это два способа задать одни и те же переменные, поэтому при смене адреса проверьте оба места: оставшаяся запись в файле перезапишет значение, заданное перед запуском CLI.

Запасной вариант для системного прокси и PAC/WPAD: respect_system_proxy в секции [features], включаемый командой codex features enable respect_system_proxy; флаг находится в разработке и по умолчанию выключен. На macOS codex doctor предлагает эту команду, когда системный прокси настроен, переменные прокси не заданы и проверка соединения не прошла.

По теме: Codex token exchange failed: как исправить вход

Корпоративный прокси и ошибка сертификата

При ошибке сертификата за корпоративным TLS-прокси укажите Codex корпоративный корневой сертификат. Если прокси расшифровывает трафик и подписывает его своим сертификатом, программа может не найти эту подпись среди доверенных и отказаться работать. В сообщениях об ошибке встречаются self-signed certificate in certificate chain, SELF_SIGNED_CERT_IN_CHAIN или unable to verify the first certificate.

Задайте в CODEX_CA_CERTIFICATE путь к PEM-файлу до входа в аккаунт; если переменная не задана, Codex использует SSL_CERT_FILE. Эти настройки применяются к входу, обычным HTTPS-запросам и защищённым вебсокетам, как описано в инструкции по сертификатам. Сам PEM-файл выдаёт системный администратор. Команда для macOS и Linux:

export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex login

На Windows сохраните путь командой setx CODEX_CA_CERTIFICATE "C:\certs\root-ca.pem", затем откройте новое окно терминала. Переменная NODE_TLS_REJECT_UNAUTHORIZED=0 здесь бесполезна: Codex CLI работает как нативная программа на Rust, а npm-скрипт codex.js только запускает её. Эта переменная Node.js не влияет на запросы Codex и не убирает ошибку сертификата. Используйте CODEX_CA_CERTIFICATE или SSL_CERT_FILE.

Прежде чем править ~/.codex/config.toml, проверьте прокси обычным curl в том же окне терминала, где запускаете Codex. Сверьте адрес и порт в сессии с записями в ~/.codex/.env: файл может содержать старые значения.

Как проверить, что трафик идёт через прокси

Проверьте соединение через прокси с помощью curl, страну выхода по строке loc=, затем вход и доступность серверов через codex login и codex doctor. Эти проверки отвечают на разные вопросы: получен ли ответ сервера, откуда пришёл запрос и какие настройки видит Codex.

  1. Убедитесь, что переменные видны в текущей сессии: в PowerShell $env:HTTPS_PROXY, в cmd echo %HTTPS_PROXY%, в macOS и Linux printenv | grep -i proxy. Отдельно проверьте записи в ~/.codex/.env, которые Codex читает при запуске.
  2. Проверьте соединение через тот же прокси: curl -x http://127.0.0.1:8080 -I https://api.openai.com/v1/models. Ответ 401 означает только, что соединение прошло и не хватает ключа; страну выхода он не показывает. Если запрос не проходит, сначала разбирайтесь с прокси или маршрутом до него.
  3. Проверьте страну выхода командой curl -x http://127.0.0.1:8080 https://chatgpt.com/cdn-cgi/trace. В ответе служебной страницы Cloudflare найдите строку loc= с кодом страны и сверьте её со списком стран OpenAI.
  4. Запустите codex login: вход использует OAuth через HTTPS и локальный сервер обратного вызова, поэтому успешный вход ещё не проверяет защищённые вебсокеты, по которым Codex получает ответы модели.
  5. Затем запустите codex doctor: в версии 0.160 команда показывает имена видимых переменных прокси без значений, проверяет чтение файла из CODEX_CA_CERTIFICATE или SSL_CERT_FILE и доступность серверов. Эти проверки перечислены в исходном коде диагностики сети.

По теме: Прокси для Claude Code: настройка и проверка TLS в 2026

Частые ошибки подключения

При сбое подключения проверьте окно запуска, старые записи в ~/.codex/.env, пароль, исключения для локальных адресов и поддержку вебсокетов. Сопоставьте сообщение об ошибке с одним из случаев:

  • Переменные заданы в одном окне терминала, а Codex запускается в другом. После setx нужно открыть новое окно.
  • В ~/.codex/.env остались HTTP_PROXY или HTTPS_PROXY с портом выключенного VPN-клиента. В сообщении о Windows-приложении это приводило к «Reconnecting... waiting for network». Удалите устаревшие строки и полностью перезапустите приложение.
  • Пароль со спецсимволами не закодирован, и всё после @ читается как другой хост.
  • В NO_PROXY не указаны локальные адреса. Это может затронуть MCP-серверы и сервисы, к которым Codex обращается по HTTP на localhost. MCP-серверы по STDIO запускаются как процессы, и прокси на этот обмен не влияет.
  • Вход проходит, но ответы обрываются или зависают на переподключении. Проверьте, пропускает ли прокси защищённые WebSocket, и используйте прокси с поддержкой CONNECT и WSS: Codex использует защищённые вебсокеты.
  • Настройки верные, но версия старая. Обновите Codex; если сбой другой, найдите его среди ошибок Codex и способов их исправить.

Частые вопросы

Можно ли задать прокси прямо в config.toml одной строкой?

Нет, отдельного поля с адресом прокси в ~/.codex/config.toml пока нет. Задайте переменные в терминале или запишите их в ~/.codex/.env, который Codex читает при каждом запуске. Значения из файла перезаписывают одноимённые переменные сессии. Для системного прокси есть экспериментальный флаг respect_system_proxy, описанный выше; адрес в конфиг он не добавляет.

Нужен ли прокси, если уже работает VPN?

Если VPN работает в полном режиме TUN, отдельные переменные прокси не нужны. Уберите лишние HTTP_PROXY, HTTPS_PROXY, ALL_PROXY из окружения и записи с этими переменными в ~/.codex/.env, особенно если они указывают на порт выключенного или другого клиента. Недоступный адрес, оставшийся в файле, может держать приложение в бесконечном «Reconnecting... waiting for network».

Поддерживается ли SOCKS5?

Документация OpenAI описывает SOCKS5 для слушателя встроенной сетевой песочницы через параметры enable_socks5 и socks_url. Работа самого Codex через адрес socks5:// там не документирована. Если VPN-клиент даёт и HTTP-порт, и SOCKS-порт, укажите в переменных Codex HTTP-порт со схемой http://; считать ALL_PROXY специальной переменной для SOCKS5 не следует.

Почему приложение работает, а CLI выдаёт ошибку?

Приложение может брать системный прокси, а CLI читает переменные своей сессии; файл ~/.codex/.env действует на оба. Задайте переменные в том терминале, из которого запускаете codex, и проверьте их командой printenv или echo. Затем сверьте файл: его старые значения могут перезаписать настройки сессии. Для диагностики запускайте codex doctor.

С прокси Codex больше не теряет связь. Пора увидеть его на полной скорости: завтра в 12:00 МСК на бесплатном мастер-классе Codex и Claude Code разбирают с нуля и показывают задачу, которую агент закрывает целиком сам.

Забронировать место
Разборы, кейсы и фишки вайбкодинга каждую неделю в телеграм-канале «Яков вайбкодит».
Смотрите ИИ-агента в деле: завтра в 12:00 МСК, бесплатно Записаться