Autopsia: Claude Max + Errores de facturación de OpenClaw por OAuth desactualizado y trabajos cron aislados

✍️ OpenClawRadar📅 Publicado: 12 de mayo de 2026🔗 Source
Autopsia: Claude Max + Errores de facturación de OpenClaw por OAuth desactualizado y trabajos cron aislados
Ad

Una instalación autogestionada de OpenClaw con Claude Max empezó a devolver billing error — API key has run out of credits a pesar de estar muy por debajo del límite. Dos días de depuración revelaron dos causas raíz y una cadena de fallos que hace que el error parezca aleatorio.

Causa Raíz 1: Token OAuth Caducado Envenena Todo el Proveedor

El archivo auth-profiles.json tenía dos entradas: un perfil OAuth válido anthropic:claude-cli y un perfil anthropic:manual con un token sk-ant-oat01-.... Cuando el token manual caducó, OpenClaw no solo falló ese perfil, sino que lo clasificó como un fallo de facturación a nivel de proveedor y bloqueó todo el proveedor anthropic, saltándose todos los modelos, incluido el perfil OAuth saludable. Los registros mostraban:

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

El perfil OAuth saludable con un token de actualización válido nunca se intentó.

Solución: Eliminar por completo anthropic:manual de auth-profiles.json y openclaw.json. Mantener solo anthropic:claude-cli.

Causa Raíz 2: Trabajos Cron Aislados golpean un Bucket de Facturación Separado

OpenClaw tiene dos rutas de ejecución:

  • Sesiones principales — ejecutan el binario /usr/bin/claude, facturado a la suscripción Max/Pro ✅
  • Ejecuciones aisladas/embebidas — HTTP directo a la API de Anthropic, facturado al bucket de Uso Extra

Los trabajos cron con sessionTarget: isolated inician un agente embebido independiente que llama directamente a la API de Anthropic vía HTTP — sin los encabezados de Claude Code que envía la CLI. Anthropic lo dirige al bucket de Uso Extra, una cuota completamente separada. Con Uso Extra desactivado, cada ejecución cron aislada devuelve un 400. OpenClaw empeora la situación: un error de facturación establece disabledUntil aproximadamente 24 horas hacia adelante en auth-state.json, bloqueando todas las solicitudes — incluyendo el chat normal — hasta que termine el enfriamiento. El bloqueo sobrevive a reinicios de la puerta de enlace.

Ad

La Cadena Completa de Fallos

  1. Reinicio de la puerta de enlace → trabajos cron perdidos se encolan para ponerse al día
  2. El agente aislado se ejecuta vía el ejecutor embebido → llamada HTTP directa a la API de Anthropic (sin encabezados de CLI)
  3. Bucket de Uso Extra → error 400
  4. OpenClaw bloquea el perfil de autenticación durante ~24h → todas las solicitudes bloqueadas, incluido el chat normal

Soluciones

  1. Limpiar el bloqueo de facturación inmediatamente:
    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('Limpiado.')
    "
    openclaw gateway restart
  2. Mover todos los trabajos cron de isolated a 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'Corrigiendo: {j["name"]}')
            j['sessionTarget'] = 'main'
    with open('/home/USER/.openclaw/cron/jobs.json', 'w') as f:
        json.dump(d, f, indent=2)
    print('Hecho.')
    "

Para quién es: Cualquiera que autogestione OpenClaw con Claude Max o Pro y vea errores de facturación aleatorios a pesar de estar por debajo del límite.

📖 Leer la fuente original: r/openclaw

Ad

👀 Ver también

Guía de Automatización de Búsqueda de Empleo de OpenClaw — Preferencias, Cron Jobs y Filtrado
Guías

Guía de Automatización de Búsqueda de Empleo de OpenClaw — Preferencias, Cron Jobs y Filtrado

Una guía práctica para usar OpenClaw y automatizar la búsqueda de empleo: define un perfil de preferencias claro, elige una herramienta para obtener ofertas (automatización del navegador, scraping o API estructurada) y valida el flujo antes de configurar un cron job.

OpenClawRadar
Publicación de Reddit: Los desarrolladores necesitan mejores prácticas de codificación con IA, no solo mejores herramientas
Guías

Publicación de Reddit: Los desarrolladores necesitan mejores prácticas de codificación con IA, no solo mejores herramientas

Una publicación de Reddit argumenta que la insatisfacción de los desarrolladores con las herramientas de codificación con IA proviene de malas prácticas de 'prompting', específicamente el 'prompting crudo' sin contexto ni estructura. El autor recomienda usar andamiajes como CLAUDE.md y flujos de trabajo estructurados para obtener código listo para producción de Claude.

OpenClawRadar
Flujo de Trabajo Práctico con Claude Code para Equipos de Desarrollo
Guías

Flujo de Trabajo Práctico con Claude Code para Equipos de Desarrollo

Un usuario de Reddit comparte su presentación interna sobre las mejores prácticas de Claude Code, incluyendo selección de modelos, flujos de trabajo estructurados y técnicas específicas de prompts para mejorar la calidad de la salida.

OpenClawRadar
Los archivos CLAUDE.md suelen estar organizados para desarrolladores, no para modelos de IA – He aquí por qué es importante
Guías

Los archivos CLAUDE.md suelen estar organizados para desarrolladores, no para modelos de IA – He aquí por qué es importante

Los archivos CLAUDE.md suelen colocar las Reglas Estrictas en la línea 47, después de los antecedentes y la pila tecnológica. Cuando el modelo lee las restricciones, ya ha construido suposiciones contradictorias. Una mejor estructura pone las reglas estrictas primero.

OpenClawRadar