Para renomear uma variável, o agente não precisa pensar dois minutos. Para achar a condição de corrida que só aparece em produção, precisa. O /effort da Verboo Code controla isso: define quanto o modelo raciocina antes de responder, com os níveis que o próprio modelo ativo oferece. Este guia mostra os comandos, onde o nível fica salvo e por que às vezes ele parece não pegar.
O que o /effort faz na Verboo Code?
Ele escolhe o nível de raciocínio (effort) que a CLI pede ao modelo em cada chamada. Sem argumento, abre um seletor com os níveis disponíveis para o modelo em uso:
/effort
A lista não é fixa. A Verboo Code lê os níveis que o router anuncia para cada modelo em /models, então um modelo pode oferecer low e high e outro oferecer low, medium e high. No seletor, Enter confirma e Esc cancela. A primeira opção é sempre Auto, descrita como "Use the default effort level for your model".
Quais comandos o /effort aceita?
Cinco formas, todas lidas direto de src/commands/effort/effort.tsx:
| Comando | O que faz |
|---|---|
/effort | Abre o seletor com os níveis do modelo ativo |
/effort high | Fixa o nível e salva para as próximas sessões |
/effort current ou /effort status | Mostra o nível que está valendo agora |
/effort auto ou /effort unset | Apaga o nível salvo e devolve a decisão ao modelo |
/effort help | Mostra o uso: /effort [level|auto] |
O nome do nível não diferencia maiúscula de minúscula: /effort HIGH e /effort high dão no mesmo. Ao fixar, a CLI responde com Set effort level to high: seguido da descrição do nível.
Qual nível usar em cada tarefa?
Comece no automático e suba só quando a resposta vier rasa. As descrições abaixo são as que a própria CLI mostra no seletor:
| Nível | Descrição na CLI | Bom para |
|---|---|---|
low | Quick, straightforward implementation with minimal overhead | Renomear, formatar, ajuste de uma linha, pergunta rápida sobre o código |
medium | Balanced approach with standard implementation and testing | Feature pequena, teste novo, refatoração localizada |
high | Comprehensive implementation with extensive testing and documentation | Bug difícil, mudança que cruza vários arquivos, desenho de arquitetura |
max | Maximum reasoning for the most complex tasks | O problema que já resistiu ao high, quando o modelo oferece esse nível |
Raciocinar mais deixa cada resposta mais lenta. Por isso vale baixar o nível em sessões de muitas edições pequenas e subir só no trecho difícil, em vez de deixar tudo no máximo.
Onde o nível fica salvo?
Em ~/.verboo/settings.json, na chave effortLevel. É o arquivo de configuração do usuário, então vale para todos os projetos:
{
"effortLevel": "high"
}
Se você usa VERBOO_CONFIG_DIR para apontar outra pasta de configuração, o arquivo fica lá. O /effort auto remove a chave e responde Effort level set to auto.
Por que o /effort parece não pegar?
Quase sempre é a variável de ambiente CLAUDE_CODE_EFFORT_LEVEL. Ela vence qualquer escolha feita na sessão. Quando ela está definida com outro valor, o /effort até salva a sua escolha, mas avisa que a variável continua mandando nesta sessão. A ordem completa, do mais forte para o mais fraco:
| Ordem | Fonte | Alcance |
|---|---|---|
| 1 | CLAUDE_CODE_EFFORT_LEVEL | Todo processo iniciado com ela. auto ou unset força o automático |
| 2 | /effort <nível> dentro da sessão | A sessão atual, e fica salvo para as próximas |
| 3 | Flag --effort <nível> | Só a sessão aberta com ela, não salva |
| 4 | effortLevel em settings.json | Carregado no início de cada sessão |
| 5 | Auto | O padrão que o router informa para o modelo |
Para conferir e limpar a variável no shell:
echo $CLAUDE_CODE_EFFORT_LEVEL
unset CLAUDE_CODE_EFFORT_LEVEL
Depois abra a CLI de novo e rode /effort current. Em automático, a resposta é Effort level: auto (currently high), com o nível padrão do modelo entre parênteses. Com nível fixado, é Current effort level: high seguido da descrição.
E se eu trocar de modelo?
O nível salvo é conferido contra o modelo ativo antes de cada chamada. Se o novo modelo não tiver aquele nível, vale o padrão dele. Por isso, depois de um /model, rode /effort current para ver o que está valendo. Se você pedir um nível que o modelo não tem, a CLI recusa e lista os disponíveis:
Invalid reasoning level: max. Available for <modelo>: low, high, auto
Em modelo sem controle de raciocínio, a resposta é Reasoning is not supported for <modelo>. Os nomes de nível do exemplo são ilustrativos; os reais aparecem na mensagem.
Como definir o effort em script ou CI?
Use a flag por execução, ou a variável para o processo inteiro:
verboo --effort low -p "atualize o CHANGELOG com os commits desde a última tag"
CLAUDE_CODE_EFFORT_LEVEL=high verboo -p "investigue por que o teste de integração falha às vezes"
A flag --effort aceita low, medium, high e max e recusa outro valor na hora. Ela vale só para aquela execução e não mexe no settings.json, o que é o comportamento certo para pipeline: cada job declara o que precisa.
Como isso se encaixa com os outros comandos?
- O /plan combina bem com
high: raciocínio alto no planejamento, nível menor na execução. - O /context mostra o que está ocupando a janela, que é outra causa comum de resposta fraca.
- O /compact resume a conversa quando ela fica longa demais.
Na Verboo Code o token é ilimitado, então subir o /effort custa tempo de resposta, não fatura: crie a conta em verboo.ai, abra a CLI no repositório e rode /effort high no próximo bug que resistir.



