Главная / Обучение / Codex CLI с пользовательским провайдером: config.toml, модели GPT и Claude, расширение для IDE и устранение ошибок
Codex CLI. Окно терминала угольно-серого цвета соединено с небольшим регулятором маршрутизации, похожим на компас, и двумя аккуратно разделёнными карточками провайдеров.

Codex CLI с пользовательским провайдером: config.toml, модели GPT и Claude, расширение для IDE и исправления

Codex читает один файл, ~/.codex/config.toml, общий для CLI, codex exec и расширения для IDE. Пользовательский провайдер в этом файле направляет Codex на этот шлюз, где одна и та же конфигурация позволяет запускать модели GPT и Claude. Текущие версии Codex работают только с Responses API (wire_api = "responses"), поэтому старые руководства, в которых используется wire_api = "chat" больше не работают.

Установите Codex

терминал
# macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# or with a package manager
npm install -g @openai/codex
brew install --cask codex

codex --version
Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

Расширение Codex для VS Code, Cursor и Windsurf устанавливается из магазина расширений редактора и использует тот же ~/.codex/config.toml что и CLI, поэтому всё описанное ниже относится к обоим вариантам.

Используйте ключ из нужной группы

Ключ шлюза относится к одной группе, и эта группа определяет, какие модели можно вызывать с помощью ключа. Для моделей GPT создайте ключ в группе **Codex** в панели управления. Для моделей Claude подойдёт любой ключ Claude с оплатой по мере использования. Для ключа из безлимитной группы нужен активный тариф; без него каждый запрос завершается ошибкой No active subscription found for this group.

~/.bashrc или ~/.zshrc
export AIPRIME_CODEX_KEY=key_from_the_codex_group    # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group    # Claude models
Windows
setx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwards

config.toml для моделей GPT

~/.codex/config.toml
model_provider = "aiprime"
model = "gpt-6-astra"
model_reasoning_effort = "high"

[model_providers.aiprime]
name = "AI Prime Tech"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CODEX_KEY"
wire_api = "responses"
supports_websockets = false
Настройка Почему
[model_providers.aiprime]Любой идентификатор, кроме зарезервированного openai, ollama и lmstudio
base_url = "https://aiprimetech.io/v1"Codex добавляет /responses к нему
env_key**Имя** переменной окружения, которая содержит ключ, а не сам ключ
wire_api = "responses"Единственное значение, которое принимает текущая версия Codex
supports_websockets = falseОставляет Codex на обычной потоковой передаче HTTP, которая работает через любой прокси или VPN
Не добавляйте requires_openai_auth = true или experimental_bearer_token для этого провайдера. При requires_openai_auth = true Codex игнорирует env_key и вместо этого отправляет данные авторизации ChatGPT или OpenAI, которые шлюз отклоняет.

Запускайте Codex с моделями Claude

Шлюз принимает запросы Responses API для моделей Claude и преобразует их, поэтому Codex может работать и с Claude. Добавьте второго провайдера, использующего ваш ключ Claude, а затем профиль для переключения на него.

~/.codex/config.toml (добавьте ниже первого провайдера)
[model_providers.aiprime_claude]
name = "AI Prime Tech (Claude)"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CLAUDE_KEY"
wire_api = "responses"
supports_websockets = false
~/.codex/claude.config.toml
model_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"
терминал
codex --profile claude
codex exec --profile claude "review the last commit for bugs"

Начиная с Codex 0.134.0 профиль хранится в отдельном файле, ~/.codex/<name>.config.toml, с ключами на верхнем уровне; [profiles.<name>] таблицы внутри config.toml больше не читаются. Профили и провайдеры можно задавать только в пользовательской конфигурации: файл проекта .codex/config.toml игнорирует model_provider и model_providers.

Модели и интенсивность рассуждений

Идентификатор модели Провайдер Для каких задач
gpt-6-astraКлюч группы CodexСамая мощная модель GPT на шлюзе; длительные задачи агента
gpt-6-solКлюч группы CodexБолее быстрая и дешёвая модель GPT для повседневного программирования
gpt-5.6-terraКлюч группы CodexПростые задачи и быстрые правки
claude-sonnet-5Ключ ClaudeМодель Claude по умолчанию для программирования
claude-opus-5-5Ключ ClaudeБолее сложные рассуждения и масштабный рефакторинг
claude-fable-5-1Ключ ClaudeСамая функциональная и самая дорогая

model_reasoning_effort принимает low, medium, high, xhigh или max, в зависимости от модели. Не задавайте none: эти модели отклоняют это значение с ошибкой 'none' is not supported. review_model задаёт другую модель для /review если это нужно. В панели управления отображаются все модели, доступные группе вашего ключа.

Расширение для IDE и codex exec

