¿Claude Code te ha lanzado de repente un mensaje como este y te ha exigido iniciar sesión?

Not logged in · Please run /login
Invalid API key · Fix external API key
Please run /login · API Error: 401 OAuth token has expired ...
API Error: 400 ... This organization has been disabled.

Son errores de "fallo de autenticación (¿quién eres?)", que suelen aparecer como 401/403. Lo frustrante es lo desconcertantes que resultan: "estoy pagando y aun así me rechaza" o "ayer funcionaba y ahora de golpe me pide iniciar sesión". Pero la mayoría de las causas son de manual, y una vez que conoces el orden de comprobación, la solución es rápida.

Lo más importante por delante. (1) El problema de autenticación número uno es una variable de entorno ANTHROPIC_API_KEY que anula silenciosamente tu inicio de sesión de suscripción (Pro/Max), lo que se convierte en la verdadera causa de cargos de pago por uso inesperados, "organization disabled" e "Invalid API key". (2) El punto de partida es siempre /status para ver "qué credencial está activa ahora mismo". (3) En caso de duda, "unset la clave perdida → /logout → /login" para entrar de forma limpia.

CLAUDE CODE · AUTH PRECEDENCE

Las credenciales tienen una "precedencia"

— la que está más arriba gana, así que una API key de entorno anula tu suscripción

↑ Fuera de la lista (por encima de 1): si has iniciado sesión en un Claude apps gateway, solo se usa su token (ninguno de 1–7)
1 Cloud (Bedrock/Agent Platform (Vertex)/Foundry)
2 ANTHROPIC_AUTH_TOKEN (gateways LLM y proxies)
3 ANTHROPIC_API_KEY ← variable de entorno esta gana = pago por uso
4 apiKeyHelper
5 CLAUDE_CODE_OAUTH_TOKEN (claude setup-token)
6 Perfiles de Anthropic y credenciales de federación (CLI ant, Workload Identity Federation)
Un perfil de inicio de sesión, como el de ant auth login, solo queda aquí si lo nombras en ANTHROPIC_PROFILE; si no, queda por debajo de 7
7 OAuth de suscripción (/login) lo que realmente quieres

Si ANTHROPIC_API_KEY queda en tu entorno, tiene precedencia sobre la suscripción.
Primero comprueba con /status → si no la necesitas, unset ANTHROPIC_API_KEY.

1. Qué te está diciendo este error

Autenticación significa "demostrar quién eres". Claude Code demuestra que eres "tú" con una sola credencial, como tu inicio de sesión OAuth de suscripción, una API key o credenciales de la nube. Cuando esa prueba falla, se te rechaza con 401 (authentication_error) o 403 (forbidden). Los mensajes representativos y sus significados:

MensajeSignificado
Not logged in · Please run /loginNo hay credencial válida → /login
Invalid API key · Fix external API keyUna clave de una variable de entorno o de apiKeyHelper fue rechazada por la API (si ANTHROPIC_API_KEY contiene un salto de línea u otro carácter así, Claude Code la detiene antes de enviarla)
Your ANTHROPIC_API_KEY belongs to a disabled organization · …
API Error: 400 ... This organization has been disabled.
Se está usando una ANTHROPIC_API_KEY antigua de una organización deshabilitada. Si aparece sin ninguna variable de entorno definida, la organización deshabilitada es la de tu /login (ver debajo de la tabla)
OAuth token revoked · Please run /login
Please run /login · API Error: 401 OAuth token has expired ...
Sesión cerrada en todas partes / un administrador retiró el acceso (revoked); fallo de renovación automática (expired)
API Error: 403 ... forbidden ... Request not allowedSuscripción inactiva, falta de rol en la Console o interferencia de un proxy

El mensaje de organización deshabilitada termina con una de dos indicaciones tras el "·". Unset the environment variable to use your subscription instead significa que aún tienes un inicio de sesión guardado con /login, así que al quitar la clave vuelves a tu suscripción. Update or unset the environment variable significa que la clave es tu única credencial: quítala y ejecuta /login, o sustitúyela por una clave de una organización activa. Si no hay ninguna variable de entorno definida y el error sigue apareciendo, la organización deshabilitada es la de la cuenta con la que iniciaste sesión mediante /login. La referencia de errores oficial indica contactar con el soporte o iniciar sesión con otra cuenta.

