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

> Roteie requisições do Claude Code CLI pela Venice com o claude-code-router: acesso pago por token aos modelos de código Claude Opus, Sonnet e Fable.

O [Claude Code](https://code.claude.com/docs) é a ferramenta CLI da Anthropic para codificação agêntica. Este guia mostra como executá-lo através da Venice para acesso anonimizado e por token (pay-per-token) aos modelos Claude.

<CardGroup cols={3}>
  <Card title="Pagamento por token" icon="coins">
    Sem assinatura. Pague apenas pelo que usar
  </Card>

  <Card title="Modelos Claude" icon="cpu">
    Acesse os modelos Opus, Sonnet e Fable atuais através da Venice
  </Card>

  <Card title="Prompt caching" icon="bolt">
    O cache da Venice funciona em conjunto com o Claude Code
  </Card>
</CardGroup>

## Por que você precisa de um router

Por padrão, o Claude Code conecta-se diretamente à API da Anthropic. Para usá-lo com a Venice, você precisa do [claude-code-router](https://github.com/musistudio/claude-code-router), um proxy local de código aberto que:

<Steps>
  <Step title="Intercepta" icon="hand-stop">
    Captura as requisições de saída do Claude Code antes que cheguem à Anthropic
  </Step>

  <Step title="Transforma" icon="refresh">
    Converte requisições Anthropic Messages para o formato de chat compatível com OpenAI da Venice
  </Step>

  <Step title="Redireciona" icon="route">
    Encaminha as requisições para `api.venice.ai/api/v1/chat/completions`
  </Step>
</Steps>

***

## Pré-requisitos

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

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

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

***

## Configuração

<Steps>
  <Step title="Instale ou atualize o Claude Code">
    Instale a versão mais recente do CLI do Claude Code:

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

  <Step title="Instale o 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="Obtenha sua chave de API">
    Gere uma chave em [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation). Você a adicionará ao CCR na próxima etapa.
  </Step>

  <Step title="Adicione a Venice como provedor">
    Inicie a interface de gerenciamento do CCR:

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

    Na página **Providers**, escolha **Add provider** e depois **Other / custom API endpoint**. Informe:

    * **Name:** `Venice`
    * **API endpoint:** `https://api.venice.ai/api/v1`
    * **API key:** sua chave de API da Venice

    O CCR deve detectar **OpenAI Chat** automaticamente. Se não detectar, abra **Advanced settings**, desative a detecção automática de protocolo e selecione **OpenAI Chat**.

    Use **Search models** ou **Custom models** para adicionar os modelos Claude que você deseja, depois execute **Check Connection** e salve o provedor. A verificação de conexão envia uma requisição real com limite de saída de um token.
  </Step>

  <Step title="Crie um perfil do Claude Code">
    Em **Agent Config**, escolha **Add profile** e depois **Claude Code**:

    * Nomeie o perfil como `Claude Code - Venice`.
    * Mantenha **Effect scope** definido como **Only opened from CCR** durante os testes.
    * Escolha **CLI only** ou **CLI & APP**.
    * Defina **Model** para um modelo da Venice, como `Venice/claude-opus-4-8`.
    * Para manter todos os níveis do Claude Code na Venice, defina os campos opcionais de modelo Fable, Opus, Sonnet e Haiku também para modelos da Venice.

    Salve o perfil.
  </Step>

  <Step title="Inicie e verifique">
    Inicie o perfil pelo nome:

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

    No Claude Code:

    1. Execute `/context` e confirme que a janela de contexto corresponde ao modelo selecionado. Para `claude-opus-4-8`, deve exibir `1M`.
    2. Execute `/model` se quiser trocar para outro modelo da Venice; as variantes 1M são marcadas com **1M context**.
    3. Envie uma mensagem de teste e depois verifique **Request logs** no CCR para confirmar que ela usou a Venice.
  </Step>
</Steps>

***

## Modelos suportados

| Modelo               | ID na 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     |

O catálogo muda com o tempo. Use **Search models** no CCR ou [`GET /models?type=text`](/api-reference/endpoint/models/list) para a lista e os limites atuais.

<Info>
  O Claude Code é otimizado para modelos Claude. Embora outros modelos disponíveis na Venice (GPT, DeepSeek, Grok, etc.) possam funcionar, não podemos garantir uma experiência equivalente, já que o Claude Code depende de recursos específicos do Claude, como extended thinking. Para outros modelos, considere usar a [API padrão](/api-reference/endpoint/chat/completions) da Venice.
</Info>

***

## Atualizando uma instalação existente

Atualize o CCR antes de solucionar problemas em uma instalação existente:

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

As versões atuais do CCR armazenam a configuração ativa em `~/.claude-code-router/config.sqlite`. Um `config.json` mais antigo é importado quando o banco de dados não existe. Após a migração, faça as alterações através do `ccr ui` em vez de continuar editando o `config.json`.

Se um processo em segundo plano continuar em execução após uma atualização, reinicie-o:

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

***

## Prompt caching

O [prompt caching](/guides/features/prompt-caching) da Venice funciona com os marcadores de cache nativos do Claude Code. Nenhum transformer de cache adicional é necessário para a configuração normal.

***

## Solução de problemas

<AccordionGroup>
  <Accordion title="O contexto atinge 100% cedo demais ou a compactação falha">
    1. Atualize o CCR com `npm install -g @musistudio/claude-code-router@latest`.
    2. Inicie uma nova sessão do Claude Code a partir do perfil do CCR.
    3. Execute `/model` e selecione a entrada da Venice marcada com **1M context**.
    4. Execute `/context` e confirme que a janela é `1M`, não `200K`.

    Versões mais antigas do CCR podem não expor a janela de contexto ou o uso de tokens corretos ao Claude Code.
  </Accordion>

  <Accordion title="O CCR trava durante a inicialização">
    Confirme que tem Node.js 22 ou mais recente e atualize o CCR:

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

    Use `ccr serve` para executar em primeiro plano e expor o erro original de inicialização. Um stack `Cannot read properties of undefined (reading 'error')` vindo de `server.logger.error` indica uma instalação desatualizada do CCR; atualize-a antes de investigar mais.
  </Accordion>

  <Accordion title="O Claude Code reporta ConnectionRefused">
    Inicie o gateway e verifique sua integridade:

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

    Uma verificação de integridade com falha significa que o gateway local do CCR está indisponível; a requisição não chegou à Venice.
  </Accordion>

  <Accordion title="As alterações de configuração são ignoradas">
    Abra o `ccr ui` e faça a alteração por lá. As versões atuais do CCR armazenam a configuração em `config.sqlite`; o `config.json` é apenas uma fonte de migração para instalações mais antigas.
  </Accordion>
</AccordionGroup>

***

## Recursos

<CardGroup cols={3}>
  <Card title="Documentação da API Venice" icon="book" href="/api-reference/api-spec">
    Referência completa da API
  </Card>

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

  <Card title="Versões do CCR" icon="history" href="https://github.com/musistudio/claude-code-router/releases">
    Versões atuais e notas de lançamento
  </Card>
</CardGroup>
