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

# Claude Code

> Usa Claude Code CLI con los modelos Claude de Venice AI

[Claude Code](https://docs.anthropic.com/en/docs/claude-code) es la herramienta CLI de Anthropic para programación con agentes. Esta guía te muestra cómo ejecutarlo a través de Venice AI para obtener acceso por uso a Claude Opus 4.5/4.6 y Sonnet 4.5/4.6.

<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="microchip">
    Accede a Opus 4.5/4.6 y Sonnet 4.5/4.6 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">
    Captura las solicitudes salientes de Claude Code antes de que lleguen a Anthropic
  </Step>

  <Step title="Transforma" icon="arrows-rotate">
    Convierte el formato de la solicitud y mapea los IDs de modelo (p. ej., `claude-opus-4-5`)
  </Step>

  <Step title="Redirige" icon="route">
    Reenvía las solicitudes a Venice en `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">
    Con créditos de API
  </Card>

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

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

***

## Configuración

<Steps>
  <Step title="Instala Claude Code">
    Si no lo has hecho aún, instala la CLI Claude Code de Anthropic:

    ```bash theme={"dark"}
    npm install -g @anthropic-ai/claude-code
    ```
  </Step>

  <Step title="Instala el router">
    ```bash theme={"dark"}
    npm install -g @musistudio/claude-code-router
    ```
  </Step>

  <Step title="Obtén tu API key">
    Genera una clave en [venice.ai/settings/api](https://venice.ai/settings/api). La pegarás directamente en el archivo de configuración en el siguiente paso.
  </Step>

  <Step title="Crea la configuración">
    Crea el directorio de configuración:

    ```bash theme={"dark"}
    mkdir -p ~/.claude-code-router
    ```

    Luego crea `~/.claude-code-router/config.json` con tu editor preferido:

    ```bash theme={"dark"}
    # Con nano
    nano ~/.claude-code-router/config.json

    # O con VS Code
    code ~/.claude-code-router/config.json
    ```

    Pega la siguiente configuración:

    ```json theme={"dark"}
    {
      "APIKEY": "",
      "LOG": true,
      "LOG_LEVEL": "info",
      "API_TIMEOUT_MS": 600000,
      "HOST": "127.0.0.1",
      "Providers": [
        {
          "name": "venice",
          "api_base_url": "https://api.venice.ai/api/v1/chat/completions",
          "api_key": "your-venice-api-key-here",
          "models": [
            "claude-opus-4-5",
            "claude-sonnet-4-5",
            "claude-opus-4-6",
            "claude-opus-4-6-fast",
            "claude-sonnet-4-6"
          ],
          "transformer": {
            "use": ["anthropic"]
          }
        }
      ],
      "Router": {
        "default": "venice,claude-opus-4-5",
        "think": "venice,claude-opus-4-5",
        "background": "venice,claude-opus-4-5",
        "longContext": "venice,claude-opus-4-5",
        "longContextThreshold": 100000
      }
    }
    ```

    <Note>
      Si modificas `config.json` mientras el router está en ejecución, reinícialo con `ccr restart` para aplicar los cambios.
    </Note>
  </Step>

  <Step title="Inicia">
    Inicia el router y luego Claude Code:

    ```bash theme={"dark"}
    ccr start
    ccr code
    ```

    O usa el método de activación:

    ```bash theme={"dark"}
    eval "$(ccr activate)" && claude
    ```
  </Step>
</Steps>

***

## Modelos admitidos

| Modelo               | ID en Venice           | Mejor para                                       |
| -------------------- | ---------------------- | ------------------------------------------------ |
| Claude Opus 4.5      | `claude-opus-4-5`      | Razonamiento complejo, refactorizaciones grandes |
| Claude Sonnet 4.5    | `claude-sonnet-4-5`    | Iteración rápida, programación diaria            |
| Claude Opus 4.6      | `claude-opus-4-6`      | Razonamiento complejo, refactorizaciones grandes |
| Claude Opus 4.6 Fast | `claude-opus-4-6-fast` | Razonamiento complejo con menor latencia         |
| Claude Sonnet 4.6    | `claude-sonnet-4-6`    | Iteración rápida, programación diaria            |

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

***

## Funciones del router

El router ofrece varias funciones útiles más allá del enrutamiento básico:

<AccordionGroup>
  <Accordion title="Cambia de modelo sobre la marcha">
    Usa el comando `/model` dentro de Claude Code para cambiar de modelo sin reiniciar:

    ```
    /model venice,claude-sonnet-4-5
    ```

    Útil cuando quieres Opus para tareas complejas y Sonnet para iteraciones rápidas.
  </Accordion>

  <Accordion title="Configuración visual con modo UI">
    ¿Prefieres una interfaz gráfica? Lanza el editor de configuración basado en web:

    ```bash theme={"dark"}
    ccr ui
    ```

    Esto abre una interfaz de navegador para editar tu `config.json` sin tocar el archivo directamente.
  </Accordion>

  <Accordion title="Escenarios del router explicados">
    La sección `Router` de la configuración controla qué modelo gestiona los distintos tipos de tarea:

    | Escenario     | Cuándo se usa                                           |
    | ------------- | ------------------------------------------------------- |
    | `default`     | Solicitudes generales                                   |
    | `think`       | Tareas con mucho razonamiento (Plan Mode)               |
    | `background`  | Operaciones en segundo plano                            |
    | `longContext` | Cuando el contexto supera `longContextThreshold` tokens |

    Puedes enrutar distintos escenarios a distintos modelos. Por ejemplo, usa Sonnet para tareas en segundo plano para ahorrar costes.
  </Accordion>

  <Accordion title="Depuración con logs">
    Si algo no funciona, revisa los logs:

    ```bash theme={"dark"}
    # Logs del servidor (HTTP, llamadas a la API)
    ~/.claude-code-router/logs/ccr-*.log

    # Logs de la aplicación (decisiones de enrutamiento)
    ~/.claude-code-router/claude-code-router.log
    ```

    Establece `"LOG_LEVEL": "debug"` en tu configuración para una salida más detallada.
  </Accordion>
</AccordionGroup>

***

## Comportamiento del caching

El [prompt caching](/guides/features/prompt-caching) de Venice funciona junto a los marcadores de caché nativos de Claude Code. Venice detecta automáticamente cuándo Claude Code envía campos `cache_control` y ajusta su estrategia de caché en consecuencia.

| Escenario                       | Cache TTL | Quién controla       |
| ------------------------------- | --------- | -------------------- |
| Predeterminado (recomendado)    | 5 minutos | Claude Code + Venice |
| Con el transformer `cleancache` | 1 hora    | Solo Venice          |

<AccordionGroup>
  <Accordion title="Cuándo NO usar cleancache (la mayoría de usuarios)">
    La configuración predeterminada permite que ambos sistemas cooperen:

    * Claude Code envía sus marcadores nativos `cache_control`
    * Venice añade caching alrededor con un TTL de 5 minutos
    * Ambos sistemas comparten el límite de caché de 4 bloques

    Funciona bien para sesiones de programación activas en las que haces solicitudes frecuentes.
  </Accordion>

  <Accordion title="Cuándo usar cleancache">
    Añade `cleancache` al transformer si:

    * Estás llegando a errores del límite de caché de 4 bloques
    * Experimentas comportamiento de caché extraño
    * Prefieres el TTL de 1 hora de Venice para sesiones más largas

    ```json theme={"dark"}
    "transformer": {
      "use": ["anthropic", "cleancache"]
    }
    ```

    Esto elimina los marcadores de caché de Claude Code, dando a Venice control total con un TTL más largo.
  </Accordion>
</AccordionGroup>

***

## Recursos

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

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