Documentación

Documentación

Claude Code Router

CCR se sitúa entre Claude Code y el servicio que ofrece los modelos, de modo que puede enviar distintas clases de solicitudes a diferentes destinos. Añade Kunavo como endpoint personalizado y, después, configura en Agent Config la correspondencia de cada nivel de Claude con un identificador de modelo.

CCR ahora es una aplicación de escritorio, no un config.json: añade Kunavo como endpoint de API personalizado y deja que sus reglas de enrutamiento envíen cada clase de solicitud a un modelo diferente.

CCR Desktop
Providers → Add provider
  Preset provider   Other / custom API endpoint
  Name              Kunavo
  API endpoint      https://api.kunavo.com
  API key           sk-kn-...
  Models            claude-sonnet-5, claude-opus-5, claude-haiku-4-5

Agent Config → Add profile → Claude Code
  Model         Kunavo/claude-sonnet-5
  Opus model    Kunavo/claude-opus-5
  Haiku model   Kunavo/claude-haiku-4-5
Editar manualmente config.json ya no tiene ningún efecto. CCR conserva su configuración en tiempo de ejecución en ~/.claude-code-router/config.sqlite y lee un archivo config.json heredado una sola vez como origen para la migración, cuando no existe una configuración SQLite. Tras esa primera ejecución, los cambios en el archivo JSON se ignoran silenciosamente. La mayoría de las guías en internet —y las versiones anteriores de nuestra propia guía— todavía describen el archivo JSON.
El endpoint de API aquí es el origen sin ruta, https://api.kunavo.com: CCR comprueba qué protocolo admite mediante solicitudes a esa URL, y Kunavo responde de forma nativa con Anthropic Messages en /v1/messages. Si prefieres que CCR use el formato compatible con OpenAI, indícale https://api.kunavo.com/v1; ambas interfaces están disponibles con la misma clave.
¿Aún no tienes una clave? Crea una cuenta de Kunavo, genera una clave (empieza por 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 Router.

Paso a paso

  1. Cree una clave en /app/keys y cópiela: se muestra una sola vez.
  2. En CCR Desktop, abre Proveedores → Añadir proveedor, elige el ajuste preestablecido Other / custom API endpoint y rellena los campos Nombre, Endpoint de API y Clave de API.
  3. Añade identificadores de modelos en Modelos: usa Buscar modelos para cargar el catálogo o Modelos personalizados para escribir los identificadores.
  4. Ejecuta Comprobar conexión con dos o tres modelos. Envía solicitudes reales, así que selecciona solo los modelos que necesites verificar en lugar de toda la lista.
  5. Abre Agent Config → Añadir perfil → Claude Code, define Modelo y las anulaciones por nivel Opus / Sonnet / Haiku, guarda y ejecuta Claude Code desde CCR.

Comprobado con la página de configuración de proveedores de CCR el 6 de septiembre 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.

Esta es la versión breve. El tutorial completo —elección del modelo, coste de una sesión real y modos de fallo— está en la guía de Claude Code Router.

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 Router.

# 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 modeloEntrada / salida de KunavoDónde encaja en Claude Code Router
claude-opus-5$3.50 / $17.50el nivel Opus: planificación y ediciones complejas
claude-sonnet-5$1.40 / $7.00el nivel Sonnet y el modelo predeterminado del perfil
claude-haiku-4-5$0.70 / $3.50el nivel Haiku, que recibe el volumen de los subagentes
gpt-5-6-terra$0.70 / $4.20una ruta de contexto largo, accesible mediante la misma entrada de proveedor
La facturación es por token desde un saldo prepago, sin cuota mensual; consulta facturación. Con contexto repetido —que constituye la mayor parte de lo que envía un editor o cliente de chat—, la caché de indicaciones cambia más la factura que la elección del modelo.

Por qué la asignación por nivel es clave

Claude Code elige un modelo por nivel, no por solicitud: el bucle principal pide el nivel Sonnet u Opus, y el trabajo en segundo plano —subagentes, búsquedas y resúmenes— pide el nivel pequeño y rápido. Agent Config de CCR muestra esos niveles como campos separados, de modo que el modelo costoso solo atiende las solicitudes que lo necesitan, mientras que el nivel de gran volumen se asigna a un identificador económico. Esa división es la razón principal para poner un enrutador delante de Claude Code, y no se ve en la configuración propia de Claude Code.

Preguntas frecuentes

¿Dónde almacena Claude Code Router su configuración?

En una base de datos SQLite: ~/.claude-code-router/config.sqlite en macOS y Linux, y %APPDATA%\claude-code-router\config.sqlite en Windows. Un archivo config.json heredado solo se lee una vez como origen para la migración, cuando todavía no existe una configuración SQLite; después de esa migración, editar config.json no afecta a la configuración en ejecución. Cambia los ajustes desde la interfaz de escritorio.

¿Cómo añado un endpoint de API personalizado a Claude Code Router?

Abre Proveedores, haz clic en Añadir proveedor y selecciona el ajuste preestablecido «Otro / endpoint de API personalizado», que acepta cualquier servicio ascendente compatible con OpenAI, Anthropic o Gemini. Escribe un Nombre único, la URL base del endpoint de API y la Clave de API; después, añade los identificadores de modelos cargándolos o escribiéndolos en Modelos personalizados. Comprobar conexión envía solicitudes reales de prueba para confirmar que el endpoint, la clave, el protocolo y los identificadores funcionan conjuntamente.

¿Puede Claude Code Router enviar distintos niveles de Claude a distintos modelos?

Sí, y esa es la principal razón para usarlo. En Agent Config, un perfil de Claude Code tiene un Modelo predeterminado y anulaciones opcionales para Fable, Opus, Sonnet y Haiku. Claude Code solicita un nivel, no un identificador concreto, así que asignar un modelo económico al nivel Haiku y uno potente al nivel Opus distribuye el gasto según el comportamiento habitual del agente: el trabajo en segundo plano de gran volumen usa el identificador económico y la planificación, el costoso.

¿Claude Code Router funciona con una pasarela en formato Anthropic?

Sí. El ajuste preestablecido para endpoints personalizados comprueba qué protocolo admite la URL que indiques y es compatible con Anthropic Messages, así que puedes añadir directamente una pasarela que exponga /v1/messages, usando su origen como endpoint de API. Una pasarela que también exponga una interfaz compatible con OpenAI puede añadirse de cualquiera de las dos formas; la única diferencia es el formato de transferencia que CCR usa para comunicarse con ella.