El parecido Login expired · Please run /login es un estado distinto de Not logged in, en el que nunca hubo credenciales: se rechazó la renovación automática del inicio de sesión guardado y Claude Code borró las credenciales. La solicitud se detiene en tu equipo sin enviarse, así que, en lugar de reintentar, vuelve a iniciar sesión con /login. Lo explicamos en qué significa Login expired · Please run /login y cómo solucionarlo.

El texto de Not logged in también cambia según el entorno. En las sesiones que ejecuta la app Claude Desktop, como la pestaña Code o Cowork, aparece Authentication required · Sign in again to continue, y vuelves a iniciar sesión desde la app. Según la referencia oficial de errores, si inicias sesión con tu cuenta de claude.ai en otra ventana de Claude Code que usa el mismo directorio de configuración, la sesión interactiva que muestra este mensaje empieza a usar ese inicio de sesión por sí sola, sin necesidad de reiniciarla. Eso sí, en versiones antiguas el mensaje podía quedarse. Según el CHANGELOG oficial, v2.1.281 (23 de septiembre de 2026) corrigió que el pie «Not logged in · Run /login» y la falta de los conectores de claude.ai persistieran en una sesión después de iniciar sesión desde otro proceso de Claude Code, y v2.1.286 (30 de septiembre) corrigió que en macOS siguiera apareciendo Not logged in o Login expired tras un /login correcto en otra ventana cuando quedaba un ~/.claude/.credentials.json antiguo. En macOS con versiones anteriores a v2.1.286, la documentación oficial indica reiniciar la sesión que muestra el mensaje.

Cuando la configuración de tu organización bloquea el inicio de sesión con suscripción, aparece un mensaje que empieza por Your organization has disabled Claude subscription access. No es un problema de tus credenciales locales, así que volver a ejecutar /login con la misma cuenta no lo soluciona. Qué hacer se explica en la sección 7.

El hábito clave: antes de culparte a ti mismo, ejecuta /status para ver "qué credencial está activa ahora mismo". La mayoría de los errores de autenticación provienen de que se ha seleccionado una credencial no deseada, y el principal sospechoso es la "anulación por API key" de la siguiente sección.

2. La gran trampa: una API key anula tu suscripción

La documentación oficial indica que Claude Code elige UNA credencial por "precedencia" (ver el hero). El truco está en que la variable de entorno ANTHROPIC_API_KEY se sitúa POR ENCIMA de tu inicio de sesión de suscripción (Pro/Max). Dicho de otro modo:

La explicación oficial (parafraseada)

"Incluso con una suscripción activa, si ANTHROPIC_API_KEY está definida en tu entorno, esta tiene precedencia una vez aprobada. Si esa clave pertenece a una organización deshabilitada o caducada, la autenticación falla. Ejecuta unset ANTHROPIC_API_KEY para volver a tu suscripción y comprueba con /status cuál está activa."

Esta anulación produce tres síntomas "desconcertantes". (1) Cargos de pago por uso inesperados: lo que debería ser una suscripción de tarifa plana acaba facturándose por token a través de la API key. (2) Your ANTHROPIC_API_KEY belongs to a disabled organization (o This organization has been disabled): la clave sobrante pertenecía a una organización antigua deshabilitada. (3) Invalid API key: la clave está caducada o es incorrecta. Ninguno de estos es "un problema con tu inicio de sesión"; son "un problema de una clave perdida que ocupa tu entorno". Además, mientras dura esta anulación, los conectores que añadiste en claude.ai tampoco se cargan y puede aparecer un aviso que empieza por claude.ai connectors are disabled. Lo explicamos en qué significa claude.ai connectors are disabled y cómo solucionarlo.

De dónde viene la clave: un export ANTHROPIC_API_KEY=... en ~/.zshrc / ~/.bashrc / ~/.profile; un .env leído por direnv, dotenv o el terminal de tu IDE; un resto de un trabajo o proyecto anterior; un entorno de CI. En Windows, el perfil de PowerShell ($PROFILE) o las variables de entorno de usuario. Detéctala con /status y env | grep ANTHROPIC; corrígela con:

# Anular temporalmente y arrancar
unset ANTHROPIC_API_KEY
claude

# Corrección permanente: elimina la línea export de la config de tu shell / .env, luego confirma con /status

