> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bettertoken.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Как настроить custom Base URL и API Key в расширении Codex для VS Code

> Откройте общий config.toml из расширения Codex, настройте Base URL, API Key и модель группы GPT для BetterToken и устраните проблемы чтения конфигурации.

## Короткий ответ

В расширении Codex для VS Code нет отдельных полей Base URL и API Key. Оно использует те же уровни конфигурации, что и Codex CLI. Нажмите шестерёнку, выберите **Codex Settings → Open config.toml** и добавьте provider BetterToken в пользовательский файл. Затем выполните **Developer: Reload Window**, чтобы расширение прочитало новый endpoint, Key и модель.

<Info>
  Если в настройках VS Code нет полей `Base URL` или API Key, это нормально. Не добавляйте custom endpoint в общие proxy settings VS Code.
</Info>

## Требования

* Установлен VS Code
* Установлено расширение **Codex - OpenAI's coding agent**
* У вас есть BetterToken API Key (<a href={"https://www.bettertoken.ai/register"}>зарегистрируйтесь и получите ключ</a>)
* Вы скопировали доступный model ID из **группы ключа GPT** в <a href={"https://www.bettertoken.ai/pricing"}>model plaza</a>

<Warning>
  Не добавляйте API Key в файлы проекта, `AGENTS.md`, примеры `.env` или публичные репозитории. Конфигурация ниже должна храниться только в локальной директории конфигурации Codex.
</Warning>

## Способы настройки

