Post-Mortem : Erreurs de facturation de Claude Max + OpenClaw dues à un OAuth obsolète et à des tâches Cron isolées

✍️ OpenClawRadar📅 Publié: May 12, 2026🔗 Source
Post-Mortem : Erreurs de facturation de Claude Max + OpenClaw dues à un OAuth obsolète et à des tâches Cron isolées
Ad

Une installation auto-hébergée d'OpenClaw avec Claude Max a commencé à renvoyer billing error — API key has run out of credits malgré un quota largement non atteint. Deux jours de débogage ont révélé deux causes racines et une chaîne de défaillance qui rend l'erreur apparemment aléatoire.

Cause racine 1 : Un jeton OAuth obsolète empoisonne tout le fournisseur

Le fichier auth-profiles.json contenait deux entrées : un profil OAuth valide anthropic:claude-cli et un profil anthropic:manual avec un jeton sk-ant-oat01-.... Lorsque le jeton manuel a expiré, OpenClaw n'a pas simplement échoué pour ce profil — il l'a classé comme échec de facturation au niveau du fournisseur et a blacklisté l'intégralité du fournisseur anthropic, ignorant tous les modèles, y compris le profil OAuth sain. Les logs montraient :

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

Le profil OAuth sain avec un jeton de rafraîchissement valide n'a jamais été essayé.

Correctif : Supprimer complètement anthropic:manual de auth-profiles.json et openclaw.json. Ne conserver que anthropic:claude-cli.

Cause racine 2 : Les tâches cron isolées frappent un bucket de facturation séparé

OpenClaw a deux chemins d'exécution :

  • Sessions principales — exécutent le binaire /usr/bin/claude, facturé à l'abonnement Max/Pro ✅
  • Exécutions isolées/intégrées — HTTP direct vers l'API Anthropic, facturé au bucket Extra Usage

Les tâches cron avec sessionTarget: isolated lancent un agent intégré autonome qui appelle directement l'API Anthropic via HTTP — sans les en-têtes Claude Code que le CLI envoie. Anthropic le dirige vers le bucket Extra Usage, un quota complètement séparé. Avec Extra Usage désactivé, chaque exécution cron isolée renvoie une 400. OpenClaw aggrave la situation : une erreur de facturation définit disabledUntil environ 24 heures plus tard dans auth-state.json, bloquant toutes les requêtes — y compris le chat normal — jusqu'à la fin du délai. Le verrouillage survit aux redémarrages de la passerelle.

Ad

La chaîne de défaillance complète

  1. Redémarrage de la passerelle → tâche cron manquée mise en file d'attente pour rattrapage
  2. Agent isolé exécuté via l'exécuteur intégré → appel HTTP direct à l'API Anthropic (pas d'en-têtes CLI)
  3. Bucket Extra Usage → erreur 400
  4. OpenClaw verrouille le profil d'authentification pendant ~24h → toutes les requêtes bloquées, y compris le chat normal

Correctifs

  1. Effacer immédiatement le verrouillage de facturation :
    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('Effacé.')
    "
    openclaw gateway restart
  2. Déplacer toutes les tâches cron de isolated vers 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'Correction : {j[\"name\"]}')
            j['sessionTarget'] = 'main'
    with open('/home/USER/.openclaw/cron/jobs.json', 'w') as f:
        json.dump(d, f, indent=2)
    print('Terminé.')
    "

Pour qui : Toute personne auto-hébergeant OpenClaw avec Claude Max ou Pro qui voit des erreurs de facturation aléatoires malgré un quota non atteint.

📖 Lire la source complète : r/openclaw

Ad

👀 See Also

Contournement par Raccourci iOS pour envoyer des photos iPhone à Cowork via la synchronisation iCloud
Guides

Contournement par Raccourci iOS pour envoyer des photos iPhone à Cowork via la synchronisation iCloud

Un développeur a créé un raccourci iOS appelé "PhoPo" qui convertit les photos de l'iPhone en JPEG, les redimensionne et les enregistre dans un dossier synchronisé via iCloud accessible par Cowork, permettant ainsi à Claude d'analyser des captures d'écran et des photos provenant d'appareils mobiles.

OpenClawRadar
OpenClaw 2026.3.7 casse les appels d'outils Kimi, revenir à la version 2026.3.2 corrige la régression.
Guides

OpenClaw 2026.3.7 casse les appels d'outils Kimi, revenir à la version 2026.3.2 corrige la régression.

La version 2026.3.7 d'OpenClaw présente une régression où le fournisseur d'API Kimi produit du XML <function_calls> brut au lieu d'exécuter les outils. La solution consiste à revenir à la version 2026.3.2 et restaurer un fichier de configuration compatible.

OpenClawRadar
La recherche montre qu'une communication coopérative, et non l'ingénierie, est la clé d'une incitation efficace de l'IA
Guides

La recherche montre qu'une communication coopérative, et non l'ingénierie, est la clé d'une incitation efficace de l'IA

Des recherches évaluées par des pairs indiquent qu'une formulation efficace des instructions pour les modèles d'IA suit les mêmes principes de communication coopérative que ceux utilisés par les humains, l'analyse de Lakera montrant que la plupart des échecs de prompts proviennent de l'ambiguïté plutôt que de limitations du modèle.

OpenClawRadar
Trellis 2 fonctionne avec succès sur ROCm 7.11 avec une AMD RX 9070 XT
Guides

Trellis 2 fonctionne avec succès sur ROCm 7.11 avec une AMD RX 9070 XT

Un développeur a réussi à faire fonctionner Trellis 2 sur Linux Mint 22.3 avec une carte graphique AMD RX 9070 XT en utilisant ROCm 7.11, en résolvant deux problèmes majeurs : l'instabilité de ROCm avec les tenseurs de grande dimension N et une fonction hipMemcpy2D défectueuse dans CuMesh.

OpenClawRadar