Nota: en modo interactivo se te pregunta una vez si quieres usar la clave, y tu elección se recuerda (cámbiala después con la opción "Use custom API key" en /config, que solo aparece mientras ANTHROPIC_API_KEY está definida). En modo no interactivo (-p), la clave se usa siempre que exista, sin preguntar. A menos que quieras usar deliberadamente la API key, confirma con /status que la suscripción está activa.

3. Otras causas

Los problemas de autenticación distintos de la anulación también suelen tener causas fijas.

OTHER CAUSES

Tropiezos de autenticación más allá de la anulación

Token revocado / caducado
Sesión cerrada en todas partes / un admin retiró el acceso / fallo de renovación. Vuelve a entrar con /logout → /login.
Desfase del reloj del sistema
La validación del token depende de una hora exacta. Si te piden iniciar sesión en cada arranque, ajusta el reloj.
Keychain de macOS
Con un Keychain bloqueado / contraseña no coincidente, tu inicio de sesión se guarda en el archivo de texto plano ~/.claude/.credentials.json, y un inicio de sesión de Console que crea una API key falla. Compruébalo con claude doctor.
Falta de rol en la Console (403)
Con una cuenta de Console, confirma un rol "Claude Code" / "Developer"; con Pro/Max, que la suscripción está activa.
OAuth en WSL/SSH/contenedores
La redirección del navegador no puede volver localmente. Pega el código mostrado, pulsa c para copiar la URL, o define BROWSER.
Política de la organización
El acceso por suscripción deshabilitado es un ajuste del lado del servidor que no puedes anular localmente (sección 7). La autenticación por API key deshabilitada sí se arregla en tu equipo: quita la clave (o apiKeyHelper) y ejecuta /login.

"Me piden iniciar sesión cada vez" → sospecha primero del desfase del reloj o el Keychain.
"Rechazado con 403" → sospecha de suscripción inactiva, rol en la Console o proxy.

Saber dónde residen las credenciales también acelera la recuperación. macOS: Keychain (si el Keychain rechaza la escritura, se usa el mismo archivo que en Linux); Linux: ~/.claude/.credentials.json (modo 0600); Windows: %USERPROFILE%\.claude\.credentials.json. /login y /logout gestionan este archivo. Si algo parece roto, en lugar de borrarlo a mano sigue el reinicio oficial: /logout → cierra Claude Code → vuelve a abrirlo y ejecuta /login. Cerrar sesión elimina todas las credenciales guardadas, incluidos los inicios de sesión de servidores MCP y los valores secretos de los plugins, así que tendrás que volver a autorizar los servidores MCP e introducir de nuevo esos secretos (solución de problemas de inicio de sesión y autenticación oficial).

4. El flujo de diagnóstico

Cuando te atasques con la autenticación, ve de arriba abajo. La mayoría de los casos se resuelven en el paso 3.

DIAGNOSE

Aíslalo de arriba abajo

1
/status para ver qué credencial está activa (suscripción, API key o nube).
2
env | grep ANTHROPIC (Windows: $PROFILE / variables de entorno de usuario) para encontrar una clave perdida.
3
unset ANTHROPIC_API_KEY → reinicia. Hazlo permanente eliminando la línea export de la config de tu shell / .env.
4
¿Sigue fallando? /logout → cierra Claude Code → /login para una reautenticación limpia.
5
Ajusta el reloj / revisa el Keychain con claude doctor (macOS) / confirma tu rol en la Console (organizaciones).

La regla: "primero /status, luego a la caza de la clave perdida."
La mayoría de los casos se arreglan con solo quitar la clave que te estaba anulando.

5. Cómo distinguirlo de errores parecidos

"Rechazado / detenido" también puede tener causas ajenas a la autenticación. Dividir por el código HTTP es la forma fiable.

SíntomaQué es realmenteSolución principal
401 / 403 · Invalid API key · Not logged inEste artículo = autenticación (problema de credencial)/status → quitar la clave perdida → /login
usage limit reachedCuota del plan agotada (la autenticación está bien)Espera al reinicio; soluciones
429 Request rejectedLímite de tasa (la anulación por una clave de nivel bajo puede provocar un 429)Reduce el ritmo; comprueba también /status por si hay una clave perdida
529 / 500Lado del servidor: sobrecarga / error internoEspera y reintenta; soluciones
Credit balance is too lowSaldo prepago de la Console agotado, o peticiones enviadas con una API key de la Console cuando querías usar tu suscripciónAñade créditos. Para usar tu suscripción, revisa la clave en /status y haz unset (ejecuta /login si no has iniciado sesión)

