Documentación
Claude Code
Claude Code trata cualquier endpoint en formato Anthropic como una pasarela. Dos variables lo dirigen a Kunavo, otras tres fijan los modelos que ofrece Kunavo, la instalación no se modifica y cada sesión se factura por token con cargo a tu saldo en lugar de a una suscripción.
Dos variables de entorno — ANTHROPIC_BASE_URL y ANTHROPIC_AUTH_TOKEN — trasladan Claude Code a un modelo de pago por uso sin cambiar la instalación.
# One terminal session
export ANTHROPIC_BASE_URL=https://api.kunavo.com # origin, no /v1
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
# Pin models Kunavo serves. Claude Code's default and its opus/sonnet aliases
# follow Anthropic's newest models; the sonnet alias asks for Sonnet 5.5,
# which Kunavo does not serve — unpinned, /model sonnet 404s.
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-5
claudeANTHROPIC_BASE_URL es el origen. Claude Code añade /v1/messages por su cuenta; el fragmento de verificación oficial de Anthropic es curl "$ANTHROPIC_BASE_URL/v1/messages". Por eso, un valor que termine en /v1 genera solicitudes a /v1/v1/messages y devuelve 404. Este es el fallo de configuración más habitual; la página de ANTHROPIC_BASE_URL cubre los demás.sonnet solicita Sonnet 5.5, que Kunavo no ofrece, por lo que /model sonnet devuelve 404 a menos que también se fije. ANTHROPIC_MODEL establece el modelo de la sesión; ANTHROPIC_DEFAULT_OPUS_MODEL cubre /model opus (Opus 5.5 requiere Claude Code v2.1.280 o posterior), ANTHROPIC_DEFAULT_SONNET_MODEL cubre /model sonnet, y ANTHROPIC_DEFAULT_HAIKU_MODEL las llamadas en segundo plano. Funciona cualquier ID de GET /v1/models.ANTHROPIC_AUTH_TOKEN, no ANTHROPIC_API_KEY. Las dos variables eligen una cabecera: AUTH_TOKEN envía Authorization: Bearer, y API_KEY envía x-api-key. Kunavo acepta ambas, pero API_KEY requiere una solicitud de aprobación única en una sesión interactiva antes de surtir efecto; AUTH_TOKEN no.sk-kn-) y añade crédito desde $10; las llamadas se pagan con ese saldo y las llamadas fallidas no se facturan. El panel se abre entonces en la configuración de Claude Code.Paso a paso
- Cree una clave en
/app/keysy cópiela: se muestra una sola vez. - Exporta las variables anteriores para la sesión o persístelas en el bloque
envde~/.claude/settings.json:{"env":{"ANTHROPIC_BASE_URL":"https://api.kunavo.com","ANTHROPIC_AUTH_TOKEN":"sk-kn-...","ANTHROPIC_MODEL":"claude-sonnet-5","ANTHROPIC_DEFAULT_OPUS_MODEL":"claude-opus-5-5","ANTHROPIC_DEFAULT_SONNET_MODEL":"claude-sonnet-5","ANTHROPIC_DEFAULT_HAIKU_MODEL":"claude-haiku-4-5"}}. La documentación de Anthropic indica explícitamente que la credencial no debe incluirse en el archivo.claude/settings.jsonde un proyecto, ya que ese archivo se confirma en el repositorio. - Ejecuta
claudey abre la pestaña Status. Una línea que nombreAuth tokenconfirma que la credencial de la pasarela está activa; si una líneaLogin methodnombra una cuenta de claude.ai, significa que no se recogió la variable. - Para la extensión de VS Code, las variables deben ir en
claudeCode.environmentVariablesen la configuración de usuario de VS Code; la extensión comprueba las credenciales antes de iniciarse, así que~/.claude/settings.jsonllega al proceso iniciado, pero no a esa comprobación.
Comprobado con «Conectar Claude Code a una pasarela de LLM» de Anthropic el 3 de octubre de 2026. La configuración de terceros puede cambiar; si el nombre de un campo ya no coincide con lo que ves, esa página es la autoridad, no esta.
Verifica antes de depurar el cliente
Una solicitud determina si el fallo está en el endpoint, la clave o el archivo de configuración. Si devuelve JSON, la misma URL base y la misma clave funcionan en Claude Code.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/messages \
-H "Authorization: Bearer sk-kn-..." \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'Qué ID de modelo introducir en el campo
Todos los modelos de texto están disponibles mediante un ID de modelo; la lista activa está en GET /v1/models, y el catálogo con precios está en la página de modelos. Las tarifas son USD por 1M de tokens, entrada / salida.
| ID de modelo | Entrada / salida de Kunavo | Dónde encaja en Claude Code |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | el modelo de trabajo predeterminado, que se define con /model o ANTHROPIC_ |
claude-opus-5-5 | $2.80 / $14.00 | planificación y ediciones a nivel de arquitectura |
claude-haiku-4-5 | $0.70 / $3.50 | el nivel pequeño y rápido que Claude Code usa para el trabajo en segundo plano |
claude-fable-5 | $7.00 / $35.00 | el nivel de vanguardia, para los planes que justifican su tarifa |
Preguntas frecuentes
¿Cómo uso Claude Code sin una suscripción a Claude?
Define ANTHROPIC_BASE_URL con un endpoint en formato Anthropic y ANTHROPIC_AUTH_TOKEN con la clave de ese endpoint; fija ANTHROPIC_MODEL en un modelo que ofrezca el endpoint, ya que quizá el valor predeterminado integrado de Claude Code no esté disponible. Claude Code se autentica entonces con el endpoint en lugar de con claude.ai, y quien posea esa credencial factura el uso por token, en vez de cargarlo a un plan de suscripción. Anthropic documenta esto como modo de pasarela; el inicio de sesión guardado en claude.ai permanece en el disco, sin usarse, y vuelve a utilizarse en cuanto se desactivan las variables.
¿ANTHROPIC_BASE_URL debe incluir /v1?
No. Claude Code añade la ruta por su cuenta, así que la variable debe contener el origen: https://api.kunavo.com, no https://api.kunavo.com/v1. El comando de verificación oficial de Anthropic es curl "$ANTHROPIC_BASE_URL/v1/messages", que muestra directamente la concatenación. Si la URL base ya termina en /v1, las solicitudes se envían a /v1/v1/messages y devuelven 404.
¿Cuál es la diferencia entre ANTHROPIC_AUTH_TOKEN y ANTHROPIC_API_KEY?
Se incluyen las credenciales en cabeceras HTTP distintas: ANTHROPIC_AUTH_TOKEN envía Authorization: Bearer, mientras que ANTHROPIC_API_KEY envía x-api-key. Una clave en la variable equivocada llega al endpoint en una cabecera que este no lee, y la solicitud falla con 401. Si la documentación de una pasarela dice «token bearer», usa ANTHROPIC_AUTH_TOKEN; si dice «clave de API» o «x-api-key», usa ANTHROPIC_API_KEY.
¿Qué funciones de Claude Code dejan de funcionar con una URL base personalizada?
Remote Control y el dictado por voz necesitan una identidad de claude.ai y no están disponibles mientras haya una credencial de pasarela definida; además, Remote Control se desactiva siempre que ANTHROPIC_BASE_URL apunte a un host que no sea de Anthropic. La comprobación de disponibilidad del modo rápido también se conecta directamente a api.anthropic.com en lugar de seguir la URL base. Todo lo que forma parte del bucle principal —el agente, las herramientas, los subagentes y los servidores MCP— funciona con la API de Messages y no se ve afectado.