<Tabs>
  <Tab title="Рекомендуется: окно Setup">
    После создания API Key в консоли откроется окно **Setup**. В нем можно скопировать **API Key** и **Base URL**, а затем выбрать способ настройки Codex.

    <Steps>
      <Step title="Выберите Codex">
        В разделе **Available tools** выберите **Codex**.
      </Step>

      <Step title="Выберите способ настройки">
        Доступные варианты:

        * **One-click Bash Configuration**: скопируйте команду и выполните ее в локальном терминале. Подходит для быстрой настройки.
        * **CC Switch Integration**: импортируйте provider в CC Switch. Подходит, если вы управляете несколькими инструментами.
        * **Manual Configuration**: скопируйте API Key и Base URL, затем вручную добавьте их в `config.toml`.
      </Step>

      <Step title="Перезапустите VS Code">
        После записи конфигурации перезапустите VS Code или выполните **Developer: Reload Window**, чтобы расширение Codex заново прочитало локальную конфигурацию.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Ручная настройка">
    <Steps>
      <Step title="Найдите config.toml">
        Нажмите шестерёнку в расширении Codex и выберите **Codex Settings → Open config.toml**. Также файл можно открыть напрямую:

        | Система       | Файл конфигурации                       |
        | ------------- | --------------------------------------- |
        | macOS / Linux | `~/.codex/config.toml`                  |
        | Windows       | `C:\Users\YOUR_USER\.codex\config.toml` |
        | Windows + WSL | `~/.codex/config.toml` внутри WSL       |

        Codex CLI и IDE extension читают одни и те же уровни конфигурации. Если проект открыт через WSL, изменяйте файл внутри WSL, а не отдельный файл в пользовательской директории Windows.
      </Step>

      <Step title="Добавьте provider BetterToken">
        Добавьте конфигурацию ниже в `config.toml`. Если в файле уже есть такие же верхнеуровневые поля, объедините конфигурацию и не создавайте несколько `model_provider`.

        ```toml theme={null}
        model_provider = "custom"
        model = "gpt-5.5"
        review_model = "gpt-5.4"
        model_reasoning_effort = "high"
        model_context_window = 1000000
        model_auto_compact_token_limit = 900000
        windows_wsl_setup_acknowledged = true

        [model_providers]
        [model_providers.custom]
        name = "BetterToken"
        base_url = "https://www.bettertoken.ai/v1"
        wire_api = "responses"
        requires_openai_auth = true
        experimental_bearer_token = "YOUR_API_KEY"
        request_max_retries = 4
        stream_max_retries = 8
        stream_idle_timeout_ms = 300000
        supports_websockets = false
        ```

        Замените `YOUR_API_KEY` на ваш BetterToken API Key.
      </Step>

      <Step title="Проверьте ключевые поля">
        В первую очередь проверьте:

        | Поле                        | Значение                                        |
        | --------------------------- | ----------------------------------------------- |
        | `base_url`                  | `https://www.bettertoken.ai/v1`                 |
        | `wire_api`                  | `responses`                                     |
        | `model`                     | Model ID, скопированный из **группы ключа GPT** |
        | `experimental_bearer_token` | Ваш BetterToken API Key                         |

        <Warning>
          Для расширения Codex в VS Code не меняйте `auth.json` на структуру только с API Key. `auth.json` хранит официальный login state Codex; сторонний API Key должен находиться в `experimental_bearer_token`.
        </Warning>
      </Step>

      <Step title="Перезапустите VS Code">
        После редактирования закройте текущую сессию Codex и перезапустите VS Code.

        Также можно выполнить команду из Command Palette:

        ```text theme={null}
        Developer: Reload Window
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Почему нужно сохранять официальный login state?

Расширение Codex в VS Code зависит от возможностей приложения Codex: интерфейса расширения, управления сессиями и интеграции с VS Code. Поэтому рекомендуется сохранить официальный login state и при этом отправлять model requests через BetterToken.

В этой конфигурации:

| Настройка                                    | Что делает                                                                          |
| -------------------------------------------- | ----------------------------------------------------------------------------------- |
| `requires_openai_auth = true`                | Сохраняет официальный login state Codex                                             |
| `experimental_bearer_token = "YOUR_API_KEY"` | Использует BetterToken API Key для model requests                                   |
| `base_url = "https://www.bettertoken.ai/v1"` | Отправляет model requests на OpenAI-compatible / Responses API endpoint BetterToken |

<Note>
  Официальный справочник Codex рекомендует `env_key` для API Key обычного custom provider. На этой странице используется `experimental_bearer_token`, потому что сценарий также сохраняет официальный login state Codex. Если вам нужен только Codex CLI без плагинов, Remote Control и официального входа, используйте [обычную настройку custom provider в config.toml](/faq/codex/config-toml).
</Note>

## Проверьте, какой config читает расширение

После настройки откройте расширение Codex в VS Code и отправьте короткое тестовое сообщение.

Если ответ пришёл нормально, конфигурация работает. Ещё раз откройте `config.toml` через шестерёнку расширения и убедитесь, что это изменённый вами файл.

## Частые ошибки

| Симптом                                        | Причина                                                            | Решение                                                                                                                |
| ---------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| Codex CLI работает, а расширение VS Code нет   | Расширение запущено в другой среде или использует старое состояние | Откройте фактический config через шестерёнку; для WSL измените файл внутри WSL; выполните **Developer: Reload Window** |
| Расширение по-прежнему просит официальный вход | IDE extension Codex требует login на уровне приложения             | Завершите официальный вход, затем сохраните `requires_openai_auth = true` и сторонний bearer token                     |
| `401` или `403`                                | Неверный API Key или не заменён `experimental_bearer_token`        | Скопируйте Key заново и не заменяйте официальный login в `auth.json`                                                   |
| `404`                                          | В Base URL отсутствует `/v1`                                       | Используйте `https://www.bettertoken.ai/v1`                                                                            |
| Model not found                                | Model ID не входит в группу ключа GPT                              | Скопируйте актуальный ID из <a href={"https://www.bettertoken.ai/pricing"}>model plaza</a>                             |
| Ошибка разбора TOML                            | Поле или таблица объявлены дважды                                  | Объедините конфигурацию и оставьте одну таблицу `[model_providers.custom]`                                             |

## Связанные документы

* [Инструкция для Codex](/ai-tools/codex)
* [Как сохранить официальный login state Codex при использовании стороннего API](/faq/codex/official-login-third-party-api)
* [Как настроить Codex CLI config.toml](/faq/codex/config-toml)
* [Что такое model\_provider, base\_url и wire\_api в Codex CLI?](/faq/codex/model-provider-base-url-wire-api)

## References

* [Codex IDE extension](https://developers.openai.com/codex/ide)
* [Codex basic configuration](https://developers.openai.com/codex/config-basic)
* [Codex configuration reference](https://developers.openai.com/codex/config-reference)
