Расширение Claude Code для VSCode привязывает чаты к проектам и хранит историю по каждому рабочему каталогу. У расширения Codex от OpenAI такой привязки нет: все диалоги свалены в один список, а импорт из Claude Code ограничен последними 50 чатами за месяц. Для разработчика с двумя десятками постоянных проектов это превращается в ручную сортировку истории каждый раз при переключении.
Готовые прокси между Claude Code и OpenAI существуют, но устроены однотипно: модель не выбирается напрямую, а маппится через переменные окружения BIG_MODEL и SMALL_MODEL, так что панель Claude Code показывает одно, а уходит в запрос то, что зашито в конфиге. Размер контекстного окна там захардкожен константой и не учитывает ограничения подписки OpenAI — отсюда либо постоянные компакты контекста, либо ошибки о слишком большом запросе. Плюс почти все требуют вручную поднимать сервер отдельной командой в терминале перед каждой сессией.
| Параметр | Готовые прокси | claude-gpt |
|---|---|---|
| Выбор модели | Маппинг через BIG_MODEL и SMALL_MODEL | Прямой выбор из каталога Codex |
| Контекстное окно | Захардкожено константой | Подтягивается из Codex |
| Запуск сервера | Вручную в терминале | Автоматически при старте обёртки |
| Авторизация | Зависит от реализации | Подхватывается из Codex |
claude-gpt решает это иначе. Утилита написана на Rust и работает переводчиком между Messages API Claude Code и Responses API OpenAI. Claude Code остаётся главным: ведёт историю, читает файлы, запускает инструменты. Мост только переводит сообщения и результаты инструментов в формат OpenAI, отправляет выбранной GPT-модели и переводит ответ обратно. Ручной авторизации нет — подхватывается существующая из Codex.
Подключение идёт через настройку claudeCode.claudeProcessWrapper, без правки бинарников Claude Code.
Подключение идёт через штатную настройку расширения claudeCode.claudeProcessWrapper, которая позволяет запускать Claude Code через свою обёртку. Патчить бинарники Claude Code или самого расширения не пришлось. При старте обёртка сама поднимает HTTP-шлюз на localhost, выбирает свободный порт и генерирует токен для локальных запросов; при завершении шлюз закрывается. В списке моделей теперь видны GPT, каталог подтягивается через Codex при запуске, оттуда же приходят размеры контекстных окон и доступные уровни effort. Команда /codex-usage показывает остаток квоты и время сброса, включая лимиты Spark отдельно, когда сервис их отдаёт.
История предыдущих чатов, подключённые плагины и MCP продолжают работать как раньше. Дополнительно прикручен mcp-сервер для генерации изображений через gpt-image-2 — он тоже работает по подписке, без API-ключей и без конфигурации. Ранние версии спотыкались о картинки в результатах инструментов, путали контекст при возобновлении сессии и отваливались на запросах без streaming. По словам автора, на отладку ушёл буквально один вечер, после чего расширение в его сценариях работает практически идеально.
Код открыт, можно собрать локально. Текущая конфигурация завязана на macOS и Apple Silicon; для Linux придётся немного покопаться, для Windows — чуть больше. Репозиторий: github.com/arahisman/claude-gpt.

