2026 OpenClaw après mise à niveau : chat OK, outils non — matrice tools.profile, tools.deny et triage des overrides agent

environ 18 min de lecture · MACCOME

Après mise à niveau ou changement de config OpenClaw : Telegram/Slack répond, mais exec/read/write/browser « not found » ou l'agent n'imprime que des appels d'outils en texte ? Cet article précise : ① quelle couche vérifier en premier ; ② matrice tools.profile et ordre pour tools.deny et overrides agent ; ③ runbook en six étapes et échelle de vérification. Complète le runbook Gateway sans réponse — canaux et modèles là-bas, contrat allowlist outils ici.

Six causes fréquentes « chat OK, outils bloqués » après mise à niveau (trier d'abord, puis config)

  1. tools.profile sur messaging / minimal : mise à niveau ou assistant a resserré la surface d'outils — chat fluide, exec → not found.
  2. tools.deny dommages collatéraux : deny temporaire de exec / browser pour conformité ; ticket clos, règle reste (documenter échéance et responsable).
  3. agents.list[].tools.profile écrase le global : global en coding, l'agent prod hérite encore messaging.
  4. Demi-mise à niveau sans reload Gateway : CLI voit la nouvelle config, processus l'ancienne allowlist — comme split-brain dans le runbook rollback.
  5. Modèle sans tool-calling fiable : le modèle faible imprime les appels en texte ; changer le profil ne suffit pas.
  6. Confondre « sans réponse » et « outil indisponible » : d'abord la triage sans réponse.

La surface d'outils OpenClaw n'est pas « installé = tout ouvert », mais l'intersection profil global → liste deny → override agent. La doc 2026 définit tools.profile comme allowlist de base. Beaucoup d'équipes échouent au premier upgrade sur le contrat de l'implicite ouvert à l'autorisation explicite, sans « restart + sonde minimale » dans le ticket de changement.

Sur un portable qui dort : « config modifiée, launchd/conteneur non reload ». Gateway autoritaire sur Mac distant dédié, toujours sous tension avec forward SSH local : valider côté Gateway, pas seulement le succès CLI.

SymptômeCouche suspectePremière action
Réponse OK, exec/read tool not foundtools.profile trop étroit ou override agentExporter profil effectif ; openclaw config set tools.profile coding ; gateway restart
Un outil toujours mort, le reste OKtools.denyRechercher deny ; doc tools officielle
Un seul agentagents.list[].tools.profileAligner agent et global
Texte d'appel d'outil JSONTool-calling modèleModèle function calling ; moins d'outils parallèles
Canal muetCanal / token / routageArticle sans réponse ; reporter ici

tools.profile : coding ou full ?

La plupart des agents d'automatisation → coding : fichiers, shell, web, sessions, memory — plus simple à auditer que full. Lire aussi Agents / Skills / memory_search : surface d'outils et limite de contexte dans le même changement.

Au démarrage de session le Gateway construit le registre d'outils effectif ; sans exec, refus ou texte brut. Exclure d'abord « sans réponse » avant cet article.

profileCapacitésUsage
minimalsession_statusMonitoring sans FS
messagingCanaux, sessionsRoutage support
codingfilesystem, runtime, web, memory…Dev (défaut recommandé)
fullPas de coupe au profilProd avec audit
info

Note : après tools.profile, redémarrer le Gateway. openclaw doctor seul ne recharge pas l'allowlist. Docker : runbook production.

tools.deny et overrides agent : ordre des trois couches

① profil effectif du Gateway → ② tools.deny → ③ agents.list[].tools.profile → ④ config globale. Après upgrade de canal, migration de profil par défaut ? Rollback via runbook mauvaise release.

Ticket : nom d'agent testé et canal ; sonde CLI et Telegram/Slack. Deny temporaires : échéance et owner.

Six étapes : aligner — redémarrer — sondes

  1. Geler les preuves : version, tools.profile, liste agents, id de requête.
  2. Classer le symptôme : tableau ; si sans réponse, stop.
  3. Profil cible : coding pour dev ; raison et rollback dans le ticket.
  4. Appliquer et gateway restart : un seul Gateway autoritaire.
  5. Échelle : doctor → status → sonde read / exec echochannels status --probe.
  6. Documenter : profil par défaut post-upgrade dans ROLLBACK.md.
bash
openclaw --version
openclaw config get tools.profile 2>/dev/null || true
openclaw config set tools.profile coding
openclaw gateway restart
openclaw doctor
openclaw gateway status

Trois KPI pour l'astreinte

  • Taux de faux « chat-only » : root cause profile/deny/override ; >40 % deux semaines → checklist upgrade incomplète.
  • Minutes jusqu'à sonde verte : médiane ≤10.
  • Taux de rollback après restart : >15 % → modèle ou régression version.

Métriques pour séparer chat et exécution d'outils. POC : jour 1, profil cible et deny vide dans l'acceptation — matrice KPI POC.

Synthèse : l'allowlist n'est pas un interrupteur mystique

Changer de prompt sans restart n'est pas auditable. Gateway sur Mac distant dédié + profil documenté : MTTR en minutes. MACCOME Mac mini M4 / M4 Pro, six régions — guide multi-régions.

FAQ

Faut-il full après la mise à niveau ?

coding suffit souvent. Restart + sonde. Tarifs et support.

Chevauchement avec Gateway sans réponse ?

Là canaux/modèles ; ici allowlist. Muet → autre article ; tool not found → celui-ci.

Toujours du texte d'appel d'outil ?

Modèle function calling en A/B ; rollback si besoin.