Gateway-Fehlerbehebung
Diese Seite ist das tiefgehende Runbook. Beginnen Sie bei /help/troubleshooting, wenn Sie zuerst den schnellen Triage-Ablauf möchten.Befehlsleiter
Führen Sie diese zuerst in genau dieser Reihenfolge aus:openclaw gateway statuszeigtRuntime: runningundRPC probe: ok.openclaw doctormeldet keine blockierenden Konfigurations-/Dienstprobleme.openclaw channels status --probezeigt den Live-Transportstatus pro Konto und, wo unterstützt, Prüf-/Audit-Ergebnisse wieworksoderaudit ok.
Anthropic 429: Extra Usage für langen Kontext erforderlich
Verwenden Sie dies, wenn Logs/Fehler Folgendes enthalten:HTTP 429: rate_limit_error: Extra usage is required for long context requests.
- Das ausgewählte Anthropic-Opus-/Sonnet-Modell hat
params.context1m: true. - Die aktuellen Anthropic-Anmeldedaten sind nicht für die Nutzung mit langem Kontext geeignet.
- Anfragen schlagen nur bei langen Sitzungen/Modelläufen fehl, die den 1M-Beta-Pfad benötigen.
context1mfür dieses Modell deaktivieren, um auf das normale Kontextfenster zurückzufallen.- Einen Anthropic-API-Schlüssel mit Abrechnung verwenden oder Anthropic Extra Usage für das Anthropic-OAuth-/Abonnementkonto aktivieren.
- Fallback-Modelle konfigurieren, damit Läufe fortgesetzt werden, wenn Anthropic-Anfragen mit langem Kontext abgelehnt werden.
- /providers/anthropic
- /reference/token-use
- /help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic
Keine Antworten
Wenn Kanäle aktiv sind, aber nichts antwortet, prüfen Sie zuerst Routing und Richtlinien, bevor Sie etwas erneut verbinden.- Ausstehendes Pairing für DM-Absender.
- Erwähnungs-Gating in Gruppen (
requireMention,mentionPatterns). - Nicht übereinstimmende Kanal-/Gruppen-Allowlists.
drop guild message (mention required→ Gruppennachricht wird ignoriert, bis eine Erwähnung erfolgt.pairing request→ der Absender benötigt eine Genehmigung.blocked/allowlist→ Absender/Kanal wurde durch die Richtlinie gefiltert.
Konnektivität von Dashboard / Control UI
Wenn sich das Dashboard / die Control UI nicht verbinden kann, prüfen Sie URL, Auth-Modus und Annahmen zum sicheren Kontext.- Korrekte Probe-URL und Dashboard-URL.
- Nicht übereinstimmender Auth-Modus/Token zwischen Client und Gateway.
- HTTP-Nutzung, wo Geräteidentität erforderlich ist.
device identity required→ unsicherer Kontext oder fehlende Geräteauthentifizierung.origin not allowed→ Browser-Originist nicht ingateway.controlUi.allowedOrigins(oder Sie verbinden sich von einem Browser-Origin außerhalb von Loopback ohne explizite Allowlist).device nonce required/device nonce mismatch→ der Client schließt den challenge-basierten Geräteauthentifizierungsablauf (connect.challenge+device.nonce) nicht ab.device signature invalid/device signature expired→ der Client hat die falsche Payload (oder einen veralteten Zeitstempel) für den aktuellen Handshake signiert.AUTH_TOKEN_MISMATCHmitcanRetryWithDeviceToken=true→ der Client kann einen vertrauenswürdigen Wiederholungsversuch mit einem zwischengespeicherten Gerätetoken durchführen.- Dieser Wiederholungsversuch mit zwischengespeichertem Token verwendet erneut die mit dem gekoppelten
Gerätetoken gespeicherte Scope-Menge. Aufrufer mit explizitem
deviceToken/ explizitenscopesbehalten stattdessen ihre angeforderte Scope-Menge. - Außerhalb dieses Wiederholungsversuchs hat Connect-Auth folgende Vorrangreihenfolge: explizites gemeinsames
Token/Passwort zuerst, dann explizites
deviceToken, dann gespeichertes Gerätetoken, dann Bootstrap-Token. - Auf dem asynchronen Tailscale-Serve-Control-UI-Pfad werden fehlgeschlagene Versuche für dieselbe
{scope, ip}serialisiert, bevor der Limiter den Fehler erfasst. Zwei schlechte gleichzeitige Wiederholungsversuche desselben Clients können daher beim zweiten Versuchretry laterausgeben statt zwei einfacher Nichtübereinstimmungen. too many failed authentication attempts (retry later)von einem Loopback-Client mit Browser-Origin → wiederholte Fehler aus demselben normalisiertenOriginwerden vorübergehend ausgesperrt; ein anderer localhost-Origin verwendet einen separaten Bucket.- wiederholtes
unauthorizednach diesem Wiederholungsversuch → Drift zwischen gemeinsamem Token und Gerätetoken; Token-Konfiguration aktualisieren und Gerätetoken bei Bedarf erneut genehmigen/rotieren. gateway connect failed:→ falsches Ziel für Host/Port/URL.
Schnellzuordnung der Auth-Detailcodes
Verwenden Sieerror.details.code aus der fehlgeschlagenen connect-Antwort, um die nächste Aktion auszuwählen:
| Detailcode | Bedeutung | Empfohlene Aktion |
|---|---|---|
AUTH_TOKEN_MISSING | Client hat ein erforderliches gemeinsames Token nicht gesendet. | Token im Client einfügen/setzen und erneut versuchen. Für Dashboard-Pfade: openclaw config get gateway.auth.token und dann in die Control-UI-Einstellungen einfügen. |
AUTH_TOKEN_MISMATCH | Gemeinsames Token stimmte nicht mit dem Gateway-Auth-Token überein. | Wenn canRetryWithDeviceToken=true, einen vertrauenswürdigen Wiederholungsversuch zulassen. Wiederholungsversuche mit Cache-Token verwenden erneut gespeicherte genehmigte Scopes; Aufrufer mit explizitem deviceToken / scopes behalten angeforderte Scopes. Wenn es weiter fehlschlägt, die Checkliste zur Wiederherstellung bei Token-Drift ausführen. |
AUTH_DEVICE_TOKEN_MISMATCH | Das zwischengespeicherte Token pro Gerät ist veraltet oder widerrufen. | Gerätetoken über devices CLI rotieren/erneut genehmigen und dann erneut verbinden. |
PAIRING_REQUIRED | Geräteidentität ist bekannt, aber für diese Rolle nicht genehmigt. | Ausstehende Anfrage genehmigen: openclaw devices list und dann openclaw devices approve <requestId>. |
- auf
connect.challengewartet - die an die Challenge gebundene Payload signiert
connect.params.device.noncemit derselben Challenge-Nonce sendet
openclaw devices rotate / revoke / remove unerwartet verweigert wird:
- Sitzungen mit gekoppeltem Gerätetoken können nur ihr eigenes Gerät verwalten, außer der
Aufrufer hat zusätzlich
operator.admin openclaw devices rotate --scope ...kann nur Operator-Scopes anfordern, die die Aufrufer-Sitzung bereits besitzt
- /web/control-ui
- /gateway/configuration (Gateway-Auth-Modi)
- /gateway/trusted-proxy-auth
- /gateway/remote
- /cli/devices
Gateway-Dienst läuft nicht
Verwenden Sie dies, wenn der Dienst installiert ist, der Prozess aber nicht aktiv bleibt.Runtime: stoppedmit Hinweisen zum Beenden.- Nicht übereinstimmende Dienstkonfiguration (
Config (cli)vsConfig (service)). - Port-/Listener-Konflikte.
- Zusätzliche launchd-/systemd-/schtasks-Installationen bei Verwendung von
--deep. - Bereinigungshinweise unter
Other gateway-like services detected (best effort).
Gateway start blocked: set gateway.mode=localoderexisting config is missing gateway.mode→ der lokale Gateway-Modus ist nicht aktiviert, oder die Konfigurationsdatei wurde beschädigt und hatgateway.modeverloren. Behebung:gateway.mode="local"in Ihrer Konfiguration setzen oderopenclaw onboard --mode local/openclaw setuperneut ausführen, um die erwartete Konfiguration für den lokalen Modus wiederherzustellen. Wenn Sie OpenClaw über Podman ausführen, ist der Standardpfad für die Konfiguration~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ Nicht-Loopback-Binding ohne gültigen Gateway-Auth-Pfad (Token/Passwort oder, wo konfiguriert, trusted-proxy).another gateway instance is already listening/EADDRINUSE→ Portkonflikt.Other gateway-like services detected (best effort)→ veraltete oder parallele launchd-/systemd-/schtasks-Units existieren. Die meisten Setups sollten ein Gateway pro Maschine beibehalten; wenn Sie mehr als eines benötigen, isolieren Sie Ports + Konfiguration/Status/Workspace. Siehe /gateway#multiple-gateways-same-host.
Gateway-Probe-Warnungen
Verwenden Sie dies, wennopenclaw gateway probe etwas erreicht, aber trotzdem einen Warnblock ausgibt.
warnings[].codeundprimaryTargetIdin der JSON-Ausgabe.- Ob sich die Warnung auf SSH-Fallback, mehrere Gateways, fehlende Scopes oder nicht aufgelöste Auth-Refs bezieht.
SSH tunnel failed to start; falling back to direct probes.→ das SSH-Setup ist fehlgeschlagen, aber der Befehl hat trotzdem direkte konfigurierte/Loopback-Ziele versucht.multiple reachable gateways detected→ mehr als ein Ziel hat geantwortet. Normalerweise bedeutet das ein absichtliches Multi-Gateway-Setup oder veraltete/doppelte Listener.Probe diagnostics are limited by gateway scopes (missing operator.read)→ Verbindung hat funktioniert, aber Detail-RPC ist durch Scopes eingeschränkt; Geräteidentität pairen oder Anmeldedaten mitoperator.readverwenden.- nicht aufgelöster Warntext zu
gateway.auth.*/gateway.remote.*SecretRef → Auth-Material war in diesem Befehlspfad für das fehlgeschlagene Ziel nicht verfügbar.
Kanal verbunden, aber Nachrichten fließen nicht
Wenn der Kanalstatus verbunden ist, der Nachrichtenfluss aber tot ist, konzentrieren Sie sich auf Richtlinien, Berechtigungen und kanalspezifische Zustellungsregeln.- DM-Richtlinie (
pairing,allowlist,open,disabled). - Gruppen-Allowlist und Erwähnungsanforderungen.
- Fehlende API-Berechtigungen/Scopes des Kanals.
mention required→ Nachricht wird durch die Erwähnungsrichtlinie für Gruppen ignoriert.pairing/ ausstehende Genehmigungsspuren → Absender ist nicht genehmigt.missing_scope,not_in_channel,Forbidden,401/403→ Problem mit Kanal-Auth/Berechtigungen.
Cron- und Heartbeat-Zustellung
Wenn Cron oder Heartbeat nicht gelaufen ist oder nicht zugestellt wurde, prüfen Sie zuerst den Scheduler-Status und dann das Zustellungsziel.- Cron ist aktiviert und der nächste Wake ist vorhanden.
- Status des Job-Ausführungsverlaufs (
ok,skipped,error). - Gründe für das Überspringen des Heartbeats (
quiet-hours,requests-in-flight,alerts-disabled,empty-heartbeat-file,no-tasks-due).
cron: scheduler disabled; jobs will not run automatically→ Cron deaktiviert.cron: timer tick failed→ Scheduler-Tick fehlgeschlagen; prüfen Sie Datei-/Log-/Laufzeitfehler.heartbeat skippedmitreason=quiet-hours→ außerhalb des Fensters aktiver Stunden.heartbeat skippedmitreason=empty-heartbeat-file→HEARTBEAT.mdexistiert, enthält aber nur leere Zeilen / Markdown-Header, daher überspringt OpenClaw den Modellaufruf.heartbeat skippedmitreason=no-tasks-due→HEARTBEAT.mdenthält einen Blocktasks:, aber bei diesem Tick ist keine der Aufgaben fällig.heartbeat: unknown accountId→ ungültige accountId für das Zustellungsziel des Heartbeats.heartbeat skippedmitreason=dm-blocked→ das Heartbeat-Ziel wurde zu einem Ziel im DM-Stil aufgelöst, währendagents.defaults.heartbeat.directPolicy(oder eine Überschreibung pro Agent) aufblockgesetzt ist.
Tool eines gekoppelten Nodes schlägt fehl
Wenn ein Node gekoppelt ist, Tools aber fehlschlagen, isolieren Sie Vordergrund, Berechtigung und Genehmigungsstatus.- Node ist online und hat die erwarteten Fähigkeiten.
- Vom Betriebssystem gewährte Berechtigungen für Kamera/Mikrofon/Standort/Bildschirm.
- Exec-Genehmigungen und Allowlist-Status.
NODE_BACKGROUND_UNAVAILABLE→ Node-App muss im Vordergrund sein.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ fehlende Betriebssystemberechtigung.SYSTEM_RUN_DENIED: approval required→ Exec-Genehmigung ausstehend.SYSTEM_RUN_DENIED: allowlist miss→ Befehl durch Allowlist blockiert.
Browser-Tool schlägt fehl
Verwenden Sie dies, wenn Browser-Tool-Aktionen fehlschlagen, obwohl das Gateway selbst gesund ist.- Ob
plugins.allowgesetzt ist undbrowserenthält. - Gültiger Pfad zur Browser-Executable.
- Erreichbarkeit des CDP-Profils.
- Verfügbarkeit von lokalem Chrome für Profile
existing-session/user.
unknown command "browser"oderunknown command 'browser'→ das gebündelte Browser-Plugin wird durchplugins.allowausgeschlossen.- Browser-Tool fehlt / ist nicht verfügbar, obwohl
browser.enabled=truegesetzt ist →plugins.allowschließtbrowseraus, sodass das Plugin nie geladen wurde. Failed to start Chrome CDP on port→ Browser-Prozess konnte nicht gestartet werden.browser.executablePath not found→ der konfigurierte Pfad ist ungültig.browser.cdpUrl must be http(s) or ws(s)→ die konfigurierte CDP-URL verwendet ein nicht unterstütztes Schema wiefile:oderftp:.browser.cdpUrl has invalid port→ die konfigurierte CDP-URL hat einen ungültigen oder außerhalb des Bereichs liegenden Port.No Chrome tabs found for profile="user"→ das Chrome-MCP-Attach-Profil hat keine offenen lokalen Chrome-Tabs.Remote CDP for profile "<name>" is not reachable→ der konfigurierte entfernte CDP-Endpunkt ist vom Gateway-Host aus nicht erreichbar.Browser attachOnly is enabled ... not reachableoderBrowser attachOnly is enabled and CDP websocket ... is not reachable→ das Attach-only-Profil hat kein erreichbares Ziel, oder der HTTP-Endpunkt hat geantwortet, aber das CDP-WebSocket konnte trotzdem nicht geöffnet werden.Playwright is not available in this gateway build; '<feature>' is unsupported.→ die aktuelle Gateway-Installation enthält nicht das vollständige Playwright-Paket; ARIA-Snapshots und einfache Seitenscreenshots können weiterhin funktionieren, aber Navigation, KI-Snapshots, Element-Screenshots über CSS-Selektoren und PDF-Export bleiben nicht verfügbar.fullPage is not supported for element screenshots→ die Screenshot-Anfrage hat--full-pagemit--refoder--elementkombiniert.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ Screenshot-Aufrufe von Chrome MCP /existing-sessionmüssen Seitenerfassung oder ein Snapshot---refverwenden, nicht CSS---element.existing-session file uploads do not support element selectors; use ref/inputRef.→ Upload-Hooks von Chrome MCP benötigen Snapshot-Refs, keine CSS-Selektoren.existing-session file uploads currently support one file at a time.→ bei Chrome-MCP-Profilen einen Upload pro Aufruf senden.existing-session dialog handling does not support timeoutMs.→ Dialog-Hooks bei Chrome-MCP-Profilen unterstützen keine Timeout-Überschreibungen.response body is not supported for existing-session profiles yet.→responsebodyerfordert weiterhin einen verwalteten Browser oder ein rohes CDP-Profil.- veraltete Überschreibungen für Viewport / Dark Mode / Locale / Offline in Attach-only- oder entfernten CDP-Profilen →
openclaw browser stop --browser-profile <name>ausführen, um die aktive Steuersitzung zu schließen und den Emulationszustand von Playwright/CDP freizugeben, ohne das gesamte Gateway neu zu starten.
Wenn Sie ein Upgrade durchgeführt haben und plötzlich etwas nicht mehr funktioniert
Die meisten Probleme nach einem Upgrade sind Konfigurationsdrift oder strengere Standardwerte, die jetzt durchgesetzt werden.1) Verhalten von Auth und URL-Überschreibungen hat sich geändert
- Wenn
gateway.mode=remotegesetzt ist, können CLI-Aufrufe remote zielen, während Ihr lokaler Dienst in Ordnung ist. - Explizite Aufrufe mit
--urlgreifen nicht auf gespeicherte Anmeldedaten zurück.
gateway connect failed:→ falsches URL-Ziel.unauthorized→ Endpunkt erreichbar, aber falsche Auth.
2) Guardrails für Bind und Auth sind strenger
- Nicht-Loopback-Bindings (
lan,tailnet,custom) benötigen einen gültigen Gateway-Auth-Pfad: Auth mit gemeinsamem Token/Passwort oder eine korrekt konfigurierte Bereitstellung vontrusted-proxyaußerhalb von Loopback. - Alte Schlüssel wie
gateway.tokenersetzengateway.auth.tokennicht.
refusing to bind gateway ... without auth→ Nicht-Loopback-Binding ohne gültigen Gateway-Auth-Pfad.RPC probe: failedwährend die Runtime läuft → Gateway lebt, ist aber mit der aktuellen Auth/URL nicht erreichbar.
3) Pairing- und Geräteidentitätsstatus hat sich geändert
- Ausstehende Gerätegenehmigungen für Dashboard/Nodes.
- Ausstehende DM-Pairing-Genehmigungen nach Änderungen an Richtlinie oder Identität.
device identity required→ Geräteauthentifizierung nicht erfüllt.pairing required→ Absender/Gerät muss genehmigt werden.