Claude Code puede autenticarse de dos maneras distintas, y la que necesites determina todo lo demás. Un inicio de sesión mediante una suscripción de claude.ai cubre el uso dentro de tu plan Pro o Max. Una clave de API factura por token sin límites del plan. Esta guía explica dónde obtener una clave, exactamente dónde introducirla, las dos variables de credenciales y por qué elegir la incorrecta produce un fallo silencioso, además de cómo controlar la factura una vez que funciona.
¿Necesitas una clave?
| Situación | Qué usar |
|---|---|
| Tienes Claude Pro / Max y permaneces dentro de los límites | Inicio de sesión de suscripción: no necesitas clave |
| No tienes suscripción o alcanzas los límites durante una tarea | Clave de API, facturada por token |
| Quieres una tarifa por token más barata | Clave de API de un gateway |
| Uso de equipo que necesita atribución por puesto | Clave de API por desarrollador |
Conviene saberlo antes de empezar: establecer una clave pone en pausa tu suscripción. Mientras una variable de credenciales esté activa, Claude Code la utiliza en lugar del inicio de sesión guardado de claude.ai, los límites del plan dejan de aplicarse y el uso se factura al propietario de la clave. Elimínala y Claude Code vuelve a la suscripción.
Opción 1: una clave propia de Anthropic
- Inicia sesión en console.anthropic.com (una cuenta separada de claude.ai).
- Añade crédito en Billing. La API es prepago y está separada de cualquier suscripción; un plan Pro no la financia.
- Crea una clave en API Keys. Comienza por
sk-ant-y se muestra una sola vez.
export ANTHROPIC_API_KEY=sk-ant-...
# Then approve it once, interactively:
# /config -> Use custom API key
claudeObserva el segundo paso de ese fragmento. ANTHROPIC_API_KEY se envía en el encabezado x-api-key y necesita una aprobación interactiva única antes de que Claude Code la use. Si ese aviso se rechazó alguna vez, la clave se ignora posteriormente sin mostrar ningún aviso, lo que parece exactamente que no se está leyendo la variable. Vuelve a habilitarla en /config → Use custom API key.
Opción 2: una clave que cuesta menos por token
Claude Code lee ANTHROPIC_BASE_URL de forma nativa, por lo que funciona contra cualquier endpoint que sirva la API Anthropic Messages: sin plugin, proxy ni binario modificado. Esa es la vía compatible para los gateways y así puedes ejecutar los mismos modelos Claude a una tarifa menor:
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5ANTHROPIC_BASE_URL es solo el origen; Claude Code añade /v1/messages por su cuenta. Conserva las líneas de modelo: el valor predeterminado integrado de Claude Code y su alias opus apuntan ambos al Opus más reciente, y si Kunavo todavía no ofrece ese modelo, la primera solicitud devuelve 404. La línea opus lo fija en Claude Opus 5.5, que requiere Claude Code v2.1.280 o posterior (ejecuta claude update en una versión anterior). El alias sonnet solicita Sonnet 5.5, que Kunavo no ofrece, por lo que, sin ANTHROPIC_DEFAULT_SONNET_MODEL, /model sonnet, la fase de ejecución de opusplan y los subagentes configurados en sonnet devuelven 404. Crea la clave sk-kn- en el panel después de registrarte y recargar $10. No hay cuota mensual y el saldo no caduca.
| Modelo | Kunavo entrada / salida por cada 1M | Usar para |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | Programación cotidiana |
claude-opus-5-5 | $2.80 / $14.00 | Refactorizaciones complejas, modo de planificación |
claude-haiku-4-5 | $0.70 / $3.50 | Tareas en segundo plano |
Eso supone aproximadamente un 30% por debajo del precio de lista en el modelo principal. Las tarifas completas están en la guía de precios de la API de Claude, y precios de Claude Code compara esta vía con las cuotas de los planes Pro y Max; la configuración completa, incluido el enrutamiento de modelos por tarea y lo que cambia detrás de un gateway, está en la guía del enrutador de Claude Code. Si aún no has instalado la CLI, empieza por instalar Claude Code.
Dónde va realmente la clave
Dos variables, dos encabezados HTTP distintos. Una clave en el encabezado que el servidor no lee falla con 401:
| Variable | Encabezado | Usar cuando |
|---|---|---|
ANTHROPIC_AUTH_TOKEN | Authorization: Bearer | Claves de token bearer; surte efecto inmediatamente |
ANTHROPIC_API_KEY | x-api-key | Claves de Anthropic Console; requieren aprobación única |
apiKeyHelper | Ambos | Credenciales rotatorias o almacenadas en un vault |
Si no te dijeron qué tipo tienes, empieza con ANTHROPIC_AUTH_TOKEN, que no requiere aprobación. En Kunavo, cualquiera de las dos variables también permite que Claude Code descubra la lista de modelos, ya que /v1/models lee la clave desde cualquiera de los dos encabezados.
Exportación del shell frente al archivo de configuración
Una exportación del shell se aplica solo a ese terminal y sus procesos hijos. Un editor iniciado desde el dock no la verá, y tampoco los agentes en segundo plano. Para cualquier configuración permanente, usa en su lugar el bloque env de ~/.claude/settings.json: las mismas claves, aplicadas en todos los lugares donde se ejecute Claude Code. No pongas una clave en el .claude/settings.json de un proyecto; ese archivo se confirma y se comparte con todos los que clonen el repositorio.
Ejecuta /status para confirmar qué credencial está activa. Una línea Auth token o API key que nombre tu variable significa que la clave está activa; una línea Login method que nombre una cuenta de claude.ai significa que no lo está.
Rotar claves sin editar archivos
Si la credencial caduca según un calendario o procede de un vault, apunta apiKeyHelper a un comando que muestre la actual:
#!/bin/bash
# Any command that prints the current key to stdout works.
vault kv get -field=api_key secret/claude-codeHaz referencia a ella como "apiKeyHelper": "~/bin/get-key.sh" en tu archivo de configuración. Claude Code almacena la salida en caché durante cinco minutos y vuelve a ejecutarla en un 401; ajusta esto con CLAUDE_CODE_API_KEY_HELPER_TTL_MS. El valor se envía en ambos encabezados, así que funciona de cualquiera de las dos formas.
Cómo mantener predecible la factura
La programación agéntica consume muchos tokens: cada paso vuelve a enviar el prompt del sistema, el historial de la tarea y el contexto actualizado de los archivos. Cuatro cosas importan más que cualquier otra:
- Dirige el trabajo en segundo plano a Haiku.
ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5cubre los resúmenes y títulos que Claude Code genera por su cuenta. Es una línea y supone un ahorro puro; importa sobre todo cuando el trabajo se divide en varias ramas, cuyo coste se explica en cuánto cuesta un flujo de trabajo de Claude Code. - Las mismas dos variables dirigen el Agent SDK. No tiene una opción de URL base propia: inicia esta CLI y pasa directamente tu entorno, así que un programa del Agent SDK se dirige exactamente mediante la configuración anterior.
- Inicia tareas nuevas en lugar de prolongar una indefinidamente. El contexto se reenvía en cada paso, por lo que una sesión larga resulta costosa de forma cuadrática. La elección del nivel para el modelo principal se analiza en Opus frente a Sonnet frente a Haiku, según el coste por tarea terminada y no el coste por token.
- Deja que funcione la caché de prompts. La entrada almacenada en caché se factura al 10% de la tarifa de entrada, y la ruta nativa de la API Messages pasa
cache_controlsin traducir (detalles). - Asigna al editor su propia clave con un límite de gasto en el panel y comprueba el uso después de una semana. Los límites por clave convierten un bucle descontrolado en uno limitado.
Solución de problemas
| Síntoma | Solución |
|---|---|
Token 401 no válido o no reconocido | La clave está en el encabezado incorrecto; alterna entre las dos variables. O la clave fue revocada; genérala de nuevo. |
| La variable está configurada, pero Claude Code sigue pidiéndote iniciar sesión | Configúrala en un lugar que se lea antes de la configuración inicial: una exportación del shell o ~/.claude/settings.json. Un archivo de configuración a nivel de proyecto solo se aplica después del aviso de confianza. |
ANTHROPIC_API_KEY ignorado sin mostrar ningún aviso | Se rechazó anteriormente. /config → Use custom API key. |
| Advertencia de inicio que menciona dos fuentes de credenciales | Hay una clave y un inicio de sesión guardado activos al mismo tiempo. Ejecuta /logout para usar la clave o elimina la variable para usar el inicio de sesión. |
| Crédito agotado durante la sesión | Recarga saldo; consulta crédito insuficiente. |
Preguntas frecuentes
¿Claude Code necesita una clave de API?
No necesariamente. Claude Code puede autenticarse de dos formas: con un inicio de sesión mediante una suscripción de claude.ai (Pro o Max), que cubre el uso dentro de los límites de ese plan, o con una clave de API facturada por token. Necesitas una clave si no tienes suscripción, si alcanzas constantemente los límites de la suscripción o si quieres dirigir Claude Code a través de otro endpoint.
¿Dónde obtengo una clave de API para Claude Code?
Para una clave propia, inicia sesión en console.anthropic.com, añade crédito en Billing y crea una clave en API Keys; comienza por sk-ant- y se muestra una sola vez. Claude Code también acepta una clave de cualquier endpoint que sirva la API Anthropic Messages, que es como funcionan gateways como Kunavo; esa clave se crea en el panel del propio gateway.
¿Dónde introduzco la clave de API en Claude Code?
En una variable de entorno o en el bloque env de ~/.claude/settings.json. Usa ANTHROPIC_AUTH_TOKEN para una clave de token bearer y ANTHROPIC_API_KEY para una clave x-api-key; se envían en encabezados HTTP distintos y una clave en el encabezado incorrecto falla con 401. El archivo de configuración es preferible a exportarla en el shell porque también llega a editores y agentes en segundo plano.
¿Por qué se ignora mi ANTHROPIC_API_KEY?
ANTHROPIC_API_KEY requiere una aprobación única en una sesión interactiva y, si ese aviso se rechazó una vez, la clave se ignora posteriormente sin volver a mostrarlo. Vuelve a habilitarla en /config con la opción 'Use custom API key' o cambia a ANTHROPIC_AUTH_TOKEN, que surte efecto inmediatamente sin un paso de aprobación.
¿Puedo usar una clave de API más barata con Claude Code?
Sí. Claude Code lee ANTHROPIC_BASE_URL, así que cualquier endpoint que sirva la API Anthropic Messages funciona sin software adicional. Dirigirlo a Kunavo ejecuta los mismos modelos Claude por debajo del precio de lista de Anthropic, con pago por uso desde una recarga de $10, sin cuota mensual y sin saldo que caduque.
¿La clave de API de Claude Code es la misma que mi inicio de sesión de claude.ai?
No. Son sistemas separados con facturación separada: console.anthropic.com emite claves de API y claude.ai gestiona suscripciones. Un plan Pro no financia el uso de la API.
¿Puedo usar una sola clave para Claude y GPT?
En Kunavo, sí: la misma clave sk-kn- sirve para todos los modelos del catálogo. Claude Code solo habla la API Anthropic Messages, así que dentro de Claude Code usarás los modelos Claude; otras herramientas pueden usar la misma clave para el resto.
¿Cuánto cuesta conservar una clave?
Nada. Kunavo funciona con pago por uso desde una recarga de $10, sin cuota mensual y con un saldo que no caduca: pagas por los tokens, no por tener una clave.
¿Cómo obtengo una clave de API para la API de Anthropic en general?
Consulta el documento sobre claves de la API de Claude para el caso que no sea Claude Code, incluida la configuración del SDK y la gestión de claves.