Codex 401 Incorrect API key provided: solución según el origen
Si entras en Codex con ChatGPT y sin clave propia, el 401 no habla de ti: la URL y la clave del error indican si esperar, volver a entrar o corregir.
En esta página

unexpected status 401 Unauthorized: Incorrect API key provided no significa lo mismo en todos los casos. Si has iniciado sesión en Codex con tu cuenta de ChatGPT y nunca has configurado una clave de API, la clave que aparece en el mensaje no es tuya, así que crear una nueva o rotarla no arregla nada. Qué hacer depende de tres datos que ya tienes delante: la URL que cierra el mensaje de error, el texto de la clave enmascarada y lo que responde codex login status.
codex login statusCon esa salida y la línea completa del error, la tabla te dice quién rechazó la petición y qué acción le corresponde.
| Qué muestra el error | Cómo entras en Codex | Quién devolvió el 401 | Qué hacer |
|---|---|---|---|
Clave sk-svcac… que no reconoces y url: https://chatgpt.com/backend-api/codex/responses | ChatGPT | El servicio de OpenAI, con una credencial interna | Mirar status.openai.com y esperar. No borrar nada |
Incorrect API key provided: dummy y wss://api.openai.com/v1/responses | ChatGPT | La API, porque tu cliente no pudo renovar el token y envió una clave de relleno | Cerrar sesión y volver a iniciarla |
{"detail":"Unauthorized"} y aviso de que el token de renovación fue revocado | ChatGPT | El servicio de Codex, por una sesión caducada | Cerrar sesión y volver a iniciarla |
| Clave enmascarada que empieza y acaba como la tuya | Clave de API | La plataforma de API de OpenAI | Corregir la clave o generar otra |
| URL de un dominio que no es de OpenAI | Proveedor personalizado | Esa pasarela | Revisar su clave y su URL base |
sk-svcac…fvMA y chatgpt.com/backend-api: la caída del 25 de septiembre
Si el error llegó la madrugada del 26 de septiembre de 2026 en horario peninsular, con una clave que empezaba por sk-svcac y la URL de chatgpt.com, el fallo estaba en los servidores de OpenAI y no había nada que reparar en tu equipo. El informe de la incidencia sitúa el problema entre las 15:33 y las 16:47 PDT del 25 de septiembre, aproximadamente; en la península son las 00:33 y la 01:47 del día 26, unos 74 minutos. Durante ese tiempo, quienes usaban Codex con «Sign in with ChatGPT» recibieron errores 401 y 502. Quienes accedían con su propia clave de API no se vieron afectados.
La causa fue interna. Según el informe, el sistema que detecta credenciales filtradas marcó por error como posiblemente expuestas las credenciales que usan entre sí los servicios internos de Codex, y una operación manual que se saltó las protecciones existentes las revocó. OpenAI confirmó después que el tráfico que disparó la alerta era legítimo y que esas credenciales nunca se filtraron. El servicio volvió cuando los ingenieros reactivaron la credencial original a las 16:39 PDT.
El mensaje que vieron los usuarios tenía esta forma:
unexpected status 401 Unauthorized: Incorrect API key provided: sk-svcac***…***fvMA.
You can find your API key at https://platform.openai.com/account/api-keys.,
url: https://chatgpt.com/backend-api/codex/responses, cf-ray: …, request id: …Personas distintas, en macOS, Windows y Linux, con la aplicación de escritorio, la CLI y la extensión de VS Code, pegaron en GitHub la misma clave enmascarada, con el mismo principio y el mismo final (#48237, #48241). Todas habían entrado con ChatGPT, codex login status respondía Logged in using ChatGPT y no tenían definidas OPENAI_API_KEY, CODEX_API_KEY ni OPENAI_BASE_URL. Una clave idéntica en cuentas que no tienen relación entre sí no puede ser la de ninguno de esos usuarios. Eso encaja con lo que describe el informe, aunque OpenAI no ha dicho que la clave del mensaje sea la credencial revocada ni ha explicado qué indica el prefijo sk-svcac.
La página de estado contó la caída con otro reloj. La incidencia «Issues with Codex» se abrió a las 22:58 UTC y se cerró a las 23:54 UTC: 56 minutos, de las 00:58 a la 01:54 en la península. El primer aviso llegó unos 25 minutos después del inicio que recoge el informe. Por eso hubo quien vio el 401 mientras el estado seguía en verde: en ese intervalo, un fallo repentino en todos tus clientes a la vez y una clave que no reconoces son mejor señal que la página de estado.

