A Verboo Code dá tokens grátis, sem prazo de validade, para quem começa a usar a CLI. Quando eles acabam no meio de uma sessão, a versão 0.15.20 mudou o que acontece: em vez de travar com um erro genérico, a CLI abre um fluxo de ativação que só cobra o seu cartão depois que você aceitar.
O que acontece quando os tokens grátis acabam no meio de uma sessão?
A chamada de inferência que estourou o limite volta do servidor com um código de erro específico, free_tokens_exhausted. A CLI intercepta esse erro antes de mostrar qualquer coisa pra você e abre a tela de ativação, sem descartar nada da conversa: histórico, arquivos abertos e contexto continuam intactos.
Isso está em src/services/api/openaiShim.ts, no ponto em que a resposta HTTP volta 402 ou 503 com um dos três códigos que disparam o fluxo: free_tokens_exhausted, free_tokens_activation_pending ou free_tokens_accounting_pending.
Como ver quantos tokens grátis restam antes de bater o limite?
Rode /usage. A tela consulta o endpoint de saldo a cada 10 segundos e mostra, literalmente:
{tokensRemaining} tokens grátis restantes
{tokensUsed} consumidos de {tokenLimit}. Entrada + saída, sem prazo de validade.
Quando os tokens acabarem, a CLI pausará a inferência e mostrará as opções
de ativação com o valor da cobrança no cartão cadastrado.
Se houver chamadas com consumo ainda não confirmado pelo backend, aparece mais uma linha avisando quantas solicitações estão aguardando contabilização e se isso já pausou o uso gratuito. Mais sobre esse caso adiante.
O que a tela de ativação mostra, palavra por palavra?
Com os tokens zerados, o título é "Ativação do plano" e a mensagem é direta: "Seus tokens grátis acabaram e a inferência foi pausada. Para continuar a conversa, ative o plano com o cartão já cadastrado. A cobrança só acontece após o seu aceite."
Em seguida a CLI busca uma cotação real e mostra o valor da cobrança: "{groupName}: {amountCents} agora no cartão cadastrado. Renovação por {renewalAmountCents}/{mês|ano} até cancelar." com duas opções selecionáveis: Ativar plano e pagar R$X ou Agora não.
E se a Stripe pedir mais uma etapa de confirmação?
Acontece quando o cartão cadastrado precisa de verificação extra. Nesse caso a ativação volta com o estado checkout_required e um link de checkout; a CLI abre o navegador sozinha e deixa o link visível no terminal, com as opções Abrir Stripe ou Agora não.
Terminado o checkout, só a chamada de inferência que ficou bloqueada é refeita. Não é a conversa inteira que volta a ser enviada, é literalmente aquela única requisição rejeitada. O comentário no próprio código-fonte é direto sobre isso: nenhuma resposta ou chamada de ferramenta anterior é reproduzida pelo fluxo de ativação.
Recusei a ativação. E agora?
A CLI guarda o horário exato da recusa e não insiste: qualquer chamada que já estava em andamento antes desse horário simplesmente para, sem reabrir a tela de novo. Uma tentativa nova de usar a CLI depois da recusa dispara a pergunta de novo, porque é uma requisição diferente.
A confirmação também é compartilhada entre chamadas simultâneas: se duas chamadas esbarram no limite ao mesmo tempo, a CLI mostra a tela uma vez só, e as duas esperam a mesma resposta, em vez de abrir dois prompts.
Uso a Verboo Code em CI ou com --print. Isso muda alguma coisa?
Muda, e é proposital: no modo não interativo a CLI nunca ativa um pagamento sozinha. A sessão é considerada não interativa quando o comando roda com -p/--print, --init-only, --sdk-url, ou quando a saída não é um terminal e não há SSH_TTY no ambiente.
Nesses casos a mensagem de erro muda: em vez de "tente novamente para ver as opções de ativação", ela vira "Abra a CLI em modo interativo para confirmar a ativação". Não existe flag nem variável de ambiente para pular esse aceite. O bloqueio é automático pelas condições acima, não configurável.
Minha requisição ficou "aguardando contabilização". É bug?
Não. É o backend confirmando o consumo antes de liberar mais uso gratuito. Enquanto o número de solicitações pendentes estiver dentro do limite configurado, o uso continua liberado. Se bater no teto, a mensagem que aparece é: "O limite de solicitações aguardando contabilização foi atingido. Novas inferências gratuitas estão pausadas até a confirmação do consumo; a ativação paga continua disponível."
Ou seja: mesmo travado no gratuito por essa razão, a opção de ativar o plano pago continua funcionando, porque ela não depende dessa contabilização.
Depois de ativar, o que muda de verdade?
Você sai do modelo de tokens contados. Nenhum dos quatro planos pagos volta a ter cap de token depois da ativação, só rate limit por peso de modelo.
| Plano | Preço mensal | Tokens |
|---|---|---|
| Junior | R$ 99 | Ilimitados* |
| Pro | R$ 249 | Ilimitados* |
| Max | R$ 499 | Ilimitados* |
| Ultra | R$ 1.299 | Ilimitados* |
*Sem cap de token em nenhum plano, conforme a própria página da Verboo Code declara. O que varia entre eles é o rate limit por minuto, porque modelo mais pesado exige mais GPU, não o volume total que dá pra consumir no mês.
Depois que os tokens grátis acabam, a pergunta deixa de ser "quanto sobrou" e passa a ser "quanto rate limit o meu plano aguenta": nenhum plano pago da Verboo Code volta a contar token depois disso. Ative direto pela própria CLI ou comece pelo cadastro em verboo.ai.



