Commandoladder
Voer deze eerst uit, in deze volgorde:openclaw gateway statustoontRuntime: running,Connectivity probe: oken een regelCapability: ....openclaw doctormeldt geen blokkerende configuratie- of serviceproblemen.openclaw channels status --probetoont live transportstatus per account en, waar ondersteund, probe-/auditresultaten zoalsworksofaudit ok.
Na een update
Gebruik dit wanneer een update is voltooid maar de Gateway offline is, kanalen leeg zijn, of modelaanroepen beginnen te mislukken met 401’s.Update restartinopenclaw status/openclaw status --all. Wachtende of mislukte overdrachten bevatten de volgende opdracht om uit te voeren.plugin load failed: dependency tree corrupted; run openclaw doctor --fixonder Kanalen. Dat betekent dat de kanaalconfiguratie nog bestaat, maar dat de Plugin- registratie mislukte voordat het kanaal kon laden.- provider-401’s na opnieuw authenticeren.
openclaw doctor --fixcontroleert op verouderde OAuth-authschaduwen per agent en verwijdert de oude kopieën zodat alle agents het huidige gedeelde profiel gebruiken.
Split-braininstallaties en nieuwere configuratiebeveiliging
Gebruik dit wanneer een Gateway-service onverwacht stopt na een update, of logs tonen dat éénopenclaw-binary ouder is dan de versie die voor het laatst openclaw.json heeft geschreven.
OpenClaw markeert configuratieschrijfacties met meta.lastTouchedVersion. Alleen-lezen-opdrachten kunnen nog steeds een configuratie inspecteren die door een nieuwere OpenClaw is geschreven, maar proces- en servicemutaties weigeren door te gaan vanaf een oudere binary. Geblokkeerde acties omvatten het starten, stoppen, herstarten en verwijderen van de Gateway-service, geforceerde serviceherinstallatie, Gateway-start in servicemodus en gateway --force-poortopschoning.
PATH repareren
Repareer
PATH zodat openclaw naar de nieuwere installatie verwijst en voer de actie daarna opnieuw uit.De Gateway-service opnieuw installeren
Installeer de bedoelde Gateway-service opnieuw vanuit de nieuwere installatie:
Protocolmismatch na rollback
Gebruik dit wanneer logsprotocol mismatch blijven afdrukken nadat je OpenClaw hebt gedowngraded of teruggedraaid. Dit betekent dat een oudere Gateway draait, maar dat een nieuwer lokaal clientproces nog steeds probeert opnieuw verbinding te maken met een protocolbereik dat de oudere Gateway niet ondersteunt.
protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>in Gateway-logs.Established clients:inopenclaw gateway status --deepofGateway clientsinopenclaw doctor --deep. Dit toont actieve TCP-clients die verbonden zijn met de Gateway-poort, inclusief PID’s en opdrachtregels wanneer het besturingssysteem dat toestaat.- Een clientproces waarvan de opdrachtregel wijst naar de nieuwere OpenClaw-installatie of wrapper waarvan je bent teruggedraaid.
- Stop of herstart het verouderde OpenClaw-clientproces dat door
gateway status --deepwordt getoond. - Herstart apps of wrappers die OpenClaw insluiten, zoals lokale dashboards, editors, app-serverhelpers of langlopende
openclaw logs --follow-shells. - Voer
openclaw gateway status --deepofopenclaw doctor --deepopnieuw uit en bevestig dat de verouderde client-PID verdwenen is.
Skills-symlink overgeslagen als padontsnapping
Gebruik dit wanneer logs het volgende bevatten:~/.agents/skills, <workspace>/.agents/skills, <workspace>/skills of
~/.openclaw/skills wordt overgeslagen wanneer het echte doel buiten die root
uitkomt, tenzij het doel expliciet vertrouwd is.
Inspecteer de link:
~, / of een volledige gesynchroniseerde projectmap.
Houd allowSymlinkTargets beperkt tot de echte Skills-root die vertrouwde
SKILL.md-mappen bevat.
Als Skill Workshop apply ook door die vertrouwde gesymlinkte
workspace-Skills-paden moet schrijven, schakel dan skills.workshop.allowSymlinkTargetWrites in. Houd
dit uitgeschakeld voor alleen-lezen gedeelde Skills-roots.
Gerelateerd:
Anthropic 429 extra gebruik vereist voor lange context
Gebruik dit wanneer logs/fouten bevatten:HTTP 429: rate_limit_error: Extra usage is required for long context requests.
- Geselecteerd Anthropic-model is een GA-geschikt 1M Claude 4.x-model, of het model heeft legacy
params.context1m: true. - Huidige Anthropic-referentie is niet geschikt voor gebruik met lange context.
- Verzoeken mislukken alleen bij lange sessies/modelruns die het 1M-contextpad nodig hebben.
Een standaard contextvenster gebruiken
Schakel over naar een model met standaardvenster, of verwijder legacy
context1m uit oudere
modelconfiguratie die niet GA-geschikt is voor 1M-context.Een geschikte referentie gebruiken
Gebruik een Anthropic-referentie die geschikt is voor lange-contextverzoeken, of schakel over naar een Anthropic-API-sleutel.
Upstream 403-geblokkeerde reacties
Gebruik dit wanneer een upstream LLM-provider een generieke403 retourneert, zoals
Your request was blocked.
Ga er niet van uit dat dit altijd een configuratieprobleem van OpenClaw is. De reactie kan
komen van een upstream beveiligingslaag zoals een CDN, WAF, botbeheerregel of
reverse proxy vóór een OpenAI-compatibel endpoint.
- meerdere modellen onder dezelfde provider falen op dezelfde manier
- HTML of generieke beveiligingstekst in plaats van een normale provider-API-fout
- beveiligingsgebeurtenissen aan providerzijde voor hetzelfde verzoekmoment
- een kleine directe
curl-probe slaagt terwijl normale SDK-vormige verzoeken mislukken
Lokale OpenAI-compatibele backend slaagt voor directe probes maar agentruns mislukken
Gebruik dit wanneer:curl ... /v1/modelswerkt- kleine directe
/v1/chat/completions-aanroepen werken - OpenClaw-modelruns alleen mislukken bij normale agentbeurten
- directe kleine aanroepen slagen, maar OpenClaw-runs mislukken alleen bij grotere prompts
model_not_found- of 404-fouten ook al werkt directe/v1/chat/completionsmet dezelfde kale model-id- backendfouten over
messages[].contentdie een string verwachten - intermitterende waarschuwingen
incomplete turn detected ... stopReason=stop payloads=0met een OpenAI-compatibele lokale backend - backendcrashes die alleen verschijnen bij grotere prompt-tokenaantallen of volledige agent-runtimeprompts
Veelvoorkomende signalen
Veelvoorkomende signalen
model_not_foundmet een lokale MLX-/vLLM-achtige server → controleer ofbaseUrl/v1bevat,api"openai-completions"is voor/v1/chat/completions-backends, enmodels.providers.<provider>.models[].idde kale provider-lokale id is. Selecteer deze één keer met het providerprefix, bijvoorbeeldmlx/mlx-community/Qwen3-30B-A3B-6bit; houd de catalogusvermelding alsmlx-community/Qwen3-30B-A3B-6bit.messages[...].content: invalid type: sequence, expected a string→ backend weigert gestructureerde Chat Completions-contentdelen. Oplossing: stelmodels.providers.<provider>.models[].compat.requiresStringContent: truein.validation.keysof toegestane berichtsleutels zoals["role","content"]→ backend weigert OpenAI-stijl replaymetadata op Chat Completions-berichten. Oplossing: stelmodels.providers.<provider>.models[].compat.strictMessageKeys: truein.incomplete turn detected ... stopReason=stop payloads=0→ de backend voltooide het Chat Completions-verzoek maar retourneerde geen voor de gebruiker zichtbare assistenttekst voor die beurt. OpenClaw probeert replay-veilige lege OpenAI-compatibele beurten één keer opnieuw; aanhoudende fouten betekenen meestal dat de backend lege/niet-tekstuele content uitzendt of finale-antwoordtekst onderdrukt.- directe kleine verzoeken slagen, maar OpenClaw-agentruns mislukken met backend-/modelcrashes (bijvoorbeeld Gemma op sommige
inferrs-builds) → OpenClaw-transport is waarschijnlijk al correct; de backend faalt op de grotere promptvorm van de agentruntime. - fouten nemen af na het uitschakelen van tools maar verdwijnen niet → toolschema’s maakten deel uit van de druk, maar het resterende probleem is nog steeds upstream model-/servercapaciteit of een backendbug.
Oplossingsopties
Oplossingsopties
- Stel
compat.requiresStringContent: truein voor string-only Chat Completions-backends. - Stel
compat.strictMessageKeys: truein voor strikte Chat Completions-backends die alleenroleencontentop elk bericht accepteren. - Stel
compat.supportsTools: falsein voor modellen/backends die OpenClaw’s toolschemaoppervlak niet betrouwbaar aankunnen. - Verlaag promptdruk waar mogelijk: kleinere workspace-bootstrap, kortere sessiegeschiedenis, lichter lokaal model of een backend met sterkere ondersteuning voor lange context.
- Als kleine directe verzoeken blijven slagen terwijl OpenClaw-agentbeurten nog steeds binnen de backend crashen, behandel dit dan als een upstream server-/modelbeperking en dien daar een repro in met de geaccepteerde payloadvorm.
Geen antwoorden
Als kanalen actief zijn maar niets antwoordt, controleer dan routing en beleid voordat je iets opnieuw verbindt.- Koppeling in behandeling voor DM-afzenders.
- Groepsvermelding-gating (
requireMention,mentionPatterns). - Mismatches in de allowlist voor kanaal/groep.
drop guild message (mention required→ groepsbericht genegeerd tot vermelding.pairing request→ afzender heeft goedkeuring nodig.blocked/allowlist→ afzender/kanaal is door beleid gefilterd.
Connectiviteit van dashboard/control-UI
Wanneer de dashboard/control-UI geen verbinding maakt, valideer dan de URL, auth-modus en aannames over de veilige context.- Juiste probe-URL en dashboard-URL.
- Mismatch in auth-modus/token tussen client en gateway.
- HTTP-gebruik waar apparaatidentiteit vereist is.
127.0.0.1:18789, herstel dan eerst de lokale Gateway-service en bevestig dat deze het dashboard serveert:
curl OpenClaw-HTML teruggeeft, werkt de Gateway en is het resterende probleem waarschijnlijk browsercache, een oude dieplink of verouderde tabbladstatus. Open http://127.0.0.1:18789 rechtstreeks en navigeer vanaf het dashboard. Als herstarten de service niet actief laat, voer dan openclaw gateway start uit en controleer openclaw gateway status opnieuw.
Verbindings-/auth-kenmerken
Verbindings-/auth-kenmerken
device identity required→ niet-veilige context of ontbrekende apparaatauthenticatie.origin not allowed→ browser-Originstaat niet ingateway.controlUi.allowedOrigins(of je verbindt vanaf een niet-loopback browser-origin zonder expliciete allowlist).device nonce required/device nonce mismatch→ client voltooit de op challenge gebaseerde apparaatauthenticatiestroom niet (connect.challenge+device.nonce).device signature invalid/device signature expired→ client heeft de verkeerde payload (of een verouderde timestamp) ondertekend voor de huidige handshake.AUTH_TOKEN_MISMATCHmetcanRetryWithDeviceToken=true→ client kan één vertrouwde nieuwe poging doen met gecachte apparaattoken.- Die nieuwe poging met gecachte token hergebruikt de gecachte scopeset die is opgeslagen met de gekoppelde apparaattoken. Aanroepers met expliciete
deviceToken/ explicietescopesbehouden in plaats daarvan hun aangevraagde scopeset. AUTH_SCOPE_MISMATCH→ de apparaattoken is herkend, maar de goedgekeurde scopes dekken dit verbindingsverzoek niet; koppel opnieuw of keur het aangevraagde scopecontract goed in plaats van een gedeelde Gateway-token te roteren.- Buiten dat pad voor opnieuw proberen is de auth-prioriteit voor verbinden: eerst expliciete gedeelde token/wachtwoord, daarna expliciete
deviceToken, daarna opgeslagen apparaattoken, daarna bootstrap-token. - Op het asynchrone Tailscale Serve Control UI-pad worden mislukte pogingen voor dezelfde
{scope, ip}geserialiseerd voordat de limiter de fout registreert. Twee slechte gelijktijdige nieuwe pogingen vanaf dezelfde client kunnen daarom bij de tweede pogingretry latertonen in plaats van twee gewone mismatches. too many failed authentication attempts (retry later)vanaf een browser-origin loopback-client → herhaalde fouten vanaf dezelfde genormaliseerdeOriginworden tijdelijk buitengesloten; een andere localhost-origin gebruikt een aparte bucket.- herhaalde
unauthorizedna die nieuwe poging → drift in gedeelde token/apparaattoken; vernieuw de tokenconfiguratie en keur de apparaattoken indien nodig opnieuw goed of roteer deze. gateway connect failed:→ verkeerd host-/poort-/URL-doel.
Snelle kaart voor auth-detailcodes
Gebruikerror.details.code uit de mislukte connect-respons om de volgende actie te kiezen:
| Detailcode | Betekenis | Aanbevolen actie |
|---|---|---|
AUTH_TOKEN_MISSING | Client heeft geen vereiste gedeelde token verzonden. | Plak/stel de token in de client in en probeer opnieuw. Voor dashboardpaden: openclaw config get gateway.auth.token en plak daarna in de Control UI-instellingen. |
AUTH_TOKEN_MISMATCH | Gedeelde token kwam niet overeen met de auth-token van de gateway. | Als canRetryWithDeviceToken=true, sta dan één vertrouwde nieuwe poging toe. Nieuwe pogingen met gecachte token hergebruiken opgeslagen goedgekeurde scopes; aanroepers met expliciete deviceToken / scopes behouden aangevraagde scopes. Als het nog steeds mislukt, voer dan de checklist voor herstel van tokendrift uit. |
AUTH_DEVICE_TOKEN_MISMATCH | Gecachte token per apparaat is verouderd of ingetrokken. | Roteer/keur de apparaattoken opnieuw goed met de apparaten-CLI, en verbind daarna opnieuw. |
AUTH_SCOPE_MISMATCH | Apparaattoken is geldig, maar de goedgekeurde rol/scopes dekken dit verbindingsverzoek niet. | Koppel het apparaat opnieuw of keur het aangevraagde scopecontract goed; behandel dit niet als drift van gedeelde tokens. |
PAIRING_REQUIRED | Apparaatidentiteit heeft goedkeuring nodig. Controleer error.details.reason voor not-paired, scope-upgrade, role-upgrade of metadata-upgrade, en gebruik requestId / remediationHint indien aanwezig. | Keur openstaand verzoek goed: openclaw devices list en daarna openclaw devices approve <requestId>. Scope-/rolupgrades gebruiken dezelfde stroom nadat je de aangevraagde toegang hebt beoordeeld. |
Directe loopback-backend-RPC’s die zijn geauthenticeerd met de gedeelde Gateway-token/het gedeelde Gateway-wachtwoord zouden niet afhankelijk moeten zijn van de scopebasislijn van gekoppelde apparaten van de CLI. Als subagenten of andere interne aanroepen nog steeds mislukken met
scope-upgrade, controleer dan of de aanroeper client.id: "gateway-client" en client.mode: "backend" gebruikt en geen expliciete deviceIdentity of apparaattoken afdwingt.
Als
openclaw devices rotate / revoke / remove onverwacht wordt geweigerd:
- gekoppelde-apparaattokensessies kunnen alleen hun eigen apparaat beheren, tenzij de aanroeper ook
operator.adminheeft openclaw devices rotate --scope ...kan alleen operatorscopes aanvragen die de aanroepersessie al heeft
- Configuratie (Gateway-auth-modi)
- Control UI
- Apparaten
- Externe toegang
- Vertrouwde-proxy-auth
Gateway-service draait niet
Gebruik dit wanneer de service is geïnstalleerd maar het proces niet actief blijft.Runtime: stoppedmet exithints.- Mismatch in serviceconfiguratie (
Config (cli)vsConfig (service)). - Poort-/listenerconflicten.
- Extra launchd/systemd/schtasks-installaties wanneer
--deepwordt gebruikt. - Opruimhints voor
Other gateway-like services detected (best effort).
Veelvoorkomende kenmerken
Veelvoorkomende kenmerken
Gateway start blocked: set gateway.mode=localofexisting config is missing gateway.mode→ lokale gatewaymodus is niet ingeschakeld, of het configuratiebestand is overschreven engateway.modeis verloren gegaan. Oplossing: stelgateway.mode="local"in je configuratie in, of voeropenclaw onboard --mode local/openclaw setupopnieuw uit om de verwachte lokale-modusconfiguratie opnieuw te stempelen. Als je OpenClaw via Podman uitvoert, is het standaardconfiguratiepad~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ niet-loopback bind zonder geldig Gateway-auth-pad (token/wachtwoord, of vertrouwde proxy waar geconfigureerd).another gateway instance is already listening/EADDRINUSE→ poortconflict.Other gateway-like services detected (best effort)→ er bestaan verouderde of parallelle launchd/systemd/schtasks-units. De meeste setups zouden één gateway per machine moeten houden; als je er toch meer dan één nodig hebt, isoleer dan poorten + configuratie/status/werkruimte. Zie /gateway#multiple-gateways-same-host.System-level OpenClaw gateway service detectedvan doctor → er bestaat een systemd-systeemunit terwijl de service op gebruikersniveau ontbreekt. Verwijder of schakel het duplicaat uit voordat je doctor toestaat een gebruikersservice te installeren, of stelOPENCLAW_SERVICE_REPAIR_POLICY=externalin als de systeemunit de bedoelde supervisor is.Gateway service port does not match current gateway config→ de geïnstalleerde supervisor pint nog steeds de oude--port. Voeropenclaw doctor --fixofopenclaw gateway install --forceuit en herstart daarna de Gateway-service.
macOS-gateway reageert stilzwijgend niet meer en hervat daarna wanneer je het dashboard aanraakt
Gebruik dit wanneer kanalen (Telegram, WhatsApp, enz.) op een macOS-host minuten tot uren tegelijk stilvallen, en de gateway lijkt terug te komen zodra je de Control UI opent, via SSH inlogt of anderszins met de host interageert. Er is meestal geen duidelijk symptoom inopenclaw status, omdat de gateway tegen de tijd dat je kijkt alweer leeft.
- Een of meer
*-uncaught_exception.json-bundels in~/.openclaw/logs/stability/waarbijerror.codeis ingesteld op een tijdelijke netwerkcode zoalsENETDOWN,ENETUNREACH,EHOSTUNREACHofECONNREFUSED. pmset -g log-regels zoalsEntering Sleep state due to 'Maintenance Sleep'ofen0 driver is slow (msg: WillChangeState to 0)die samenvallen met de crashtijdstempels. Power Nap / Maintenance Sleep zet het wifi-stuurprogramma kort in status 0; elke uitgaandeconnect()die in dat venster valt, kan mislukken metENETDOWN, zelfs op een host die verder volledige netwerkconnectiviteit heeft.launchctl print-uitvoer metstate = not running, meerdere recenterunsen een exitcode, vooral wanneer de periode tussen de crash en de volgende start eerder rond een uur ligt dan rond seconden. macOS launchd past na een crashreeks een niet-gedocumenteerde herstartbeveiliging toe dieKeepAlive=truekan blijven negeren totdat een externe trigger, zoals interactief inloggen, een dashboardverbinding oflaunchctl kickstart, deze opnieuw activeert.
- Een stabiliteitsbundel waarvan
error.codeENETDOWNof een verwante code is, met een callstack die wijst naar NodenetlookupAndConnect/Socket.connect. OpenClaw2026.5.26en nieuwer classificeren deze als onschuldige tijdelijke netwerkfouten, zodat ze niet langer doorlopen naar de uncaught handler op topniveau; als je een oudere release gebruikt, upgrade dan eerst. - Lange stille perioden die precies eindigen zodra je verbinding maakt met de Control UI of via SSH inlogt op de host: de gebruikerszichtbare activiteit is wat de herstartbeveiliging van launchd opnieuw activeert, niet iets wat het dashboard met de gateway doet.
- Een
runs-aantal dat gedurende de dag oploopt zonder overeenkomstige regelreceived SIG*; shutting downin~/Library/Logs/openclaw/gateway.log: schone afsluitingen loggen een signaal; tijdelijke crashes doen dat niet.
-
Upgrade de gateway als je een release vóór
2026.5.26gebruikt. Na de upgrade worden toekomstigeENETDOWN-fouten als waarschuwingen gelogd in plaats van het proces te beëindigen. -
Verminder onderhoudsslaapactiviteit op Mac mini- / desktophosts die bedoeld zijn om als altijd-aan-servers te draaien:
Dit vermindert de onderliggende driverflap aanzienlijk, maar elimineert deze niet volledig. Het systeem kan nog steeds bepaalde onderhoudsslaapstanden uitvoeren voor TCP-keepalive en mDNS-onderhoud, ongeacht deze vlaggen.
-
Voeg een liveness-watchdog toe, zodat een toekomstige crashreeks die door launchd wordt geparkeerd snel wordt opgemerkt:
Het doel is om de herstartbeveiliging extern opnieuw te activeren;
KeepAlive=truealleen is op macOS na een crashreeks niet voldoende.
Gateway sluit af bij hoog geheugengebruik
Gebruik dit wanneer de Gateway onder belasting verdwijnt, de supervisor een OOM-achtige herstart meldt, of logscritical memory pressure bundle written vermelden.
Reason: diagnostic.memory.pressure.criticalin de nieuwste stabiliteitsbundel.Memory pressure:metcritical/rss_threshold,critical/heap_thresholdofcritical/rss_growth.V8 heap:-waarden dicht bij de heaplimiet.Largest session files:-items zoalsagents/<agent>/sessions/<session>.jsonlofsessions/<session>.jsonl.- Linux cgroup-geheugentellers wanneer de gateway in een container of service met geheugenlimiet draait.
critical memory pressure bundle writtenverschijnt kort voor de herstart → OpenClaw heeft een pre-OOM-stabiliteitsbundel vastgelegd. Inspecteer deze metopenclaw gateway stability --bundle latest.memory pressure: level=critical ... memoryPressureSnapshot=disabledverschijnt in gatewaylogs → OpenClaw heeft kritieke geheugendruk gedetecteerd, maar de pre-OOM-stabiliteitssnapshot staat uit.Largest session files:wijst naar een zeer groot geredigeerd transcriptpad → verminder de bewaarde sessiegeschiedenis, inspecteer sessiegroei, of verplaats oude transcripties uit de actieve opslag voordat je opnieuw start.- Gebruikte bytes bij
V8 heap:liggen dicht bij de heaplimiet → verlaag prompt-/sessiedruk, verminder gelijktijdig werk, of verhoog de Node-heaplimiet pas nadat je hebt bevestigd dat de workload verwacht is. Memory pressure: critical/rss_growth→ geheugen groeide snel binnen één samplingvenster. Controleer de nieuwste logs op een grote import, ontspoorde tooluitvoer, herhaalde retries of een batch wachtrijwerk van agents.- Kritieke geheugendruk verschijnt in logs maar er bestaat geen bundel → dit is de standaardinstelling. Stel
diagnostics.memoryPressureSnapshot: truein om de pre-OOM-stabiliteitsbundel vast te leggen bij toekomstige kritieke geheugendrukgebeurtenissen.
Gateway heeft ongeldige configuratie geweigerd
Gebruik dit wanneer het opstarten van de Gateway mislukt metInvalid config of hot-reloadlogs zeggen
dat een ongeldige bewerking is overgeslagen.
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- Een getijdstempeld bestand
openclaw.json.rejected.*naast de actieve configuratie - Een getijdstempeld bestand
openclaw.json.clobbered.*alsdoctor --fixeen kapotte directe bewerking heeft gerepareerd - OpenClaw bewaart de nieuwste 32
.clobbered.*-bestanden voor elk configuratiepad en roteert oudere bestanden
What happened
What happened
- De configuratie valideerde niet tijdens het opstarten, hot reload, of een schrijfactie die eigendom is van OpenClaw.
- Het opstarten van de Gateway faalt gesloten in plaats van
openclaw.jsonte herschrijven. - Hot reload slaat ongeldige externe bewerkingen over en houdt de huidige runtimeconfiguratie actief.
- Schrijfacties die eigendom zijn van OpenClaw weigeren ongeldige/destructieve payloads vóór commit en slaan
.rejected.*op. openclaw doctor --fixis eigenaar van reparatie. Het kan niet-JSON-prefixen verwijderen of de laatst bekende goede kopie herstellen, terwijl de geweigerde payload als.clobbered.*behouden blijft.- Wanneer er veel reparaties plaatsvinden voor één configuratiepad, roteert OpenClaw oudere
.clobbered.*-bestanden zodat de nieuwste gerepareerde payload beschikbaar blijft.
Inspect and repair
Inspect and repair
Common signatures
Common signatures
.clobbered.*bestaat → doctor heeft een kapotte externe bewerking behouden terwijl de actieve configuratie werd gerepareerd..rejected.*bestaat → een configuratieschrijfactie die eigendom is van OpenClaw faalde schema- of clobbercontroles vóór commit.Config write rejected:→ de schrijfactie probeerde de vereiste vorm te laten vallen, het bestand sterk te verkleinen, of ongeldige configuratie vast te leggen.config reload skipped (invalid config):→ een directe bewerking faalde validatie en werd genegeerd door de draaiende Gateway.Invalid config at ...→ opstarten faalde voordat Gateway-services werden gestart.missing-meta-vs-last-good,gateway-mode-missing-vs-last-goodofsize-drop-vs-last-good:*→ een schrijfactie die eigendom is van OpenClaw werd geweigerd omdat velden of grootte verloren gingen vergeleken met de laatst bekende goede back-up.Config last-known-good promotion skipped→ de kandidaat bevatte geredigeerde geheime placeholders zoals***.
Fix options
Fix options
- Voer
openclaw doctor --fixuit om doctor prefixed/clobbered-configuratie te laten repareren of last-known-good te laten herstellen. - Kopieer alleen de bedoelde sleutels uit
.clobbered.*of.rejected.*en pas ze vervolgens toe metopenclaw config setofconfig.patch. - Voer
openclaw config validateuit voordat je opnieuw start. - Als je handmatig bewerkt, behoud dan de volledige JSON5-configuratie, niet alleen het gedeeltelijke object dat je wilde wijzigen.
Gateway-probewaarschuwingen
Gebruik dit wanneeropenclaw gateway probe iets bereikt, maar toch een waarschuwingsblok afdrukt.
warnings[].codeenprimaryTargetIdin JSON-uitvoer.- Of de waarschuwing gaat over SSH-fallback, meerdere gateways, ontbrekende scopes of onopgeloste auth-refs.
SSH tunnel failed to start; falling back to direct probes.→ SSH-configuratie faalde, maar de opdracht probeerde nog steeds directe geconfigureerde/local loopback-doelen.multiple reachable gateway identities detected→ verschillende gateways hebben geantwoord, of OpenClaw kon niet bewijzen dat bereikbare doelen dezelfde gateway zijn. Een SSH-tunnel, proxy-URL of geconfigureerde externe URL naar dezelfde gateway wordt behandeld als één gateway met meerdere transports, zelfs wanneer transportpoorten verschillen.Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ verbinden werkte, maar detail-RPC is beperkt door scopes; koppel apparaatidentiteit of gebruik referenties metoperator.read.Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ verbinden werkte, maar de volledige set diagnostische RPC’s kreeg een timeout of faalde. Behandel dit als een bereikbare Gateway met gedegradeerde diagnostiek; vergelijkconnect.okenconnect.rpcOkin--json-uitvoer.Capability: pairing-pendingofgateway closed (1008): pairing required→ de gateway antwoordde, maar deze client moet nog worden gekoppeld/goedgekeurd vóór normale operatortoegang.- onopgeloste waarschuwingstekst voor
gateway.auth.*/gateway.remote.*SecretRef → auth-materiaal was in dit opdrachtpad niet beschikbaar voor het mislukte doel.
Kanaal verbonden, berichten stromen niet
Als de kanaalstatus verbonden is maar de berichtenstroom dood is, focus dan op beleid, machtigingen en kanaalspecifieke bezorgregels.- DM-beleid (
pairing,allowlist,open,disabled). - Groepsallowlist en vermeldingsvereisten.
- Ontbrekende kanaal-API-machtigingen/scopes.
mention required→ bericht genegeerd door groepsvermeldingsbeleid.pairing/ sporen van wachtende goedkeuring → afzender is niet goedgekeurd.missing_scope,not_in_channel,Forbidden,401/403→ probleem met kanaalauthenticatie/-machtigingen.
Cron- en Heartbeat-bezorging
Als cron of heartbeat niet heeft gedraaid of niet is bezorgd, verifieer dan eerst de schedulerstatus en daarna het bezorgdoel.- Cron ingeschakeld en volgende activering aanwezig.
- Status van taakuitvoeringsgeschiedenis (
ok,skipped,error). - Redenen voor overgeslagen Heartbeat (
quiet-hours,requests-in-flight,cron-in-progress,lanes-busy,alerts-disabled,empty-heartbeat-file,no-tasks-due).
Veelvoorkomende signalen
Veelvoorkomende signalen
cron: scheduler disabled; jobs will not run automatically→ cron uitgeschakeld.cron: timer tick failed→ plannertick mislukt; controleer bestands-, log- en runtimefouten.heartbeat skippedmetreason=quiet-hours→ buiten het venster met actieve uren.heartbeat skippedmetreason=empty-heartbeat-file→HEARTBEAT.mdbestaat maar bevat alleen lege, commentaar-, kop-, fence- of lege-checkliststructuur, dus OpenClaw slaat de modelaanroep over.heartbeat skippedmetreason=no-tasks-due→HEARTBEAT.mdbevat eentasks:-blok, maar geen van de taken is aan de beurt bij deze tick.heartbeat: unknown accountId→ ongeldig account-id voor Heartbeat-afleverdoel.heartbeat skippedmetreason=dm-blocked→ Heartbeat-doel is herleid tot een DM-achtige bestemming terwijlagents.defaults.heartbeat.directPolicy(of een override per agent) is ingesteld opblock.
Node gekoppeld, tool mislukt
Als een Node gekoppeld is maar tools mislukken, isoleer dan voorgrond-, toestemmings- en goedkeuringsstatus.- Node online met verwachte mogelijkheden.
- OS-toestemmingen voor camera/microfoon/locatie/scherm.
- Exec-goedkeuringen en allowlist-status.
NODE_BACKGROUND_UNAVAILABLE→ Node-app moet op de voorgrond staan.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ ontbrekende OS-toestemming.SYSTEM_RUN_DENIED: approval required→ exec-goedkeuring in behandeling.SYSTEM_RUN_DENIED: allowlist miss→ opdracht geblokkeerd door allowlist.
Browsertool mislukt
Gebruik dit wanneer acties van de browsertool mislukken, ook al is de Gateway zelf gezond.- Of
plugins.allowis ingesteld enbrowserbevat. - Geldig pad naar browseruitvoerbaar bestand.
- Bereikbaarheid van CDP-profiel.
- Beschikbaarheid van lokale Chrome voor
existing-session- /user-profielen.
Plugin- / uitvoerbaar-bestandssignalen
Plugin- / uitvoerbaar-bestandssignalen
unknown command "browser"ofunknown command 'browser'→ de meegeleverde browser-Plugin is uitgesloten doorplugins.allow.- browsertool ontbreekt / is niet beschikbaar terwijl
browser.enabled=true→plugins.allowsluitbrowseruit, waardoor de Plugin nooit is geladen. Failed to start Chrome CDP on port→ browserproces kon niet worden gestart.browser.executablePath not found→ geconfigureerd pad is ongeldig.browser.cdpUrl must be http(s) or ws(s)→ de geconfigureerde CDP-URL gebruikt een niet-ondersteund schema zoalsfile:offtp:.browser.cdpUrl has invalid port→ de geconfigureerde CDP-URL heeft een ongeldige poort of een poort buiten bereik.Playwright is not available in this gateway build; '<feature>' is unsupported.→ de huidige Gateway-installatie mist de kernruntimeafhankelijkheid voor de browser; installeer OpenClaw opnieuw of werk het bij en herstart daarna de Gateway. ARIA-snapshots en eenvoudige paginaschermafbeeldingen kunnen nog werken, maar navigatie, AI-snapshots, schermafbeeldingen van elementen via CSS-selectors en PDF-export blijven niet beschikbaar.
Chrome MCP- / existing-session-signalen
Chrome MCP- / existing-session-signalen
Could not find DevToolsActivePort for chrome→ Chrome MCP existing-session kon nog niet koppelen aan de geselecteerde browsergegevensmap. Open de inspectiepagina van de browser, schakel remote debugging in, houd de browser open, keur de eerste koppelprompt goed en probeer het opnieuw. Als aangemelde status niet vereist is, geef dan de voorkeur aan het beheerdeopenclaw-profiel.No Chrome tabs found for profile="user"→ het Chrome MCP-koppelprofiel heeft geen geopende lokale Chrome-tabbladen.Remote CDP for profile "<name>" is not reachable→ het geconfigureerde externe CDP-eindpunt is niet bereikbaar vanaf de Gateway-host.Browser attachOnly is enabled ... not reachableofBrowser attachOnly is enabled and CDP websocket ... is not reachable→ attach-only-profiel heeft geen bereikbaar doel, of het HTTP-eindpunt antwoordde maar de CDP-WebSocket kon nog steeds niet worden geopend.
Element- / schermafbeelding- / uploadsignalen
Element- / schermafbeelding- / uploadsignalen
fullPage is not supported for element screenshots→ schermafbeeldingsverzoek combineerde--full-pagemet--refof--element.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ Chrome MCP- /existing-session-schermafbeeldingsaanroepen moeten paginacapture of een snapshot---refgebruiken, niet CSS---element.existing-session file uploads do not support element selectors; use ref/inputRef.→ Chrome MCP-uploadhooks hebben snapshotrefs nodig, geen CSS-selectors.existing-session file uploads currently support one file at a time.→ verstuur één upload per aanroep op Chrome MCP-profielen.existing-session dialog handling does not support timeoutMs.→ dialooghooks op Chrome MCP-profielen ondersteunen geen timeout-overrides.existing-session type does not support timeoutMs overrides.→ laattimeoutMsweg vooract:typeopprofile="user"- / Chrome MCP existing-session-profielen, of gebruik een beheerd/CDP-browserprofiel wanneer een aangepaste timeout vereist is.existing-session evaluate does not support timeoutMs overrides.→ laattimeoutMsweg vooract:evaluateopprofile="user"- / Chrome MCP existing-session-profielen, of gebruik een beheerd/CDP-browserprofiel wanneer een aangepaste timeout vereist is.response body is not supported for existing-session profiles yet.→responsebodyvereist nog steeds een beheerde browser of raw CDP-profiel.- verouderde viewport- / dark-mode- / locale- / offline-overrides op attach-only- of externe CDP-profielen → voer
openclaw browser stop --browser-profile <name>uit om de actieve controlesessie te sluiten en de Playwright/CDP-emulatiestatus vrij te geven zonder de hele Gateway opnieuw te starten.
Als je hebt geüpgraded en er plotseling iets stukging
De meeste breuken na een upgrade zijn configuratiedrift of strengere defaults die nu worden afgedwongen.1. Gedrag voor auth en URL-override is gewijzigd
1. Gedrag voor auth en URL-override is gewijzigd
- Als
gateway.mode=remote, kunnen CLI-aanroepen op remote gericht zijn terwijl je lokale service in orde is. - Expliciete
--url-aanroepen vallen niet terug op opgeslagen referenties.
gateway connect failed:→ verkeerd URL-doel.unauthorized→ eindpunt bereikbaar maar verkeerde auth.
2. Bind- en auth-guardrails zijn strenger
2. Bind- en auth-guardrails zijn strenger
- Niet-loopback-binds (
lan,tailnet,custom) hebben een geldig Gateway-auth-pad nodig: gedeelde token-/wachtwoordauth, of een correct geconfigureerde niet-loopback-trusted-proxy-implementatie. - Oude sleutels zoals
gateway.tokenvervangengateway.auth.tokenniet.
refusing to bind gateway ... without auth→ niet-loopback-bind zonder geldig Gateway-auth-pad.Connectivity probe: failedterwijl runtime draait → Gateway leeft maar is niet toegankelijk met huidige auth/url.
3. Koppeling en apparaatidentiteitsstatus zijn gewijzigd
3. Koppeling en apparaatidentiteitsstatus zijn gewijzigd
- Apparaatgoedkeuringen in behandeling voor dashboard/nodes.
- DM-koppelingsgoedkeuringen in behandeling na beleids- of identiteitswijzigingen.
device identity required→ apparaat-auth niet voldaan.pairing required→ afzender/apparaat moet worden goedgekeurd.