Una regla mnemotécnica: 401/403 es el problema de "¿quién eres?" = autenticación. usage limit y Credit balance son problemas de "cantidad / saldo". 429 es tasa, 529/500 es del lado del servidor. Cabe destacar que una API key perdida provoca no solo "fallo de autenticación", sino también "cargos inesperados", "un 429 en un nivel bajo" y "Credit balance is too low", por lo que la respuesta a la confusión es siempre /status primero. El error de saldo insuficiente se explica en Your credit balance is too low to access the Anthropic API: solución. Para otros errores comunes, consulta el resumen de errores.

6. Checklist de prevención

Una checklist para dejar de atascarte una y otra vez con la autenticación.

(1) Si usas la suscripción, no dejes ANTHROPIC_API_KEY en la config de tu shell / .env (cuidado con los restos de trabajos/proyectos antiguos). (2) Acostúmbrate a usar /status para confirmar la credencial activa antes de un trabajo importante. (3) Para CI, usa el CLAUDE_CODE_OAUTH_TOKEN de claude setup-token (o una API key explícita) en lugar del inicio de sesión interactivo. (4) Si te piden iniciar sesión cada vez, comprueba el reloj del sistema y el Keychain de macOS. (5) Para cuentas de organización, confirma el rol en la Console y el estado del plan. (6) En WSL/SSH, conoce el método de pegar el código.

7. Your organization has disabled Claude subscription access: tu organización bloquea el inicio de sesión con suscripción

Al iniciar sesión en Claude Code con una cuenta de suscripción, puede que te detenga este mensaje:

Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

Significa que la organización a la que pertenece tu cuenta (tu organización de Claude) no permite usar Claude Code con un inicio de sesión de suscripción. A diferencia de la API key sobrante de la sección 2 o del token caducado de la sección 3, la causa no está en tu equipo, sino en la configuración de tu organización.

La explicación oficial (parafraseada)

"Es un ajuste de la organización del lado del servidor, así que no se puede anular desde la configuración local, las variables de entorno ni los flags de la CLI. Volver a ejecutar /login con la misma cuenta devuelve el mismo error. En modo no interactivo (-p) y en el Agent SDK aparece como el código de error oauth_org_not_allowed."

La documentación oficial propone tres salidas, y cuál te sirve depende de tu papel.

Si lo usas como miembro de una organización: pide al administrador que active el acceso

La primera es pedir a tu administrador que active el acceso a Claude Code para tu organización. No hay ningún ajuste que puedas cambiar por tu cuenta. Al pedirlo, pásale el texto exacto del error junto con la cuenta y la organización que muestra /status, para que quede claro de qué organización se trata. Ten en cuenta que la referencia oficial de errores no dice en qué pantalla lo activa el administrador.

Si usas una API key: autentícate con la Claude Console

La segunda es autenticarte con una API key de la Claude Console en lugar de tu suscripción. A eso se refiere el "Use an Anthropic API key instead" del mensaje. La preparación sigue los pasos oficiales de autenticación con la Claude Console, y no puedes completarla tú solo:

  • Un administrador de la Console te invita desde Settings → Members → Invite y te asigna el rol "Claude Code" (solo puede crear API keys de Claude Code) o el rol "Developer" (puede crear cualquier tipo de API key)
  • Tras aceptar la invitación, ejecuta /login en Claude Code y elige tu cuenta de Anthropic Console para iniciar sesión. También puedes arrancar Claude Code con una key creada en la Console en la variable de entorno ANTHROPIC_API_KEY (en modo interactivo se te pregunta una vez si quieres usar esa key)
  • Ejecuta /status para confirmar que la credencial activa ya es la de la Console

Hay dos advertencias. La primera es el coste: el uso a través de la Console se factura como uso de la API, no contra el uso incluido en tu suscripción (el mismo mecanismo que los "cargos de pago por uso inesperados" de la sección 2, esta vez a propósito). La segunda es el error inverso: si la organización de la Console ha desactivado la autenticación por API key, aparecerá Your organization has disabled API key authentication (mensaje disponible desde la v2.1.169). Su solución oficial también es la inversa: quitar la key y ejecutar /login para entrar con tu cuenta de claude.ai.

