AIFreeAPI Logo

Codex не обновляет токен доступа: очистите учётные данные именно там, где запущен клиент

A
4 min readOpenAI Codex

Повторный вход сработает только после удаления данных, которые читает проблемный процесс. Сначала найдите хост и способ входа, затем проверьте новую сессию небольшой задачей.

Безопасный путь восстановления Codex после ошибки обновления токена: сохранить работу, найти хост, войти заново и проверить задачу

Сообщение «Your access token could not be refreshed. Please log out and sign in again» означает, что текущий процесс Codex больше не может продолжить работу с сохранённой сессией. Оно не доказывает одну конкретную причину. Refresh token мог стать недействительным после смены аккаунта, быть отозван или уже использоваться другой сессией; возможен и более простой вариант — Codex читает старые данные на другой машине.

Поэтому бесконечно нажимать «Войти» в браузере недостаточно. Надёжное восстановление состоит из четырёх действий: сохранить текущую работу, найти фактический процесс Codex, удалить его сохранённые credentials поддерживаемой командой и проверить новую сессию в том же окружении.

Сначала сохраните состояние проекта

Ошибка аутентификации сама по себе не удаляет файлы. Риск появляется, когда пользователь одновременно перезапускает несколько клиентов, создаёт дубликаты задачи или стирает каталоги в надежде очистить кэш.

Перед выходом:

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

Никому не отправляйте auth.json, access token, refresh token, API key, OTP, Cookie или необработанный HAR. В официальной документации по аутентификации OpenAI предупреждает: файловый auth.json содержит токены доступа и должен защищаться как пароль.

Определите, где действительно работает Codex

Окно на ноутбуке может быть лишь интерфейсом. Расширение VS Code способно работать на Remote SSH, терминал — внутри WSL или контейнера, а отдельный gateway — хранить собственный OAuth-профиль.

ПоверхностьГде сначала искать сохранённую сессиюЧто не является доказательством выхода
Codex AppАктивный профиль приложения и локальное хранилище credentialsВыход из другого профиля браузера
Локальный CLIТекущий пользователь ОС и его CODEX_HOMEРаботающий сайт ChatGPT
IDEЛокальный или удалённый extension hostПереустановка только интерфейса редактора
WSL, SSH, контейнер, VMHome-каталог или keyring внутри этой средыВыход на основной машине
Сторонний агентЕго собственный auth-профильИсправный отдельный Codex CLI

OpenAI указывает, что CLI и расширение IDE могут использовать общий кэш. Он хранится в ~/.codex/auth.json либо в системном хранилище учётных данных. Поэтому ручное удаление случайного файла — плохой первый шаг: нужные данные могут находиться в keyring или принадлежать другому пользователю.

Карта реального хоста Codex и границы хранения учётных данных для App, CLI, IDE, удалённой среды и стороннего агента
Карта реального хоста Codex и границы хранения учётных данных для App, CLI, IDE, удалённой среды и стороннего агента

Пересоздайте сессию CLI и IDE

Запускайте команды на том хосте, где выполняется проблемный процесс. Сначала посмотрите активный способ аутентификации:

bash
codex login status

Команда показывает наличие credentials и активный режим. Это помогает обнаружить, например, API-key режим вместо ожидаемого входа ChatGPT или другого пользователя ОС в удалённой среде.

Затем используйте поддерживаемый выход и новый вход:

bash
codex logout codex login

В браузере выберите нужный аккаунт ChatGPT и workspace. После завершения снова выполните codex login status.

Текущий справочник команд Codex описывает codex logout как удаление сохранённых данных аутентификации ChatGPT и API key. После повторного входа полностью перезапустите IDE: уже работающий extension host может удерживать старое состояние, даже когда общий кэш обновлён.

В приложении Codex проверьте аккаунт или статус API key в меню профиля, выйдите именно там, полностью закройте приложение и войдите снова. Выход из chatgpt.com в одном браузере не гарантирует очистку локальных данных приложения.

Если повторный вход не возвращается в Codex

После очистки старых credentials сбой нового входа — уже другая ветка. Если CLI запущен на удалённой машине без браузера или локальный callback недоступен, используйте device code, когда он разрешён аккаунтом или администратором:

bash
codex login --device-auth

Откройте выданную ссылку, войдите и введите одноразовый код. Не пересылайте этот код другим людям.

В корпоративной сети TLS-прокси может подменять сертификат. Официальная документация предусматривает CODEX_CA_CERTIFICATE с доверенным PEM bundle. Прямой запуск codex login также создаёт отдельный codex-login.log в настроенном каталоге логов. Он полезен для диагностики callback, сертификата и браузерного входа, но перед передачей удалите токены, email, идентификаторы workspace и приватные пути.

Управляемая среда может принудительно требовать ChatGPT или API key и ограничивать вход определённым workspace. Если свежий аккаунт немедленно отклоняется, дальнейшее удаление локального кэша бессмысленно: администратор должен проверить membership, provisioning, разрешённый метод и workspace.

Workload identity — отдельное исключение. Когда credentials выдаёт окружение процесса, codex login и codex logout отклоняются. Исправлять нужно identity provider, federation rule или конфигурацию runtime, а не пользовательский файл.

Выбор действия, когда новый вход в Codex не завершается: device auth, корпоративный TLS, управляемый workspace и workload identity
Выбор действия, когда новый вход в Codex не завершается: device auth, корпоративный TLS, управляемый workspace и workload identity

Проверьте не экран входа, а маленькую задачу

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

  1. codex login status показывает ожидаемый режим.
  2. App или IDE показывает нужный аккаунт и workspace, если эта информация доступна.
  3. Небольшая безопасная задача завершается в том же проекте и окружении, где была ошибка.

Начните с чтения и краткого описания одного несекретного файла. Не возобновляйте крупную запись сразу. Если тест проходит, сначала проверьте уже существующие изменения, а затем продолжайте исходную задачу.

Новый код ошибки меняет диагностику. HTTP 429 относится к ограничениям Codex, зависшее соединение или инструмент — к диагностике тайм-аута, а запрос телефона, MFA или device verification — к проверке входа Codex.

Что передать в поддержку

Если новый официальный вход выполнен на правильном хосте, но ошибка обновления повторяется, подготовьте минимальный пакет:

  • очищенный текст ошибки, время и часовой пояс;
  • App, CLI или IDE и версию;
  • ОС и контекст: local, WSL, SSH, контейнер или VM;
  • активный способ входа без токена и полного идентификатора аккаунта;
  • результат logout и нового browser/device flow;
  • результат одной небольшой проверочной задачи;
  • очищенный фрагмент codex-login.log, только если не завершился новый вход.

Не прикладывайте auth.json, токены, API keys, OTP, Cookie, полный HAR или скриншоты с секретами. Исправление завершено не тогда, когда снова появилась форма входа, а когда новые credentials на правильном хосте связаны с нужным аккаунтом и выполняют ограниченную задачу Codex.