Расширение для IDE читает тот же config.toml, но env_key берётся из собственного окружения редактора. Редактор, запущенный из Dock или меню «Пуск», не видит переменные, экспортированные в .bashrc, и тогда Codex завершается с ошибкой Invalid API key хотя CLI работает. Задайте переменную на уровне системы (в Windows setx делает это) или запустите редактор из терминала, например code ..

codex exec выполняет одну задачу без интерактивного интерфейса, что подходит для скриптов и CI. Используются те же конфигурация и профили:

терминал
codex exec "write unit tests for utils.py"
codex exec --profile claude "summarise the changes on this branch"
codex login status        # which authentication method is active

Повторные попытки и тайм-ауты

У каждого провайдера свои настройки повторных запросов и потоковой передачи. По умолчанию выполняется 4 повторных попыток запроса, 5 повторных подключений к потоку, а тайм-аут бездействия каждого потока составляет 5 мин. Длительные этапы рассуждений могут какое-то время не выдавать данных, поэтому увеличение тайм-аута бездействия помогает при высоких уровнях интенсивности рассуждений.

~/.codex/config.toml
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000

Устранение неполадок: ошибки, с которыми сталкиваются пользователи Codex

Ниже приведены ошибки, которые действительно возникают у клиентов Codex при работе с этим шлюзом, начиная с самых распространённых.

Что вы видите Причина Решение
403 No active subscription found for this groupКлюч относится к безлимитной группе без активного тарифаИспользуйте ключ из группы с оплатой по мере использования (Codex для GPT) или купите тариф
401 Invalid API keyПеременная пуста в процессе, запускающем Codex (часто это IDE), или requires_openai_auth = true заставило Codex отправить другие данные авторизацииecho $AIPRIME_CODEX_KEY; удалите requires_openai_auth; перезапустите редактор
404 Model "..." is not supported by any configured account in this groupМодель не относится к группе ключа, например модель Claude используется с ключом GPTПереключите провайдера или профиль, чтобы ключ соответствовал модели
426 WebSocket upgrade requiredТранспорт WebSocket включён, но соединение не было переключено на этот протоколsupports_websockets = false, и удалите responses_websockets_v2 из [features]
403 Your API key has expiredКлюч был создан с ограниченным сроком действияСоздайте новый ключ в панели управления
'none' is not supportedИнтенсивность рассуждений задана как noneИспользуйте low или выше
404 page not foundbase_url содержит /v1 дваждыИспользуйте в точности https://aiprimetech.io/v1
Ошибка конфигурации, связанная с wire_api после обновленияA wire_api = "chat" строка из старого руководстваЗадайте wire_api = "responses"
Your balance is used upБаланс исчерпанПополнить баланс
Concurrency limit exceeded for userНесколько агентов или окон Codex работают одновременноЗапускайте меньше экземпляров параллельно или обратитесь в поддержку, чтобы увеличить лимит одновременных запусков

Сравниваете Codex с Claude Code, прежде чем выбрать один из них? См. Claude Code и Codex: сравнение.

Часто задаваемые вопросы

Где находится файл конфигурации Codex?
~/.codex/config.toml (или $CODEX_HOME/config.toml). Его читают CLI, codex exec и расширение для IDE. Задать провайдеров в файле .codex/config.toml проекта нельзя.
Можно ли использовать модели Claude в Codex CLI?
Да, через шлюз, который принимает запросы Responses API для моделей Claude. Добавьте провайдера с ключом Claude и задайте в model идентификатор, например claude-sonnet-5.
Работает ли ещё wire_api = "chat" в Codex?
Нет. В справочнике конфигурации Codex responses указан как единственное поддерживаемое значение; оно также используется по умолчанию, если параметр не задан.
Почему расширение Codex для VS Code сообщает о недействительном ключе API, хотя CLI работает?
env_key считывается из окружения редактора. Задайте переменную на уровне системы или запустите редактор из терминала, в котором она экспортирована.
Что означает сообщение «Для этой группы не найдена активная подписка» в Codex?
Ключ принадлежит группе с подпиской (Unlimited), у которой нет активного тарифного плана. Используйте ключ из группы с оплатой по мере использования или приобретите тарифный план.
Начните использовать Claude за несколько минут

Получите ключ API — учётная запись Anthropic и запись в лист ожидания не нужны.

Получить ключ API

AI Prime Tech — независимый API-шлюз. Он не связан с Anthropic, не одобрен этой компанией и не является её реселлером. Claude и названия связанных моделей — товарные знаки их соответствующих владельцев.

Другие руководства по Claude API

