Прокси нужен Codex ровно для одного: чтобы запросы к серверам OpenAI выходили в интернет через промежуточный узел. Настраивается он в двух разных местах. Десктопное приложение берёт прокси из настроек операционной системы, CLI из переменных окружения HTTPS_PROXY, HTTP_PROXY и NO_PROXY. В файле ~/.codex/config.toml сетевые параметры тоже есть, но отвечают они не за ваш прокси, а за встроенную сетевую песочницу. Ниже обе настройки по шагам, проверка соединения и что делать с ошибкой сертификата.
Прокси и VPN: почему это не одно и то же
VPN поднимает туннель на уровне всего устройства: через него уходит трафик любых программ, включая те, которые про VPN ничего не знают. Прокси работает иначе, это адрес, который программа должна прочитать и использовать сама. Не знает о нём, значит продолжит ходить напрямую, даже когда прокси исправно работает.
Отсюда типичная картина: браузер через прокси сайты открывает, а codex в терминале выдаёт ошибку соединения. Браузер прочитал адрес из системных настроек, а терминальная сессия нет, в ней переменные не заданы. Если вам ближе туннель на всё устройство, мы отдельно разбирали, как устроен доступ к Codex через VPN и откуда берётся ошибка страны. Здесь речь только про прокси.
Прокси для десктопного приложения Codex
Основной способ работы с Codex для большинства это единое десктопное приложение ChatGPT: внутри и чат, и агент. Своего окна с настройками прокси у него нет, адрес задаётся на уровне операционной системы, а приложение забирает его оттуда. Если приложение ещё не стоит, порядок действий мы описывали в разборе установки Codex на Windows и Mac.
- На Windows откройте «Параметры», раздел «Сеть и Интернет», пункт «Прокси-сервер», блок «Настройка прокси вручную».
- Включите переключатель, впишите адрес и порт вашего прокси.
- В поле исключений оставьте
localhost;127.0.0.1, чтобы локальные сервисы не ходили через прокси. - На macOS то же самое лежит в «Системных настройках»: «Сеть», активное подключение, кнопка «Подробнее», вкладка «Прокси», пункты «Веб-прокси (HTTP)» и «Защищённый веб-прокси (HTTPS)».
- Полностью закройте приложение Codex и запустите заново: настройки читаются при старте.
Отдельно про связку Windows и WSL2: если Codex запускается внутри WSL, системный прокси Windows он подхватывает не всегда, это известная открытая проблема в трекере проекта (issue 15447). В такой конфигурации переменные окружения задают прямо внутри WSL, как для обычного CLI.
Сеть настроена, а результат появляется не от настроек: на бесплатном вебинаре по вайбкодингу показываем, как собрать первый рабочий проект с ИИ.
Занять местоПеременные окружения для Codex CLI
Терминальная версия читает стандартные переменные окружения. Их три: HTTP_PROXY для незашифрованных запросов, HTTPS_PROXY для защищённых (он и работает почти всегда) и NO_PROXY со списком адресов, которые надо отдавать напрямую. Для прокси по протоколу SOCKS5 используется ALL_PROXY.
На 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. Важная деталь: setx действует на новые окна терминала, в уже открытом значения не поменяются.
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, : в %3A), иначе адрес разберётся неправильно и соединение молча не поднимется.
Тем, у кого раньше прокси работал наполовину, стоит начать с обновления. В выпуске Codex CLI 0.146.0 от 29 июля 2026 года разработчики отметили, что настроенный прокси теперь учитывается при авторизации, скачивании плагинов, авторизации MCP, удалённом запуске, в вебсокетах и при редиректах (список изменений). Что ещё умеет терминальная версия, мы собрали в разборе команд и режимов Codex CLI.
Codex это только инструмент, ценность в том, что вы им соберёте. На бесплатном вебинаре по вайбкодингу разбираем путь от пустой папки до готового сайта или бота, участникам достаётся гайд в подарок.
Записаться на вебинарЧто задаётся в config.toml, а что нет
Здесь чаще всего происходит путаница. Сетевые параметры в ~/.codex/config.toml описывают не ваш внешний прокси: у Codex есть управляемая сетевая песочница со своим локальным прокси для процессов, которые запускает агент.
В документации по разрешениям эти параметры описаны так: proxy_url это адрес слушателя, который подставляется процессам как HTTP_PROXY и HTTPS_PROXY; enable_socks5 и socks_url делают то же для ALL_PROXY; allow_upstream_proxy разрешает песочнице уважать ваши внешние настройки HTTP(S)_PROXY и ALL_PROXY при исходящих запросах (документация Codex). Если Codex работает с сетевой песочницей и ваш прокси игнорируется, нужен именно этот флаг:
[permissions.workspace.network]
allow_upstream_proxy = true
А отдельной строки вида http_proxy = "http://...", которой можно было бы задать адрес прокси прямо в конфиге, в Codex нет. Такую возможность просило сообщество, и на момент публикации предложение в трекере остаётся открытым (issue 6060). Передать адрес самому Codex можно только переменными окружения.
По теме: Аналоги Claude Code 2026: чем заменить и что доступно из России
Корпоративный прокси и ошибка сертификата
В корпоративной сети прокси обычно не просто пересылает трафик, а расшифровывает его и подписывает своим корневым сертификатом. Программа видит подпись, которой нет в списке доверенных, и отказывается работать. Проявляется это сообщениями self-signed certificate in certificate chain, SELF_SIGNED_CERT_IN_CHAIN или unable to verify the first certificate.
Лечится это не отключением проверок, а добавлением корпоративного корневого сертификата. В документации по авторизации сказано: при корпоративном TLS-прокси или собственном корневом центре сертификации нужно указать в CODEX_CA_CERTIFICATE путь к PEM-файлу до входа в аккаунт, а если переменная не задана, Codex использует SSL_CERT_FILE. Настройки применяются к логину, обычным HTTPS-запросам и защищённым вебсокетам (документация Codex).
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex login
На Windows то же сохраняется навсегда: setx CODEX_CA_CERTIFICATE "C:\certs\root-ca.pem". Сам PEM-файл выдаёт системный администратор. А вот выставлять NODE_TLS_REJECT_UNAUTHORIZED=0 не стоит: ошибка исчезнет вместе с проверкой подлинности всех соединений, включая те, где вы вводите пароли.
Прежде чем править конфиги, проверьте прокси обычным
curlв том же окне терминала, где запускаете Codex. В половине случаев дело не в настройках Codex, а в том, что переменная не доехала до этой сессии.
Как проверить, что трафик идёт через прокси
- Убедитесь, что переменные видны в текущей сессии: в PowerShell
$env:HTTPS_PROXY, в cmdecho %HTTPS_PROXY%, в macOS и Linuxprintenv | grep -i proxy. - Проверьте прокси в обход Codex:
curl -x http://127.0.0.1:8080 -I https://api.openai.com/v1/models. Ответ с кодом 401 это успех, соединение прошло и не хватает только ключа. Таймаут означает, что проблема в прокси. - Запустите
codex login: авторизация задействует и HTTPS-запросы, и вебсокеты, поэтому вскрывает недонастроенный прокси быстрее всего.
По теме: ИИ для вайбкодинга в 2026: какой выбрать под сайт, бота и код
Частые ошибки подключения
- Переменные заданы в одном окне терминала, а Codex запускается в другом. После
setxнужно открыть новое окно. - Адрес написан без схемы:
127.0.0.1:8080вместоhttp://127.0.0.1:8080, и строка не разбирается как адрес прокси. - Пароль со спецсимволами не закодирован, и всё после
@читается как другой хост. - Пустой
NO_PROXY: локальные MCP-серверы и сервисы наlocalhostуходят в прокси и не отвечают. - Прокси не пропускает вебсокеты. Чат работает, а авторизация нет: нужен прокси с поддержкой CONNECT и WSS.
- Настройки верные, но версия старая. Другие типовые сбои разобраны в статье про ошибки Codex и способы их исправить.
Частые вопросы
Можно ли задать прокси прямо в config.toml одной строкой?
Нет, отдельного поля с адресом прокси в конфиге не предусмотрено, запрос на такую возможность в трекере пока открыт. Адрес передаётся только переменными окружения, а в ~/.codex/config.toml настраивается поведение встроенной сетевой песочницы.
Нужен ли прокси, если уже работает VPN?
Обычно нет, достаточно чего-то одного. Включённые вместе они конкурируют за один трафик, и запросы начинают отваливаться по таймауту. Если VPN уже поднят, переменные HTTP_PROXY и HTTPS_PROXY лучше убрать совсем.
Поддерживается ли SOCKS5?
Да, адрес вида socks5://127.0.0.1:1080 задаётся в переменной ALL_PROXY. Для сетевой песочницы Codex есть свои параметры enable_socks5 и socks_url, они описаны в документации по разрешениям.
Почему приложение работает, а CLI выдаёт ошибку?
Они берут настройки из разных мест: приложение из системных параметров, CLI из переменных окружения своей сессии. Задайте переменные в том терминале, из которого запускаете codex, и проверьте их командой printenv или echo.
Настроенный доступ это только вход в инструмент. На бесплатном вебинаре по вайбкодингу показываем, что собрать дальше: первый сайт, телеграм-бот или небольшой сервис, без опыта программирования.
Записаться на вебинар