Passer d’OpenClaw « qui marche sur mon poste » à « auditable en production » coince souvent sur deux messages : Unauthorized et No API key for provider. Ils pointent vers la couche session Gateway et la couche secrets fournisseur modèle—correctifs et fichiers différents. Ce guide propose un ordre minimal 2026 (gateway status → doctor → models auth), un runbook en six étapes, une matrice de symptômes et une checklist d’isolation des secrets. Avant la mise en prod, finissez d’abord l’article CVE-2026-25253 + baseline Node 24 production.
Chaque point reflète une fausse piste réelle du support—lisez avant de taper des commandes.
Traiter tout Unauthorized comme un token perdu : les proxies peuvent retirer des en-têtes ; le cache CLI peut garder un token vide ; le navigateur peut bloquer WebCrypto hors HTTPS.
Imputer à Gateway l’absence de clés fournisseur : souvent l’identité agent n’a jamais reçu models auth, ou les unités systemd utilisateur n’exportent pas les variables d’environnement.
Réinstaller avant doctor : masque un PATH dupliqué et une dérive de config—suivez d’abord la triade éditeur.
Copier les clés dev dans la CI : casse le moindre privilège et la rotation ; une identité par runner.
Ignorer 127.0.0.1 + Tailscale : la CLI distante résout tokens et DNS différemment—validez les deux côtés.
Sauter la validation disque : sans config:validate (ou équivalent), faux négatifs « commande OK mais le process ne lit pas ».
| Symptôme | Couche à inspecter | Première commande | Étape suivante |
|---|---|---|---|
| 401 / Unauthorized (CLI ou WebSocket) | Session Gateway | openclaw gateway status | openclaw doctor ; régénérer le token Gateway si besoin |
| Clé API manquante avant l’appel modèle | Secrets fournisseur | openclaw models status | openclaw models auth setup-token … avec le bon scope agent |
| Succès intermittent | Double identité / config | which openclaw + env du service utilisateur | Aligner PATH et Environment= systemd |
| Échec seulement en CLI distante | Tunnel / propagation du token | Retester 127.0.0.1 en local | Vérifier Tailscale Serve et les exigences HTTPS |
« Classer d’abord, corriger ensuite »—la même chaîne Unauthorized demande une autre chirurgie sur le chemin Gateway ou fournisseur.
Geler l’état : noter le texte d’erreur exact, l’heure, l’utilisateur / l’ID agent—éviter de changer token et clés fournisseur en même temps.
Minimum Gateway :openclaw gateway status → openclaw doctor ; régénérer le token selon la doc éditeur s’il manque.
Valider sur disque : droits alignés sur l’utilisateur Gateway ; redémarrer le service utilisateur après modification.
Passer sur la piste fournisseur :openclaw models status, puis models auth setup-token ; ne jamais coller de secrets dans un historique shell partagé.
Isoler les secrets : matériel de clés par agent / environnement ou références gestionnaire de secrets ; interdire les répertoires world-readable en prod.
Piste d’audit : consigner fenêtres de rotation, blast radius et points de rollback dans le ticket de changement.
openclaw gateway status openclaw doctor openclaw models status # openclaw models auth setup-token --provider anthropic # compléter selon la doc officielle
Note : pour les services systemd utilisateur, injectez les variables fournisseur dans l’unité—pas seulement dans un shell interactif.
Attention : ne collez jamais des tokens / clés API complets dans des tickets publics ; empreinte avec quatre premiers et quatre derniers caractères.
Faire tourner un Gateway sur un portable qui dort provoque des échecs d’auth intermittents (thermique, politique d’alimentation). Un nœud macOS dédié, toujours allumé convient mieux aux gateways agents de production. Pour une capacité Mac de type VPS avec maintenance SSH et images auditables, la location cloud Mac Mini NodeMini s’aligne souvent mieux avec nos guides mode distant et Tailscale.
Pas toujours—utilisez la section 2, puis gateway status et doctor. Autres sujets OpenClaw : filtre blog OpenClaw.
À éviter—séparez identités et rotations. Capacité : tarifs de location Mac mini.
Vérifiez d’abord PATH / binaire dupliqué et la dérive d’environnement systemd, puis relancez ce runbook. Aide : centre d’aide.