> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-de47a659.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude Code

> Enruta las solicitudes de Claude Code CLI por Venice con claude-code-router para acceso de pago por token a los modelos Claude Opus, Sonnet y Fable.

[Claude Code](https://code.claude.com/docs) es la herramienta CLI de Anthropic para programación con agentes. Esta guía te muestra cómo ejecutarlo a través de Venice para obtener acceso anonimizado y de pago por token a los modelos Claude.

<CardGroup cols={3}>
  <Card title="Pago por token" icon="coins">
    Sin suscripción. Paga solo por lo que uses
  </Card>

  <Card title="Modelos Claude" icon="cpu">
    Accede a los modelos actuales Opus, Sonnet y Fable a través de Venice
  </Card>

  <Card title="Prompt caching" icon="bolt">
    El caching de Venice funciona junto a Claude Code
  </Card>
</CardGroup>

## Por qué necesitas un router

Claude Code se conecta directamente a la API de Anthropic por defecto. Para usarlo con Venice necesitas [claude-code-router](https://github.com/musistudio/claude-code-router), un proxy local de código abierto que:

<Steps>
  <Step title="Intercepta" icon="hand-stop">
    Captura las solicitudes salientes de Claude Code antes de que lleguen a Anthropic
  </Step>

  <Step title="Transforma" icon="refresh">
    Convierte las solicitudes de Anthropic Messages al formato de chat compatible con OpenAI de Venice
  </Step>

  <Step title="Redirige" icon="route">
    Reenvía las solicitudes a `api.venice.ai/api/v1/chat/completions`
  </Step>
</Steps>

***

## Requisitos previos

<CardGroup cols={3}>
  <Card title="Cuenta de Venice" icon="user" href="https://venice.ai/settings/api?utm_source=venice-api-documentation">
    Con créditos de Venice
  </Card>

  <Card title="Node.js" icon="brand-nodejs" href="https://nodejs.org/">
    v22 o superior
  </Card>

  <Card title="Claude Code" icon="terminal" href="https://code.claude.com/docs">
    Instalado mediante npm
  </Card>
</CardGroup>

***

## Configuración

<Steps>
  <Step title="Instala o actualiza Claude Code">
    Instala la última versión de la CLI de Claude Code:

    ```bash theme={null}
    npm install -g @anthropic-ai/claude-code@latest
    claude --version
    ```
  </Step>

  <Step title="Instala Claude Code Router">
    ```bash theme={null}
    npm install -g @musistudio/claude-code-router@latest
    npm list -g @musistudio/claude-code-router --depth=0
    ```
  </Step>

  <Step title="Obtén tu API key">
    Genera una clave en [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation). La añadirás a CCR en el siguiente paso.
  </Step>

  <Step title="Añade Venice como proveedor">
    Inicia la interfaz de administración de CCR:

    ```bash theme={null}
    ccr ui
    ```

    En la página **Providers**, elige **Add provider** y luego **Other / custom API endpoint**. Introduce:

    * **Nombre:** `Venice`
    * **Endpoint de la API:** `https://api.venice.ai/api/v1`
    * **API key:** tu API key de Venice

    CCR debería detectar **OpenAI Chat** automáticamente. Si no lo hace, abre **Advanced settings**, desactiva la detección automática de protocolo y selecciona **OpenAI Chat**.

    Usa **Search models** o **Custom models** para añadir los modelos Claude que quieras, luego ejecuta **Check Connection** y guarda el proveedor. La comprobación de conexión envía una solicitud real con un límite de salida de un token.
  </Step>

  <Step title="Crea un perfil de Claude Code">
    En **Agent Config**, elige **Add profile** y luego **Claude Code**:

    * Nombra el perfil `Claude Code - Venice`.
    * Mantén **Effect scope** en **Only opened from CCR** mientras haces pruebas.
    * Elige **CLI only** o **CLI & APP**.
    * Establece **Model** en un modelo de Venice como `Venice/claude-opus-4-8`.
    * Para mantener todos los niveles de Claude Code en Venice, configura también los campos opcionales de modelo Fable, Opus, Sonnet y Haiku con modelos de Venice.

    Guarda el perfil.
  </Step>

  <Step title="Inicia y verifica">
    Inicia el perfil por su nombre:

    ```bash theme={null}
    ccr "Claude Code - Venice"
    ```

    En Claude Code:

    1. Ejecuta `/context` y confirma que la ventana de contexto coincide con el modelo seleccionado. Para `claude-opus-4-8`, debería mostrar `1M`.
    2. Ejecuta `/model` si quieres cambiar a otro modelo de Venice; las variantes de 1M están marcadas como **1M context**.
    3. Envía un mensaje de prueba y luego revisa **Request logs** en CCR para confirmar que se usó Venice.
  </Step>
</Steps>

***

## Modelos admitidos

| Modelo               | ID en Venice           | Contexto |
| -------------------- | ---------------------- | -------- |
| Claude Fable 5.1     | `claude-fable-5-1`     | 1M       |
| Claude Fable 5       | `claude-fable-5`       | 1M       |
| Claude Opus 5        | `claude-opus-5`        | 1M       |
| Claude Opus 5 Fast   | `claude-opus-5-fast`   | 1M       |
| Claude Opus 4.8      | `claude-opus-4-8`      | 1M       |
| Claude Opus 4.8 Fast | `claude-opus-4-8-fast` | 1M       |
| Claude Opus 4.7      | `claude-opus-4-7`      | 1M       |
| Claude Opus 4.6      | `claude-opus-4-6`      | 1M       |
| Claude Opus 4.5      | `claude-opus-4-5`      | 198K     |
| Claude Sonnet 5      | `claude-sonnet-5`      | 1M       |
| Claude Sonnet 4.6    | `claude-sonnet-4-6`    | 1M       |
| Claude Sonnet 4.5    | `claude-sonnet-4-5`    | 198K     |

El catálogo cambia con el tiempo. Usa **Search models** en CCR o [`GET /models?type=text`](/api-reference/endpoint/models/list) para ver la lista y los límites actuales.

<Info>
  Claude Code está optimizado para los modelos Claude. Aunque otros modelos disponibles en Venice (GPT, DeepSeek, Grok, etc.) pueden funcionar, no podemos garantizar una experiencia equivalente, ya que Claude Code depende de funciones específicas de Claude como extended thinking. Para otros modelos, considera usar la [API estándar de Venice](/api-reference/endpoint/chat/completions).
</Info>

***

## Actualizar una instalación existente

Actualiza CCR antes de solucionar problemas en una instalación existente:

```bash theme={null}
npm install -g @musistudio/claude-code-router@latest
npm list -g @musistudio/claude-code-router --depth=0
ccr ui
```

Las versiones actuales de CCR almacenan la configuración activa en `~/.claude-code-router/config.sqlite`. Un `config.json` antiguo se importa cuando la base de datos no existe. Tras la migración, realiza los cambios a través de `ccr ui` en lugar de seguir editando `config.json`.

Si un proceso en segundo plano sigue en ejecución después de una actualización, reinícialo:

```bash theme={null}
ccr stop
ccr start
```

***

## Prompt caching

El [prompt caching](/guides/features/prompt-caching) de Venice funciona con los marcadores de caché nativos de Claude Code. No se requiere ningún transformer de caché adicional para la configuración normal.

***

## Solución de problemas

<AccordionGroup>
  <Accordion title="El contexto llega al 100% demasiado pronto o falla la compactación">
    1. Actualiza CCR con `npm install -g @musistudio/claude-code-router@latest`.
    2. Inicia una nueva sesión de Claude Code desde el perfil de CCR.
    3. Ejecuta `/model` y selecciona la entrada de Venice marcada como **1M context**.
    4. Ejecuta `/context` y confirma que la ventana es `1M`, no `200K`.

    Las versiones antiguas de CCR pueden no exponer correctamente la ventana de contexto o el uso de tokens a Claude Code.
  </Accordion>

  <Accordion title="CCR se bloquea durante el arranque">
    Confirma que tienes Node.js 22 o superior y actualiza CCR:

    ```bash theme={null}
    node --version
    npm list -g @musistudio/claude-code-router --depth=0
    ```

    Usa `ccr serve` para ejecutarlo en primer plano y ver el error de arranque original. Un stack trace `Cannot read properties of undefined (reading 'error')` procedente de `server.logger.error` indica una instalación de CCR desactualizada; actualízala antes de seguir investigando.
  </Accordion>

  <Accordion title="Claude Code reporta ConnectionRefused">
    Inicia el gateway y verifica su estado:

    ```bash theme={null}
    ccr start
    curl http://127.0.0.1:3456/health
    ```

    Una comprobación de estado fallida significa que el gateway local de CCR no está disponible; la solicitud no ha llegado a Venice.
  </Accordion>

  <Accordion title="Los cambios de configuración se ignoran">
    Abre `ccr ui` y realiza el cambio allí. Las versiones actuales de CCR almacenan la configuración en `config.sqlite`; `config.json` es solo una fuente de migración para instalaciones antiguas.
  </Accordion>
</AccordionGroup>

***

## Recursos

<CardGroup cols={3}>
  <Card title="Venice API Docs" icon="book" href="/api-reference/api-spec">
    Referencia completa de la API
  </Card>

  <Card title="claude-code-router" icon="brand-github" href="https://github.com/musistudio/claude-code-router">
    Código fuente e issues
  </Card>

  <Card title="Versiones de CCR" icon="history" href="https://github.com/musistudio/claude-code-router/releases">
    Versiones actuales y notas de lanzamiento
  </Card>
</CardGroup>
