Autópsia: Erros de Faturamento do Claude Max + OpenClaw devido a OAuth Desatualizado e Tarefas Cron Isoladas

✍️ OpenClawRadar📅 Publicado: May 12, 2026🔗 Source
Autópsia: Erros de Faturamento do Claude Max + OpenClaw devido a OAuth Desatualizado e Tarefas Cron Isoladas
Ad

Uma configuração auto-hospedada do OpenClaw com Claude Max começou a retornar billing error — API key has run out of credits apesar de estar bem abaixo da cota. Dois dias de depuração revelaram duas causas raiz e uma cadeia de falhas que faz o erro parecer aleatório.

Causa Raiz 1: Token OAuth Expirado Envenena Todo o Provedor

O arquivo auth-profiles.json tinha duas entradas: um perfil OAuth válido anthropic:claude-cli e um perfil anthropic:manual com um token sk-ant-oat01-.... Quando o token manual expirou, o OpenClaw não apenas falhou nesse perfil — ele o classificou como uma falha de faturamento a nível de provedor e colocou na lista negra todo o provedor anthropic, pulando todos os modelos, incluindo o perfil OAuth saudável. Os logs mostravam:

reason: "billing" errorPreview: "Provider anthropic has billing issue (skipping all models)" chain_exhausted

O perfil OAuth saudável com um token de atualização válido nunca foi tentado.

Correção: Remova anthropic:manual completamente de auth-profiles.json e openclaw.json. Mantenha apenas anthropic:claude-cli.

Causa Raiz 2: Trabalhos Cron Isolados Atingem um Bucket de Faturamento Separado

O OpenClaw tem dois caminhos de execução:

  • Sessões principais — executam o binário /usr/bin/claude, faturado na assinatura Max/Pro ✅
  • Execuções isoladas/incorporadas — HTTP direto para a API Anthropic, faturado no bucket Extra Usage

Trabalhos cron com sessionTarget: isolated iniciam um agente incorporado independente que chama a API Anthropic diretamente via HTTP — sem os cabeçalhos Claude Code que a CLI envia. A Anthropic os direciona para o bucket Extra Usage, uma cota completamente separada. Com o Extra Usage desligado, cada execução cron isolada retorna um 400. O OpenClaw então piora: um erro de faturamento define disabledUntil cerca de 24 horas à frente em auth-state.json, bloqueando todas as requisições — inclusive chat normal — até o cooldown ser acionado. O bloqueio sobrevive a reinicializações do gateway.

Ad

A Cadeia de Falhas Completa

  1. Reinicialização do gateway → trabalhos cron perdidos na fila para recuperação
  2. Agente isolado dispara via executor incorporado → chamada HTTP direta para API Anthropic (sem cabeçalhos CLI)
  3. Bucket Extra Usage → erro 400
  4. OpenClaw bloqueia o perfil de autenticação por ~24h → todas as requisições bloqueadas, incluindo chat normal

Correções

  1. Limpe o bloqueio de faturamento imediatamente:
    python3 -c "
    import json
    with open('/home/USER/.openclaw/agents/main/agent/auth-state.json') as f:
        d = json.load(f)
    if 'usageStats' in d:
        for profile in d['usageStats']:
            d['usageStats'][profile].pop('disabledUntil', None)
            d['usageStats'][profile].pop('failureCounts', None)
            d['usageStats'][profile].pop('errorCount', None)
            d['usageStats'][profile].pop('disabledReason', None)
            d['usageStats'][profile].pop('lastFailureAt', None)
    with open('/home/USER/.openclaw/agents/main/agent/auth-state.json', 'w') as f:
        json.dump(d, f, indent=2)
    print('Limpo.')
    "
    openclaw gateway restart
  2. Mova todos os trabalhos cron de isolated para main:
    python3 -c "
    import json
    with open('/home/USER/.openclaw/cron/jobs.json') as f:
        d = json.load(f)
    jobs = d if isinstance(d, list) else d.get('jobs', [])
    for j in jobs:
        if j.get('sessionTarget') == 'isolated':
            print(f'Corrigindo: {j["name"]}')
            j['sessionTarget'] = 'main'
    with open('/home/USER/.openclaw/cron/jobs.json', 'w') as f:
        json.dump(d, f, indent=2)
    print('Pronto.')
    "

Para quem é: Qualquer pessoa que hospede o OpenClaw com Claude Max ou Pro e veja erros de faturamento aleatórios apesar de estar abaixo da cota.

📖 Leia a fonte completa: r/openclaw

Ad

👀 See Also

Visual do Fluxo de Trabalho do Claude Code: Hierarquia de Memória, Habilidades, Ganchos e Loop
Guides

Visual do Fluxo de Trabalho do Claude Code: Hierarquia de Memória, Habilidades, Ganchos e Loop

Um post no Reddit compartilha um fluxo de trabalho visual para o Claude Code, cobrindo camadas de memória (global → repositório → escopo), habilidades como padrões reutilizáveis em .claude/skills/ e um ciclo de trabalho sugerido (planejar → descrever → aceitar → commitar).

OpenClawRadar
Avaliação de Chatbot RAG: Como uma Varredura de Modelo + Correções de Recuperação Reduziram Custos em 79% e Aumentaram a Qualidade em 19%
Guides

Avaliação de Chatbot RAG: Como uma Varredura de Modelo + Correções de Recuperação Reduziram Custos em 79% e Aumentaram a Qualidade em 19%

Um desenvolvedor avaliou um bot RAG de suporte ao cliente e encontrou configurações incorretas de recuperação, falhas no avaliador heurístico e um modelo mais barato que superou o de produção. A qualidade melhorou de 6,62 para 7,88 enquanto o custo caiu de $0,002420 para $0,000509 por sessão.

OpenClawRadar
Benchmarks de 12GB VRAM: Executando Modelos Qwen 3.6 e Gemma 4 em uma RTX 4070 Super
Guides

Benchmarks de 12GB VRAM: Executando Modelos Qwen 3.6 e Gemma 4 em uma RTX 4070 Super

Um usuário do Reddit compartilha benchmarks detalhados de velocidade para Qwen3.6-35B-A3B, Qwen3.6-27B, Gemma 4 26B e Gemma 4 31B em uma RTX 4070 Super de 12 GB usando llama.cpp com configurações otimizadas.

OpenClawRadar
Rodando Qwen3.6 27B e 35B em 6GB de VRAM com ik_llama: Configurações Práticas e Benchmarks
Guides

Rodando Qwen3.6 27B e 35B em 6GB de VRAM com ik_llama: Configurações Práticas e Benchmarks

Um usuário compartilha configurações detalhadas de ik_llama e números de desempenho para executar modelos Qwen3.6 27B e 35B A3B em um RTX2060 mobile (6GB VRAM, 32GB RAM), com velocidades de preenchimento de 40-100 t/s e geração de até 11 t/s.

OpenClawRadar