AIFreeAPI Logo

Codex no puede renovar el token de acceso: reautentica el equipo que realmente lo ejecuta

A
6 min readOpenAI Codex

Cerrar sesión solo sirve si eliminas las credenciales que lee el proceso con el error. Identifica el host, entra con el método correcto y prueba una tarea pequeña.

Flujo seguro para recuperar Codex tras un fallo del token: proteger el trabajo, localizar el host, reautenticar y verificar una tarea

“Your access token could not be refreshed. Please log out and sign in again” indica que el proceso actual de Codex ya no puede continuar con la sesión guardada. No demuestra por sí solo que el refresh token se haya reutilizado, revocado o invalidado al cambiar de cuenta. También puede ocurrir que Codex esté leyendo credenciales antiguas en otro equipo.

La solución fiable no consiste en cerrar sesión al azar en todos los navegadores. Hay que conservar el trabajo, localizar el proceso que falla, borrar las credenciales que ese proceso usa, volver a entrar una sola vez y comprobar el resultado en el mismo entorno.

Protege el estado del proyecto antes de tocar el login

Un error de autenticación no borra automáticamente los archivos que Codex ya ha modificado. El riesgo aparece al repetir la misma tarea en varias ventanas o al eliminar carpetas completas para “limpiar la caché”.

Antes de salir:

  • revisa los cambios sin commit del repositorio;
  • guarda el prompt no enviado y el error completo, sin datos privados;
  • anota la hora y zona horaria, la superficie de Codex, la versión y la ruta del proyecto;
  • registra la última acción que terminó correctamente;
  • detén los intentos duplicados en App, CLI e IDE.

No compartas auth.json, access tokens, refresh tokens, API keys, OTP, cookies ni un HAR sin limpiar. La documentación de autenticación de OpenAI explica que auth.json, cuando se usa almacenamiento en archivo, contiene tokens de acceso y debe tratarse como una contraseña.

Encuentra el host que guarda la sesión

La pantalla visible no siempre coincide con el equipo que ejecuta Codex. Una ventana de VS Code puede usar un extension host por Remote SSH. La terminal puede estar dentro de WSL o de un contenedor. Un agente externo puede conservar un perfil OAuth propio aunque la CLI independiente esté sana.

SuperficieLímite de credenciales que debes revisarLo que no demuestra que esté limpio
Codex App localPerfil activo de la App y almacén localSalir de ChatGPT en otro perfil del navegador
Codex CLIUsuario del sistema y CODEX_HOME de esa shellQue ChatGPT web funcione
Extensión de IDEExtension host local o remotoReinstalar solo la interfaz del editor
WSL, SSH, contenedor o VMHome o keyring dentro de ese entornoSalir en el equipo anfitrión
Harness o gateway externoPerfil de autenticación propioQue la CLI de Codex funcione aparte

OpenAI documenta que la CLI y la extensión de IDE pueden compartir credenciales guardadas. Estas pueden vivir en ~/.codex/auth.json o en el almacén de credenciales del sistema operativo. Por eso conviene usar primero el logout admitido: borrar un archivo supuesto no sirve si el proceso usa un keyring, otro usuario o un host remoto.

Reconstruye la sesión de CLI e IDE

Ejecuta los comandos en el entorno donde vive el proceso que muestra el error. Comprueba primero el método activo:

bash
codex login status

El resultado indica si hay credenciales y qué modo de autenticación está activo. Puede revelar que el usuario esperaba acceso con ChatGPT pero la shell usa una API key, o que el IDE remoto corre con otro usuario del sistema. Un status correcto no prueba todavía que una solicitud real funcione.

Elimina las credenciales guardadas mediante la ruta compatible y vuelve a entrar:

bash
codex logout codex login

En el navegador, confirma la cuenta de ChatGPT y el workspace previstos. Después ejecuta de nuevo codex login status.

La referencia oficial de Developer commands describe codex logout como el comando que elimina credenciales guardadas tanto de ChatGPT como de API key. Reinicia completamente el IDE después del nuevo login: un extension host que ya estaba abierto puede conservar estado antiguo aunque la caché compartida haya cambiado.

