
Configuração do OpenCode para Claude: configuração do opencode.json, modelos e erros comuns
OpenCode lê suas configurações de opencode.json. Para executá-lo com Claude por este gateway, você altera um único valor, o campo do provedor Anthropic baseURL, e fornece uma chave. Abaixo estão duas configurações funcionais, os ajustes de modelo e contexto que importam e as correções para os erros que usuários do OpenCode encontram neste gateway, extraídos dos nossos próprios logs de solicitações.
Onde fica opencode.json
OpenCode mescla uma configuração global com uma configuração por projeto: ~/.config/opencode/opencode.json para as configurações que você deseja usar em todos os lugares, e opencode.json na raiz de um projeto para esse repositório. Adicionar a linha $schema oferece preenchimento automático e validação na maioria dos editores.
Mantenha a chave fora do arquivo. Coloque-a em uma variável de ambiente e faça referência a ela como {env:AIPRIME_API_KEY}. As chaves que você adiciona com /connect dentro do OpenCode são armazenadas em ~/.local/share/opencode/auth.json; opencode auth list mostra o que está armazenado ali.
export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc
opencode auth list # credentials OpenCode already knows aboutOpção 1: aponte o provedor Anthropic integrado para o gateway
A menor alteração: mantenha o próprio provedor Anthropic do OpenCode e sua lista de modelos e substitua o destino das solicitações.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
}
}
},
"model": "anthropic/claude-sonnet-5",
"small_model": "anthropic/claude-haiku-4-5"
}baseURL deve terminar em /v1. O provedor Anthropic do OpenCode é o componente do AI SDK @ai-sdk/anthropic, cujo padrão é https://api.anthropic.com/v1; ele acrescenta /messages ao que você fornecer. Sem /v1 a solicitação chega ao site e retorna HTML, que o OpenCode apresenta como um erro de análise.Opção 2: um provedor personalizado com sua própria lista de modelos
Uma entrada de provedor separada mantém o gateway independente de qualquer login da Anthropic, permite listar exatamente os modelos que você quer no seletor e definir limites de contexto por modelo.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aiprime": {
"npm": "@ai-sdk/anthropic",
"name": "AI Prime Tech",
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
},
"models": {
"claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } },
"claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } },
"claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } }
}
}
},
"model": "aiprime/claude-sonnet-5",
"small_model": "aiprime/claude-haiku-4-5"
}Prefira @ai-sdk/anthropic para Claude: usa a API Messages nativa, de modo que o cache de prompts e o raciocínio funcionam como a Anthropic os projetou. O gateway também oferece o formato da OpenAI, então @ai-sdk/openai-compatible com a mesma https://aiprimetech.io/v1 URL base também funciona, e esse é o caminho a usar para modelos GPT com a mesma chave.
Modelos e limites de contexto
| ID do modelo | Use para |
|---|---|
claude-sonnet-5 | Padrão para programação e trabalho com agentes: rápido, eficiente e de preço intermediário. |
claude-opus-5-5 | Raciocínio mais complexo, grandes refatorações e execuções longas de agentes. |
claude-fable-5-1 | O mais capaz e mais caro; reserve-o para as tarefas mais difíceis. |
claude-haiku-4-5 | Barato e rápido: títulos, resumos, classificação e pequenas etapas. |
model é o que o agente principal usa; small_model cuida de tarefas auxiliares de baixo custo, como títulos de sessões. O limit.context número informa ao OpenCode quando compactar a sessão. Se uma sessão longa falhar com prompt is too long, reduza esse valor (200000 é um valor seguro) para que o OpenCode resuma mais cedo, em vez de enviar mais do que o endpoint aceita.
Os IDs dos modelos são strings exatas. Nomes antigos como claude-3-5-sonnet-20241022 ou versões com data não são disponibilizados; use os IDs acima ou a lista no seu painel.
Verifique a chave e a URL antes de iniciar o OpenCode
Uma solicitação pelo terminal informa se a chave e a URL estão corretas, independentemente da configuração do OpenCode:
curl -s https://aiprimetech.io/v1/messages \
-H "x-api-key: $AIPRIME_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}'Uma resposta JSON com um content array significa que está tudo certo do lado do gateway e que qualquer problema restante está em opencode.json. Invalid API key significa que a variável está vazia ou contém a chave errada.
Solução de problemas: erros encontrados por usuários do OpenCode
Estes são os erros mais frequentes ao usar o OpenCode neste gateway, com a solução para cada um.
| O que você vê | Causa | Correção |
|---|---|---|
Um erro de análise de JSON, com a resposta começando por < | baseURL sem /v1: a solicitação chegou ao site, não à API | Termine baseURL por /v1 |
404 page not found | /v1 duas vezes, de modo que o caminho se torna /v1/v1/messages | Use exatamente https://aiprimetech.io/v1 |
Invalid API key | A variável não foi exportada no shell a partir do qual o OpenCode foi iniciado, ou outra chave está sendo usada | echo $AIPRIME_API_KEY, opencode auth list, reinicie o OpenCode |
| Modelo não compatível / modelo não encontrado | Um ID que o endpoint não disponibiliza, geralmente um nome antigo com data | Use um ID da tabela acima |
prompt is too long: N tokens > N tokens | A sessão ultrapassou o limite aceito pelo modelo | /compact, e reduza limit.context |
Concurrency limit exceeded for user | Subagentes em paralelo excedem o limite de simultaneidade da sua chave | Execute menos subagentes ao mesmo tempo ou peça ao suporte um limite maior de simultaneidade |
Insufficient account balance | O saldo está zerado | Adicionar créditos e tente novamente |
No available accounts ou This request could not be completed | Problema temporário de capacidade no serviço de origem | Envie a mensagem novamente; troque de modelo se o problema persistir |
Para erros que vêm do lado do modelo, e não do cliente, consulte guia de erros da API do Claude.
Perguntas frequentes
Onde fica o arquivo de configuração do OpenCode?
Como usar Claude no OpenCode com uma chave de API?
Por que o OpenCode falha com um erro de análise ou uma resposta que começa com '<'?
O OpenCode pode usar um login do Claude Pro ou Max?
Obtenha uma chave de API — sem precisar de conta na Anthropic nem de lista de espera.
Obtenha sua chave de APIAI Prime Tech é um gateway de API independente. Não tem afiliação com a Anthropic, não é endossado por ela e não é seu revendedor. Claude e os nomes dos modelos relacionados são marcas comerciais de seus respectivos proprietários.