Как получить ключ Claude APIКак устроены цены Claude APIСамый дешевый способ использования API ClaudeБезлимитный Cursor с API ClaudeБезлимитный доступ к Claude CodeШлюз API Claude и прямой доступ к Anthropic: сравнениеИспользование Claude через API, совместимый с OpenAIОбъяснение моделей Claude: сравнение Claude Opus, Sonnet, Haiku и Fable — все модели Claude API, названия моделей Anthropic и цены (2026)Оплата API Claude криптовалютойДоступ к API Claude без листа ожиданияКак сократить расход токенов ClaudeБезлимитный Cline с API ClaudeБезлимитный Roo Code с API ClaudeБезлимитный Claude в IDE JetBrainsAider без ограничений с Claude APIБезлимитный Claude в VS CodeКонфигурация OpenCode для Claude: настройка opencode.json, модели и распространённые ошибкиЗапуск агента Hermes без ограничений на ClaudeЗапуск OpenClaw с Claude без ограниченийЧто означает API, совместимый с AnthropicКлюч API Claude Code — ANTHROPIC_API_KEY: как получить, настроить и когда вместо него использовать claude setup-tokenРасходы на API Claude Code — цены и способы их снизитьОбъяснение ошибок API Claude: ошибка сервера 500, перегрузка 529, лимит запросов 429, некорректный запрос 400 — и исправление каждой из нихКак купить кредиты Claude API — и почему кредиты Claude лучше любого предложения «купить аккаунт Claude»Бесплатный API Claude: существует ли бесплатный ключ API Claude и что действительно бесплатно в 2026?API Claude или подписка Claude Pro/Max — что выбратьПодключение Claude к n8nМаршрутизация LiteLLM к ClaudeИспользование Claude в Kilo CodeПодключение Claude к GitHub CopilotПодключите Zed к Claude через шлюзПодключите Cherry Studio к ClaudeChatAnthropic в LangChain: импорт, base_url, потоковая передача, инструменты и ошибкиAnthropic Python SDK: установка, настройка base_url, потоковая передача и обработка ошибокClaude с Vercel AI SDK: baseURL в createAnthropic, потоковая передача и устранение проблемИспользуйте Factory Droid с ClaudeКак устроен API Claude CodeИнтеграция API Claude в ваше приложениеКак пользоваться Claude без ограничений — и почему «взломанного Claude Code» не существует

Другие гайды по Claude API

Что означает API, совместимый с AnthropicAnthropic Python SDK: установка, настройка base_url, потоковая передача и обработка ошибокКак купить кредиты API ClaudeСамый дешевый способ использования API ClaudeОбъяснение ошибок API Claude: ошибка сервера 500, перегрузка 529, лимит запросов 429, некорректный запрос 400 — и исправление каждой из нихБесплатный API Claude: существует ли бесплатный ключ API Claude и что действительно бесплатно в 2026?Интеграция API Claude в ваше приложениеОбъяснение моделей Claude: сравнение Claude Opus, Sonnet, Haiku и Fable — все модели Claude API, названия моделей Anthropic и цены (2026)Как устроены цены Claude APIШлюз API Claude и прямой доступ к Anthropic: сравнениеAPI Claude или подписка Claude Pro/Max — что выбратьОплата API Claude криптовалютойДоступ к API Claude без листа ожиданияКак устроен API Claude CodeРасходы на API Claude Code — цены и способы их снизитьКлюч API Claude Code — ANTHROPIC_API_KEY: как получить, настроить и когда вместо него использовать claude setup-tokenКак получить безлимитный доступ к ClaudeКак получить ключ Claude APIКак сократить расход токенов ClaudeИспользуйте Claude с OpenAI SDK: совместимая с OpenAI конечная точка, потоковая передача, инструменты и ограниченияHermes Agent с Claude через шлюз: настройка пользовательского провайдера, контроль расходов и исправленияЗапуск OpenClaw с Claude без ограниченийЧто означает безлимитный доступ к API ClaudeКак получить безлимитный ключ API ClaudeБезлимитное использование Claude Code — без ограничений на токеныБезлимитный доступ к Claude Opus 4.8Безлимитное использование Claude — тарифы и ценыAider с Claude через шлюз: ANTHROPIC_API_BASE, файлы конфигурации, режим архитектора и исправленияПодключите Cherry Studio к ClaudeБезлимитный доступ к Claude CodeБезлимитный Cline с API ClaudeРабота в Cursor с безлимитным доступом к ClaudeИспользуйте Factory Droid с ClaudeGitHub Copilot Chat с Claude через шлюз: настройка Custom Endpoint, режим агента и исправленияБезлимитный Claude в IDE JetBrainsИспользование Claude в Kilo CodeChatAnthropic в LangChain: импорт, base_url, потоковая передача, инструменты и ошибкиМаршрутизация LiteLLM к ClaudeПодключение Claude к n8nКонфигурация OpenCode для Claude: настройка opencode.json, модели и распространённые ошибкиБезлимитный Roo Code с API ClaudeClaude с Vercel AI SDK: baseURL в createAnthropic, потоковая передача и устранение проблемБезлимитный Claude в VS CodeПодключите Zed к Claude через шлюз