Início / Aprenda / Configuração do OpenCode para Claude: configuração de opencode.json, modelos e erros comuns
Configuração do OpenCode. Um caderno de configuração aberto ao lado de uma estrutura de terminal, unidos por um cabo bem disposto.

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.

terminal
export AIPRIME_API_KEY=your_gateway_key   # add to ~/.bashrc or ~/.zshrc
opencode auth list                         # credentials OpenCode already knows about

Opçã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.

opencode.json
{
  "$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"
}
O 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.

opencode.json
{
  "$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-5Padrão para programação e trabalho com agentes: rápido, eficiente e de preço intermediário.
claude-opus-5-5Raciocínio mais complexo, grandes refatorações e execuções longas de agentes.
claude-fable-5-1O mais capaz e mais caro; reserve-o para as tarefas mais difíceis.
claude-haiku-4-5Barato 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:

terminal
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 à APITermine baseURL por /v1
404 page not found/v1 duas vezes, de modo que o caminho se torna /v1/v1/messagesUse exatamente https://aiprimetech.io/v1
Invalid API keyA variável não foi exportada no shell a partir do qual o OpenCode foi iniciado, ou outra chave está sendo usadaecho $AIPRIME_API_KEY, opencode auth list, reinicie o OpenCode
Modelo não compatível / modelo não encontradoUm ID que o endpoint não disponibiliza, geralmente um nome antigo com dataUse um ID da tabela acima
prompt is too long: N tokens > N tokensA sessão ultrapassou o limite aceito pelo modelo/compact, e reduza limit.context
Concurrency limit exceeded for userSubagentes em paralelo excedem o limite de simultaneidade da sua chaveExecute menos subagentes ao mesmo tempo ou peça ao suporte um limite maior de simultaneidade
Insufficient account balanceO saldo está zeradoAdicionar créditos e tente novamente
No available accounts ou This request could not be completedProblema temporário de capacidade no serviço de origemEnvie 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?
Globalmente, em ~/.config/opencode/opencode.json, e por projeto, como opencode.json na raiz do repositório. O OpenCode mescla os dois.
Como usar Claude no OpenCode com uma chave de API?
Defina provider.anthropic.options.baseURL como a URL do gateway terminada em /v1 e apiKey como {env:YOUR_VAR}, ou adicione um provedor personalizado com npm @ai-sdk/anthropic e escolha o modelo com model: provider/model-id.
Por que o OpenCode falha com um erro de análise ou uma resposta que começa com '<'?
Falta /v1 na baseURL, então as solicitações chegam ao site em vez da API. @ai-sdk/anthropic espera o prefixo completo, por exemplo, https://aiprimetech.io/v1.
O OpenCode pode usar um login do Claude Pro ou Max?
A documentação do OpenCode observa que a Anthropic proíbe plugins Pro/Max de terceiros e que o OpenCode deixou de incluí-los em 1.3.0. Uma chave de API é a forma compatível de acesso.
Comece a usar o Claude em minutos

Obtenha uma chave de API — sem precisar de conta na Anthropic nem de lista de espera.

Obtenha sua chave de API

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

Mais guias da API do Claude

Como obter uma chave de API do ClaudePreços da API Claude explicadosA maneira mais barata de usar a API do ClaudeCursor ilimitado com a API do ClaudeAcesso ilimitado ao Claude CodeGateway da API do Claude vs. acesso direto à AnthropicComo usar Claude por meio de uma API compatível com OpenAIModelos Claude explicados: uma comparação entre Claude Opus, Sonnet, Haiku e Fable — todos os modelos da API Claude, nomes e preços dos modelos Anthropic (2026)Pagamento da API do Claude com criptomoedasAcesso à API do Claude sem lista de esperaComo reduzir o uso de tokens do ClaudeCline ilimitado com a API do ClaudeRoo Code ilimitado com a API do ClaudeClaude ilimitado nas IDEs da JetBrainsAider ilimitado com a API do ClaudeClaude ilimitado no VS CodeComo executar um agente Hermes ilimitado no ClaudeExecutando OpenClaw ilimitado com ClaudeO que significa uma API compatível com a AnthropicChave de API do Claude Code — ANTHROPIC_API_KEY: como obtê-la, configurá-la e quando usar claude setup-token em seu lugarCustos da API do Claude Code — Preços e como reduzi-losErros da API Claude explicados: erro de servidor 500, sobrecarga 529, limite de requisições 429, requisição inválida 400 — e a correção para cada umComo comprar créditos da API do Claude — e por que um crédito do Claude é melhor do que qualquer oferta de "comprar conta do Claude"API Claude gratuita: existe uma chave de API Claude gratuita e o que realmente é gratuito em 2026?API do Claude vs assinatura Claude Pro/Max — Qual escolherComo executar a CLI do Codex no ClaudeConectando Claude ao n8nRoteando LiteLLM para ClaudeUsando Claude no Kilo CodeIntegre Claude ao GitHub CopilotConecte o Zed ao Claude por meio do gatewayConecte o Cherry Studio ao ClaudeChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e errosSDK de Python da Anthropic: instale, defina base_url, use streaming e trate errosClaude com o Vercel AI SDK: baseURL de createAnthropic, streaming e correçõesExecute o Factory Droid com o ClaudeA API do Claude Code, explicadaComo integrar a API do Claude à sua aplicaçãoComo obter uso ilimitado do Claude — e por que não existe "Claude Code crackeado"