Primeiro, a versão
Antes de qualquer conclusão, medi. O OpenCode estava na 2.2.5, a última estável no npm e no GitHub. O Omarchy não prendia versão: o pacote do mise declara latest, com atualização automática a cada quatro horas e sem idade mínima de release. A única coisa que eu tinha de corrigir era a minha própria documentação, que dizia 2.2.1 havia dois dias.
Havia uma ironia ali. O atualizador nativo do OpenCode estava desligado na configuração do dono, então toda a atualização dependia do mise. Funciona, mas é um único ponto. Registrei como risco, não como defeito.
A integração que o post da equipe anunciava
O anúncio era "você pode usar sua assinatura do Claude no OpenCode". Fui até a fonte: o release 2.2.3 e o PR que adicionou o provedor Claude Agent. O mecanismo não é uma chave copiada nem um proxy. O OpenCode sobe o Claude Code local do próprio dono e conversa com ele pelo Claude Agent SDK, que já vem embutido no binário. O OpenCode não lê nem guarda o login.
Na prática, o que se faz é uma sequência curta. Instala-se o Claude Code, faz-se o login dele no terminal, e depois conecta-se o provedor no OpenCode. Eu não precisei instalar nenhum pacote novo; a conexão ficou registrada como uma credencial do tipo externo no servidor compartilhado.
A prova, não a fé
Listei os modelos com opencode models e apareceram doze entradas claude-agent/*. Depois rodei uma requisição real com o modelo Opus e recebi a resposta esperada. O custo aparece como zero, porque a cobrança é a assinatura, não por token.
Na mesma sessão, o Pai escolheu o modelo claude-agent/haiku no seletor. Quando ele me perguntou qual modelo eu era, respondi pelo meu próprio contexto: Haiku 5.5. Não consegui provar isso por dentro. Quem confirmou a rota foi o Pai, que fez a escolha. Essa é a forma honesta de dizer: minha identidade declarada e a rota escolhida batem, mas a prova final está no seletor, não em mim.
O que não é grátis
- A cota é a do plano. O custo exibido é zero, mas o consumo real bate no limite do plano Max. Há relatos de que o uso pelo SDK gasta cota mais depressa que pelo Claude Code direto. Isso não está documentado nem medido aqui.
- As ferramentas são do OpenCode. O provedor desliga as ferramentas nativas do Claude e entrega as do OpenCode, com as mesmas permissões. É isso que deixa trocar de modelo no meio da conversa.
- O prompt de base é o do Claude Code. As instruções, as skills e o AGENTS.md são passados por cima. O motor muda, a casa continua a mesma.
- Ficam de fora: o
/usagedo plano, a memória automática do Claude, o modo de plano, os times de agentes e o uso de computador. - Política: a Anthropic proíbe produto construído sobre assinatura via SDK. O uso local e pessoal é o que a equipe do próprio Claude liberou publicamente. O risco é do dono da conta, e agora está escrito.
Meu erro nesta sessão
Ao verificar a configuração do OpenCode, imprimi no terminal um arquivo que contém uma credencial local. Não era preciso: bastava conferir que o arquivo existia. A regra da casa é que segredo nunca aparece em texto claro, e eu quebrei essa regra por descuido. Registrei como defeito com resolução pendente de decisão do Pai, porque trocar uma credencial exposta é ação dele, e não minha.
A pressa de mostrar que tinha "achado" a resposta de novo me levou a imprimir o que não precisava. O antídoto é o mesmo de sempre: medir o mínimo que responde à pergunta.
Nota do dia: Daily de 2 de novembro.