Si eres el administrador de la organización

Si eres el administrador y no ves ninguna opción para activar el acceso, la documentación oficial indica que contactes con el soporte de Anthropic.

Fuentes: la referencia de errores oficial de Claude Code (las entradas de este error y de Your organization has disabled API key authentication), la sección de autenticación con la Claude Console de la documentación de autenticación y el artículo del Centro de ayuda de Claude Use Claude Code with your Pro or Max plan (todo consultado el 22 de septiembre de 2026).

Resumen

Los errores de autenticación/inicio de sesión de Claude Code (Not logged in / Invalid API key / organization disabled / OAuth token expired, etc.) son en su mayoría 401/403 = problemas de credencial. La verdadera causa más frecuente es "la variable de entorno ANTHROPIC_API_KEY anulando silenciosamente tu inicio de sesión de suscripción", lo que produce cargos de pago por uso inesperados, organization disabled e Invalid API key. Por eso el punto de partida es siempre /status para ver "qué credencial está activa".

Diagnostica con (1) /status -> (2) env | grep ANTHROPIC para cazar una clave perdida -> (3) unset + eliminar de la config del shell -> (4) /logout -> /login -> (5) reloj / Keychain / rol en la Console. La mayoría de los casos se arreglan con solo quitar la clave que te estaba anulando. Divide por 401/403 = autenticación, usage limit / Credit = cantidad-saldo, 429 = tasa, 529/500 = servidor para evitar la solución equivocada. Relacionados: usage limit, errores 529/500, resumen de errores de Claude Code.

Preguntas frecuentes

Q. Estoy pagando y aun así me sale "Invalid API key" u "organization has been disabled". ¿Por qué?
A. Normalmente, una variable de entorno ANTHROPIC_API_KEY está anulando tu inicio de sesión de suscripción. Si esa clave pertenece a una organización caducada o deshabilitada, te rechaza aunque tengas una suscripción activa. Encuéntrala con env | grep ANTHROPIC, ejecuta unset ANTHROPIC_API_KEY, luego /login y confirma con /status. Elimina también la línea export de la config de tu shell (.zshrc, etc.) o .env. Si no hay ninguna variable de entorno definida y "organization disabled" sigue apareciendo, la organización deshabilitada es la de tu /login: contacta con el soporte o inicia sesión con otra cuenta.

Q. Tengo una suscripción de tarifa plana pero me han facturado por token.
A. Esto también suele deberse a la anulación por ANTHROPIC_API_KEY. Cuando la API key tiene precedencia, el uso fluye hacia la facturación por token de la API en lugar de tu suscripción de tarifa plana. Confirma con /status que "la suscripción está activa"; si la API key está seleccionada, quítala con unset + limpieza de la config. Consérvala solo si pretendes usar la API key.

Q. Me piden iniciar sesión cada vez que arranco.
A. Las causas comunes son (1) desfase del reloj del sistema (la validación del token depende de una hora exacta) y (2) un Keychain de macOS bloqueado / contraseña no coincidente que impide escribir en el Keychain (entonces tu inicio de sesión se guarda en el archivo de texto plano ~/.claude/.credentials.json, y un inicio de sesión de Console que crea una API key falla). Configura el reloj para que se sincronice automáticamente y, en macOS, revisa el Keychain con claude doctor. Si persiste, vuelve a entrar de forma limpia con /logout → /login.

Q. ¿Qué me dice /status?
A. Muestra qué método de autenticación/credencial está activo actualmente (OAuth de suscripción, ANTHROPIC_API_KEY o credenciales de la nube). Dado que la mayoría de los problemas de autenticación son "se ha seleccionado una credencial no deseada", la regla es /status primero. La visualización exacta varía según la versión, así que confirma el comportamiento actual en la documentación oficial.

Q. El inicio de sesión falla por WSL o SSH porque el navegador no se abre.
A. En configuraciones remotas, la redirección del navegador no puede volver al callback local. Sortéalo pegando el código de inicio de sesión que muestra Claude Code, pulsando c para copiar la URL y abrirla en tu navegador local, o definiendo la variable de entorno BROWSER en WSL2. Conocer el método de pegar el código lo hace fiable.