En Codex App, abre el menú del perfil, confirma la cuenta o el estado de API key y cierra sesión dentro de la App. Sal por completo, vuelve a abrirla e inicia sesión con el método previsto. Cerrar chatgpt.com en un navegador no demuestra que el almacén local de la App se haya vaciado.

Una API key tampoco es una reparación universal del login de ChatGPT. Se factura por la cuenta de Platform y algunas funciones que dependen del workspace o de servicios cloud pueden no estar disponibles. Primero decide qué ruta de autenticación necesitabas recuperar.

Cuando el nuevo inicio de sesión no termina

Si las credenciales antiguas ya se borraron pero el navegador no devuelve el control a Codex, el problema ha cambiado de fase.

En una CLI remota o sin interfaz, el endpoint de callback local puede no estar disponible. Cuando la cuenta o el workspace lo permiten, usa device code:

bash
codex login --device-auth

Abre el enlace, inicia sesión e introduce el código de un solo uso. No se lo envíes a nadie. Si la opción está desactivada, debe habilitarla el usuario en su seguridad o el administrador del workspace.

En una red corporativa con proxy TLS o autoridad raíz privada, la guía oficial ofrece CODEX_CA_CERTIFICATE para un bundle PEM de confianza. Además, una ejecución directa de codex login escribe codex-login.log en el directorio configurado. Ese log ayuda a separar callback, certificado y login del navegador, pero hay que eliminar tokens, correos, identificadores de workspace y rutas privadas antes de compartirlo.

Un entorno administrado puede obligar a usar ChatGPT o API key y limitar ChatGPT a un workspace concreto. Si una cuenta recién elegida se rechaza o sale de inmediato, deja de rotar archivos locales y pide al administrador que revise membership, provisioning, método permitido y workspace esperado.

Workload identity es otra excepción. Si el entorno del proceso entrega la identidad, OpenAI indica que codex login y codex logout se rechazan. La reparación corresponde al proveedor de identidad, la regla de federación o el runtime.

Rutas de autenticación de Codex según el entorno: navegador local, CLI remota, TLS empresarial, workspace administrado y workload identity
Rutas de autenticación de Codex según el entorno: navegador local, CLI remota, TLS empresarial, workspace administrado y workload identity

Comprueba una tarea, no solo la pantalla de login

Una recuperación completa tiene tres señales:

  1. codex login status muestra el método previsto.
  2. App o IDE muestra la cuenta y el workspace correctos cuando esa información está disponible.
  3. Una tarea pequeña termina en el mismo proyecto y entorno que falló.

Empieza con una acción de lectura, como resumir un archivo no sensible. No reanudes inmediatamente una escritura grande. Si la prueba funciona, revisa los cambios existentes y continúa la tarea original.

Tres señales para confirmar la recuperación de Codex y lista mínima de datos saneados que se pueden enviar a soporte
Tres señales para confirmar la recuperación de Codex y lista mínima de datos saneados que se pueden enviar a soporte

Si aparece un error distinto, cambia también el diagnóstico. HTTP 429 pertenece a los límites de Codex; una conexión, herramienta o proceso bloqueado pertenece al diagnóstico de timeout; una solicitud de teléfono, MFA o device verification pertenece a la guía de verificación de Codex.

Escala sin entregar secretos

Si el login nuevo se completó en el host correcto y el mismo error vuelve, prepara un paquete mínimo:

  • error redactado, hora y zona horaria;
  • App, CLI o IDE y versión;
  • sistema operativo y contexto local, WSL, SSH, contenedor o VM;
  • método activo, sin token ni identificador completo de cuenta;
  • resultado del logout y del nuevo flujo de navegador o dispositivo;
  • resultado de una prueba pequeña;
  • extracto saneado de codex-login.log solo si falló el login nuevo.

No adjuntes auth.json, tokens, API keys, OTP, cookies, un HAR completo ni capturas con secretos. La recuperación no termina cuando reaparece el formulario de acceso, sino cuando las credenciales nuevas del host correcto están asociadas a la cuenta y al método previstos y pueden completar una tarea acotada de Codex.