Sobre el uso perdido, el responsable de Codex en OpenAI escribió en X, tras la recuperación, que restablecerían los límites de uso de todos los usuarios de pago de Codex y de ChatGPT Work; la cita está recogida en la comunidad de desarrolladores de OpenAI. Ni la página de estado ni el informe lo mencionan, de modo que es un anuncio y no una garantía por cuenta: compruébalo en tu propio panel de uso.
Qué no tocar durante una caída: ~/.codex, la versión y tus claves
Mientras el 401 lo devuelva el servidor con una credencial que no es tuya, ninguna acción local lo arregla, y algunas te cuestan trabajo después.

- Borrar
~/.codexoauth.json. Solo consigues tener que iniciar sesión otra vez contra un servicio que sigue caído. La documentación de autenticación explica que la CLI y la extensión comparten la misma caché de credenciales, así que cerrar sesión en una te obliga a entrar de nuevo en las dos. Algunas recetas añaden borrar tambiénstate_5.sqlite, un archivo que la documentación oficial no menciona ni incluye en ningún procedimiento de recuperación, y avisan de que con él puede perderse el estado local de tareas y sesiones. - Bajar de versión. Un usuario contó que todo volvió al instalar la 0.148.0 (#48302), pero publicó su mensaje a las 23:56 UTC, dos minutos después de que se cerrara la incidencia, y otra persona había reproducido el mismo fallo precisamente con la 0.148.0.
- Reiniciar el equipo una y otra vez. Quien atribuyó la solución a un segundo reinicio (#48570) tuvo el fallo en la misma franja en la que la recuperación se iba extendiendo. Un empleado de OpenAI lo había explicado en GitHub a las 23:51 UTC: el problema estaba mitigado y la recuperación avanzaba por clústeres, es decir, no llegó a todos a la vez.
- Crear o rotar una clave de API. Si entras con ChatGPT, tu cuenta de la plataforma no interviene en esa petición.
- Abrir otro informe en GitHub. Durante la caída, el mismo empleado pidió que no se enviaran más informes ni
/feedback, porque el problema ya estaba identificado.
Estos «arreglos» coincidieron en el tiempo con la recuperación del servidor. Que funcionara después no demuestra que funcionara por eso.
«Incorrect API key provided: dummy»: no se renovó el token
Cuando la clave del mensaje es literalmente dummy y la URL es wss://api.openai.com/v1/responses, el origen está en tu sesión y no en una caída. El caso está descrito en el informe #37192, de agosto de 2026 y con la CLI 0.145.0: tras cambiar de red con la sesión de ChatGPT abierta, la renovación del token falló y Codex acabó enviando una clave de relleno a la API, que respondió con el 401. Es el análisis de un usuario, sigue abierto y OpenAI no lo ha confirmado ni ha indicado una versión que lo corrija, pero las dos pistas son fáciles de comprobar en tu propio error.
Aquí sí sirve renovar la sesión:
codex logout
codex loginLo mismo vale para la otra variante del 401, la que no habla de claves: el cuerpo es {"detail":"Unauthorized"} y lo acompaña el aviso «Your access token could not be refreshed because your refresh token was revoked. Please log out and sign in again» (#41975). El propio mensaje pide cerrar sesión y volver a entrar. Si el inicio de sesión es lo que falla, el caso es otro y está en Error 403 en el intercambio de token de Codex: inicio de sesión, proxy, región y caché.
¿Por qué sigue fallando después de la caída? Tres comprobaciones
Si la incidencia ya está resuelta y el 401 continúa, vuelve a leer el error antes de borrar nada, porque puede haber cambiado de origen.
-
Página de estado y hora. Si hay una incidencia abierta en status.openai.com, o acaba de cerrarse, espera y reintenta: la recuperación de septiembre se desplegó por partes y el informe habla de un servicio «en gran medida» recuperado a las 16:47 PDT, no de todos los usuarios a la vez.
-
Método de acceso y variables de entorno. Ejecuta
codex login status. Después lista solo los nombres de las variables que pueden cambiar la ruta de la petición, sin imprimir su valor:env | grep -E '^(OPENAI|CODEX)_' | cut -d= -f1Una
OPENAI_API_KEYolvidada o unaOPENAI_BASE_URLque apunta a otro sitio te llevan a los dos apartados siguientes. En equipos gestionados, la opciónforced_login_methodde la configuración puede imponerchatgptoapi; si tu sesión no coincide, Codex la cierra y termina. -
Renovar la sesión una vez. Con
codex logoutycodex logindescartas una sesión estropeada sin borrar archivos a mano. Hazlo una sola vez y con el servicio operativo; si el error vuelve con la misma clave ajena, el problema no está en tus credenciales.
Queda una pista para Windows, todavía sin confirmar. En el informe #48316, un usuario de Windows 11 cuenta que, tras actualizarse la aplicación de escritorio, codex.exe pasó a ejecutarse desde un directorio nuevo y Malwarebytes bloqueó sus conexiones HTTPS salientes como si fuera un programa desconocido. El registro mostraba Workspace routing is unavailable y Desktop network policy does not allow this destination, y la interfaz acababa enseñando el mismo 401. Es un único caso, ocurrió la noche de la caída y OpenAI no ha confirmado la causa, pero si usas un cortafuegos de terceros merece la pena revisar si ha bloqueado el ejecutable.
Con clave de API propia el mensaje sí es literal
Si codex login status indica que entras con clave de API y la clave enmascarada coincide con la tuya, el error dice lo que parece. La guía de códigos de error de la API de OpenAI lo define así: la clave que hace la petición no es correcta, y la solución es comprobarla o generar una nueva. Lo habitual es una clave revocada, copiada con un carácter de menos o una variable de entorno con un valor antiguo que tiene prioridad sobre el que acabas de guardar.
Para sustituirla sin dejarla escrita en el historial de la terminal, la documentación de Codex usa este comando, que lee la clave desde la variable de entorno:
printenv OPENAI_API_KEY | codex login --with-api-keyLa misma guía recoge otros 401 con un texto diferente: autenticación no válida, una cuenta que no pertenece a ninguna organización o una IP no autorizada. Si tu mensaje no es «Incorrect API key provided», el remedio tampoco es el mismo.
Proveedor personalizado en config.toml: el 401 es de esa pasarela
Cuando la URL del error no pertenece a chatgpt.com ni a api.openai.com, quien rechaza la clave es el proveedor que tienes definido en config.toml, y la caída de septiembre no tiene nada que ver. La documentación de Codex admite tres formas de autenticar un proveedor propio:
requires_openai_auth = true: se usa tu sesión de OpenAI y se ignoraenv_key.env_key = "NOMBRE_DE_LA_VARIABLE": se envía la clave guardada en esa variable de entorno.- Ninguna de las dos: Codex entiende que el proveedor no necesita autenticación.
Los fallos típicos salen de ahí: la variable indicada en env_key no existe en la terminal desde la que lanzas Codex, contiene la clave de otro servicio, o requires_openai_auth está activo y anula la clave que creías estar enviando. El detalle de cada campo está en Custom Provider en Codex: API Key, Base URL y config.toml.
¿Puedo pasarme a una clave de API mientras dura una caída?
Sí, y en septiembre fue la vía que indicó la propia OpenAI: a las 23:19 UTC, la página de estado decía que iniciar sesión con clave de API desbloqueaba el acceso en ese momento. Antes de hacerlo conviene saber tres cosas, todas de la documentación de autenticación:
- El uso con clave de API se factura aparte, a las tarifas estándar de la plataforma de OpenAI, y no consume el uso incluido en tu plan de ChatGPT.
- Algunas funciones que dependen del espacio de trabajo de ChatGPT o de servicios en la nube quedan limitadas o no están disponibles. Codex cloud solo admite el inicio de sesión con ChatGPT.
- Para volver a tu plan cuando pase la incidencia, cierra sesión con
codex logouty entra de nuevo con ChatGPT. Si no lo haces, seguirás pagando por uso.
Si la caída dura una hora y no tienes nada urgente, esperar sale gratis. Qué incluye cada método y quién lo factura se explica en Codex con API key o suscripción ChatGPT: qué ruta usar.
Cuándo dejar de probar en local y qué enviar a soporte
Deja de diagnosticar en tu equipo cuando se cumplan las tres condiciones: no hay ninguna incidencia abierta, has renovado la sesión una vez y el error vuelve con la misma URL y la misma clave. A partir de ahí, repetir reinicios y borrados solo destruye información útil.
Para los errores persistentes, OpenAI pide el modelo, el mensaje y el código de error, los datos y las cabeceras de la petición, y la hora con su zona horaria. En el caso de Codex añade lo que ya trae la línea del error y lo que identifica tu entorno:
- La línea completa del error, con la
url, elcf-rayy elrequest id. - La salida de
codex --versiony decodex login status. - Sistema operativo y cliente: CLI, aplicación de escritorio o extensión de VS Code.
- La hora del fallo con zona horaria y si coincide con un cambio de red, una actualización o un aviso del cortafuegos.
No adjuntes auth.json ni pegues su contenido en un ticket o en un chat: contiene tokens de acceso y la documentación pide tratarlo como una contraseña. Cuando inicias sesión, Codex escribe además un codex-login.log en su directorio de registros; revísalo antes de compartirlo.
Si lo que ves no es este 401 sino un exceeded retry limit, un 429 o un corte del stream, el recorrido es distinto: OpenAI Codex: diagnosticar 401, 429 y Stream Disconnected.





