कमांड क्रम
पहले इन्हें इसी क्रम में चलाएँ:openclaw gateway statusमेंRuntime: running,Connectivity probe: ok, औरCapability: ...लाइन दिखती है।openclaw doctorकोई अवरोधक कॉन्फ़िगरेशन/सेवा समस्या रिपोर्ट नहीं करता।openclaw channels status --probeहर खाते के लिए लाइव ट्रांसपोर्ट स्थिति दिखाता है और, जहाँ समर्थित हो,worksयाaudit okजैसे probe/audit परिणाम दिखाता है।
अपडेट के बाद
इसे तब उपयोग करें जब अपडेट पूरा हो जाए लेकिन Gateway डाउन हो, चैनल खाली हों, या मॉडल कॉल 401 के साथ विफल होने लगें।openclaw status/openclaw status --allमेंUpdate restart। लंबित या विफल handoff में चलाने के लिए अगला कमांड शामिल होता है।- Channels के अंतर्गत
plugin load failed: dependency tree corrupted; run openclaw doctor --fix। इसका अर्थ है कि चैनल कॉन्फ़िगरेशन अभी भी मौजूद है, लेकिन चैनल लोड होने से पहले Plugin रजिस्ट्रेशन विफल हो गया। - दोबारा auth के बाद provider 401।
openclaw doctor --fixपुराने प्रति-agent OAuth auth shadow की जाँच करता है और पुरानी प्रतियाँ हटाता है ताकि सभी agents वर्तमान साझा profile resolve करें।
Split brain installs और नया कॉन्फ़िगरेशन guard
इसे तब उपयोग करें जब अपडेट के बाद gateway सेवा अप्रत्याशित रूप से बंद हो जाए, या logs दिखाएँ कि कोईopenclaw binary उस version से पुरानी है जिसने आख़िरी बार openclaw.json लिखा था।
OpenClaw कॉन्फ़िगरेशन writes पर meta.lastTouchedVersion की मुहर लगाता है। Read-only commands अब भी नए OpenClaw द्वारा लिखे गए कॉन्फ़िगरेशन को inspect कर सकते हैं, लेकिन process और service mutations पुराने binary से आगे बढ़ने से मना कर देते हैं। अवरुद्ध actions में gateway service start, stop, restart, uninstall, forced service reinstall, service-mode gateway startup, और gateway --force port cleanup शामिल हैं।
rollback के बाद protocol mismatch
इसे तब उपयोग करें जब OpenClaw downgrade या roll back करने के बाद logs मेंprotocol mismatch लगातार print हो रहा हो। इसका अर्थ है कि पुराना Gateway चल रहा है, लेकिन कोई नया local client process अभी भी ऐसे protocol range के साथ reconnect करने की कोशिश कर रहा है जिसे पुराना Gateway बोल नहीं सकता।
- Gateway logs में
protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>। openclaw gateway status --deepमेंEstablished clients:याopenclaw doctor --deepमेंGateway clients। यह Gateway port से जुड़े active TCP clients सूचीबद्ध करता है, जिनमें OS अनुमति दे तो PIDs और command lines भी शामिल होते हैं।- कोई client process जिसकी command line उस नए OpenClaw install या wrapper की ओर point करती है जिससे आपने roll back किया था।
gateway status --deepद्वारा दिखाए गए stale OpenClaw client process को stop या restart करें।- OpenClaw embed करने वाले apps या wrappers restart करें, जैसे local dashboards, editors, app-server helpers, या लंबे समय तक चलने वाले
openclaw logs --followshells। openclaw gateway status --deepयाopenclaw doctor --deepदोबारा चलाएँ और पुष्टि करें कि stale client PID चला गया है।
Skill symlink path escape के रूप में छोड़ा गया
इसे तब उपयोग करें जब logs में यह शामिल हो:~/.agents/skills, <workspace>/.agents/skills, <workspace>/skills, या
~/.openclaw/skills के अंतर्गत symlink तब छोड़ा जाता है जब उसका real target उस root के बाहर resolve हो,
जब तक target स्पष्ट रूप से trusted न हो।
link inspect करें:
~, /, या पूरे synced project folder जैसे broad targets का उपयोग न करें।
allowSymlinkTargets को उस वास्तविक skill root तक scoped रखें जिसमें trusted
SKILL.md directories हैं।
यदि Skill Workshop apply को उन trusted symlinked
workspace skill paths के माध्यम से भी write करना चाहिए, तो skills.workshop.allowSymlinkTargetWrites enable करें। इसे
read-only shared skill roots के लिए disabled रखें।
संबंधित:
लंबे context के लिए Anthropic 429 extra usage required
इसे तब उपयोग करें जब logs/errors में शामिल हो:HTTP 429: rate_limit_error: Extra usage is required for long context requests।
- चुना गया Anthropic model GA-capable 1M Claude 4.x model है, या model में legacy
params.context1m: trueहै। - वर्तमान Anthropic credential long-context usage के लिए eligible नहीं है।
- Requests केवल उन long sessions/model runs पर fail होती हैं जिन्हें 1M context path चाहिए।
standard context window उपयोग करें
standard-window model पर switch करें, या पुराने
model config से legacy
context1m हटाएँ जो 1M context के लिए GA-capable नहीं है।eligible credential उपयोग करें
ऐसा Anthropic credential उपयोग करें जो long-context requests के लिए eligible हो, या Anthropic API key पर switch करें।
Upstream 403 blocked responses
इसे तब उपयोग करें जब upstream LLM provider generic403 लौटाए, जैसे
Your request was blocked।
यह न मानें कि यह हमेशा OpenClaw configuration issue है। Response किसी upstream security layer से
आ सकता है, जैसे CDN, WAF, bot-management rule, या
OpenAI-compatible endpoint के सामने reverse proxy।
- एक ही provider के अंतर्गत multiple models एक ही तरह fail हो रहे हों
- normal provider API error के बजाय HTML या generic security text
- उसी request time के provider-side security events
- एक छोटा direct
curlprobe सफल हो रहा हो जबकि normal SDK-shaped requests fail हों
Local OpenAI-compatible backend direct probes pass करता है लेकिन agent runs fail होते हैं
इसे तब उपयोग करें जब:curl ... /v1/modelsकाम करता है- छोटे direct
/v1/chat/completionscalls काम करते हैं - OpenClaw model runs केवल normal agent turns पर fail होते हैं
- direct छोटे calls succeed होते हैं, लेकिन OpenClaw runs केवल larger prompts पर fail होते हैं
model_not_foundया 404 errors, भले ही direct/v1/chat/completionsउसी bare model id के साथ काम करता हो- backend errors कि
messages[].contentstring expect कर रहा है - OpenAI-compatible local backend के साथ intermittent
incomplete turn detected ... stopReason=stop payloads=0warnings - backend crashes जो केवल larger prompt-token counts या full agent runtime prompts के साथ दिखते हैं
सामान्य signatures
सामान्य signatures
- local MLX/vLLM-style server के साथ
model_not_found→ verify करें किbaseUrlमें/v1शामिल है,/v1/chat/completionsbackends के लिएapi"openai-completions"है, औरmodels.providers.<provider>.models[].idbare provider-local id है। इसे provider prefix के साथ एक बार select करें, उदाहरण के लिएmlx/mlx-community/Qwen3-30B-A3B-6bit; catalog entry कोmlx-community/Qwen3-30B-A3B-6bitरखें। messages[...].content: invalid type: sequence, expected a string→ backend structured Chat Completions content parts reject करता है। Fix:models.providers.<provider>.models[].compat.requiresStringContent: trueसेट करें।validation.keysया allowed message keys जैसे["role","content"]→ backend Chat Completions messages पर OpenAI-style replay metadata reject करता है। Fix:models.providers.<provider>.models[].compat.strictMessageKeys: trueसेट करें।incomplete turn detected ... stopReason=stop payloads=0→ backend ने Chat Completions request complete की लेकिन उस turn के लिए कोई user-visible assistant text नहीं लौटाया। OpenClaw खाली OpenAI-compatible turns को replay-safe रूप में एक बार retry करता है; persistent failures का आमतौर पर मतलब है कि backend empty/non-text content emit कर रहा है या final-answer text suppress कर रहा है।- direct छोटे requests succeed होते हैं, लेकिन OpenClaw agent runs backend/model crashes के साथ fail होते हैं (उदाहरण के लिए कुछ
inferrsbuilds पर Gemma) → OpenClaw transport संभवतः पहले से सही है; backend larger agent-runtime prompt shape पर fail हो रहा है। - tools disable करने के बाद failures घटते हैं लेकिन गायब नहीं होते → tool schemas pressure का हिस्सा थे, लेकिन बाकी issue अब भी upstream model/server capacity या backend bug है।
ठीक करने के विकल्प
ठीक करने के विकल्प
- string-only Chat Completions backends के लिए
compat.requiresStringContent: trueसेट करें। - strict Chat Completions backends के लिए
compat.strictMessageKeys: trueसेट करें जो हर message पर केवलroleऔरcontentaccept करते हैं। - उन models/backends के लिए
compat.supportsTools: falseसेट करें जो OpenClaw के tool schema surface को भरोसेमंद ढंग से handle नहीं कर सकते। - जहाँ संभव हो prompt pressure घटाएँ: छोटा workspace bootstrap, छोटी session history, हल्का local model, या stronger long-context support वाला backend।
- यदि छोटे direct requests pass होते रहते हैं जबकि OpenClaw agent turns अब भी backend के भीतर crash करते हैं, तो इसे upstream server/model limitation मानें और accepted payload shape के साथ वहाँ repro file करें।
कोई जवाब नहीं
अगर चैनल चालू हैं लेकिन कोई उत्तर नहीं देता, तो कुछ भी दोबारा कनेक्ट करने से पहले रूटिंग और नीति जांचें।- DM भेजने वालों के लिए पेयरिंग लंबित है।
- समूह मेंशन गेटिंग (
requireMention,mentionPatterns)। - चैनल/समूह allowlist में असंगति।
drop guild message (mention required→ मेंशन तक समूह संदेश अनदेखा किया गया।pairing request→ भेजने वाले को अनुमोदन चाहिए।blocked/allowlist→ भेजने वाला/चैनल नीति से फ़िल्टर किया गया था।
डैशबोर्ड कंट्रोल UI कनेक्टिविटी
जब डैशबोर्ड/कंट्रोल UI कनेक्ट न हो, तो URL, प्रमाणीकरण मोड, और सुरक्षित संदर्भ संबंधी मान्यताओं की पुष्टि करें।- सही probe URL और dashboard URL।
- क्लाइंट और Gateway के बीच प्रमाणीकरण मोड/टोकन असंगति।
- जहां डिवाइस पहचान आवश्यक है, वहां HTTP उपयोग।
127.0.0.1:18789 से कनेक्ट नहीं हो सकता, तो पहले
स्थानीय Gateway सेवा को पुनर्प्राप्त करें और पुष्टि करें कि वह डैशबोर्ड सर्व कर रही है:
curl OpenClaw HTML लौटाता है, तो Gateway काम कर रहा है और बाकी समस्या
शायद ब्राउज़र कैश, कोई पुराना डीप लिंक, या पुरानी टैब स्थिति है। सीधे
http://127.0.0.1:18789 खोलें और डैशबोर्ड से नेविगेट करें। अगर restart
से सेवा चालू नहीं रहती, तो openclaw gateway start चलाएं और फिर से
openclaw gateway status जांचें।
कनेक्ट / प्रमाणीकरण संकेत
कनेक्ट / प्रमाणीकरण संकेत
प्रमाणीकरण detail codes quick map
अगली कार्रवाई चुनने के लिए विफलconnect response से error.details.code का उपयोग करें:
| Detail code | अर्थ | अनुशंसित कार्रवाई |
|---|---|---|
AUTH_TOKEN_MISSING | क्लाइंट ने आवश्यक shared token नहीं भेजा। | क्लाइंट में token paste/set करें और retry करें। डैशबोर्ड paths के लिए: openclaw config get gateway.auth.token फिर Control UI settings में paste करें। |
AUTH_TOKEN_MISMATCH | Shared token gateway auth token से मेल नहीं खाया। | अगर canRetryWithDeviceToken=true है, तो एक trusted retry की अनुमति दें। Cached-token retries संग्रहित approved scopes का फिर से उपयोग करती हैं; स्पष्ट deviceToken / scopes callers requested scopes रखते हैं। अगर अभी भी विफल हो, तो token drift recovery checklist चलाएं। |
AUTH_DEVICE_TOKEN_MISMATCH | Cached per-device token पुराना या revoked है। | devices CLI का उपयोग करके device token rotate/re-approve करें, फिर reconnect करें। |
AUTH_SCOPE_MISMATCH | Device token valid है, लेकिन उसकी approved role/scopes इस connect request को कवर नहीं करतीं। | Device को re-pair करें या requested scope contract approve करें; इसे shared-token drift न मानें। |
PAIRING_REQUIRED | Device identity को approval चाहिए। not-paired, scope-upgrade, role-upgrade, या metadata-upgrade के लिए error.details.reason जांचें, और मौजूद होने पर requestId / remediationHint का उपयोग करें। | Pending request approve करें: openclaw devices list फिर openclaw devices approve <requestId>। Requested access की समीक्षा के बाद scope/role upgrades भी यही flow उपयोग करते हैं। |
Shared gateway token/password से authenticated direct loopback backend RPCs को CLI के paired-device scope baseline पर निर्भर नहीं होना चाहिए। अगर subagents या अन्य internal calls अब भी
scope-upgrade के साथ fail होती हैं, तो verify करें कि caller client.id: "gateway-client" और client.mode: "backend" उपयोग कर रहा है और कोई explicit deviceIdentity या device token force नहीं कर रहा है।
अगर
openclaw devices rotate / revoke / remove अप्रत्याशित रूप से denied है:
- paired-device token sessions केवल अपने device को manage कर सकते हैं, जब तक caller के पास
operator.adminभी न हो openclaw devices rotate --scope ...केवल वही operator scopes request कर सकता है जो caller session के पास पहले से हैं
- कॉन्फ़िगरेशन (gateway auth modes)
- Control UI
- Devices
- Remote access
- Trusted proxy auth
Gateway सेवा नहीं चल रही
इसका उपयोग तब करें जब सेवा installed हो लेकिन process चालू न रहे।- exit hints के साथ
Runtime: stopped। - Service config mismatch (
Config (cli)बनामConfig (service))। - Port/listener conflicts।
--deepउपयोग होने पर अतिरिक्त launchd/systemd/schtasks installs।Other gateway-like services detected (best effort)cleanup hints।
सामान्य संकेत
सामान्य संकेत
Gateway start blocked: set gateway.mode=localयाexisting config is missing gateway.mode→ local gateway mode enabled नहीं है, या config file clobber होकरgateway.modeखो चुकी है। Fix: अपने config मेंgateway.mode="local"set करें, या expected local-mode config restamp करने के लिएopenclaw onboard --mode local/openclaw setupदोबारा चलाएं। अगर आप Podman के जरिए OpenClaw चला रहे हैं, तो default config path~/.openclaw/openclaw.jsonहै।refusing to bind gateway ... without auth→ valid gateway auth path (token/password, या configured होने पर trusted-proxy) के बिना non-loopback bind।another gateway instance is already listening/EADDRINUSE→ port conflict।Other gateway-like services detected (best effort)→ stale या parallel launchd/systemd/schtasks units मौजूद हैं। अधिकांश setups को प्रति machine एक gateway रखना चाहिए; अगर आपको एक से अधिक चाहिए, तो ports + config/state/workspace isolate करें। देखें /gateway#multiple-gateways-same-host।- doctor से
System-level OpenClaw gateway service detected→ user-level service missing होने पर systemd system unit मौजूद है। Doctor को user service install करने देने से पहले duplicate हटाएं या disable करें, या अगर system unit intended supervisor है तोOPENCLAW_SERVICE_REPAIR_POLICY=externalset करें। Gateway service port does not match current gateway config→ installed supervisor अभी भी पुराने--portको pin करता है।openclaw doctor --fixयाopenclaw gateway install --forceचलाएं, फिर gateway service restart करें।
macOS gateway चुपचाप response देना बंद कर देता है, फिर dashboard छूने पर resume करता है
इसका उपयोग तब करें जब macOS host पर channels (Telegram, WhatsApp, आदि) कई मिनटों से घंटों तक शांत हो जाते हैं, और gateway Control UI खोलते ही, SSH करते ही, या host से किसी और तरह interact करते ही वापस आता दिखता है। आमतौर परopenclaw status में कोई स्पष्ट symptom नहीं होता क्योंकि जब तक आप देखते हैं gateway फिर से alive हो चुका होता है।
~/.openclaw/logs/stability/में एक या अधिक*-uncaught_exception.jsonबंडल, जिनमेंerror.codeकिसी अस्थायी नेटवर्क कोड जैसेENETDOWN,ENETUNREACH,EHOSTUNREACH, याECONNREFUSEDपर सेट हो।pmset -g logकी ऐसी पंक्तियां जैसेEntering Sleep state due to 'Maintenance Sleep'याen0 driver is slow (msg: WillChangeState to 0), जो क्रैश टाइमस्टैम्प से मेल खाती हों। Power Nap / Maintenance Sleep वाई-फाई ड्राइवर को थोड़ी देर के लिए state 0 में डाल देता है; उस विंडो में पहुंचने वाला कोई भी आउटबाउंडconnect()ENETDOWNके साथ विफल हो सकता है, भले ही होस्ट पर अन्यथा पूरी नेटवर्क कनेक्टिविटी हो।launchctl printआउटपुट जिसमें कई हालियाrunsऔर एक एग्जिट कोड के साथstate = not runningदिखे, खासकर जब क्रैश और अगले लॉन्च के बीच का अंतर सेकंड के बजाय लगभग एक घंटे का हो। macOS launchd क्रैश बर्स्ट के बाद एक अदस्तावेजीकृत respawn-protection gate लागू करता है, जोKeepAlive=trueका सम्मान करना तब तक बंद कर सकता है जब तक कोई बाहरी ट्रिगर, जैसे इंटरैक्टिव लॉगिन, डैशबोर्ड कनेक्शन, याlaunchctl kickstart, उसे फिर से सक्रिय न करे।
- ऐसा stability बंडल जिसका
error.codeENETDOWNया संबंधित कोड हो, और कॉल स्टैक NodenetlookupAndConnect/Socket.connectकी ओर संकेत करे। OpenClaw2026.5.26और उससे नए संस्करण इन्हें सौम्य अस्थायी नेटवर्क त्रुटियों के रूप में वर्गीकृत करते हैं, इसलिए ये अब टॉप-लेवल uncaught handler तक नहीं पहुंचतीं; अगर आप पुराने रिलीज पर हैं, तो पहले अपग्रेड करें। - लंबी शांत अवधियां जो Control UI से कनेक्ट करते ही या होस्ट में SSH करते ही समाप्त हो जाती हैं: उपयोगकर्ता-दृश्यमान गतिविधि launchd के respawn gate को फिर से सक्रिय करती है, न कि डैशबोर्ड द्वारा Gateway के साथ किया गया कोई काम।
- दिन भर
runsसंख्या बढ़ना, लेकिन~/Library/Logs/openclaw/gateway.logमें उसके अनुरूपreceived SIG*; shutting downपंक्ति न होना: साफ शटडाउन सिग्नल लॉग करते हैं; अस्थायी क्रैश ऐसा नहीं करते।
-
अगर आप
2026.5.26से पहले का रिलीज चला रहे हैं, तो Gateway अपग्रेड करें। अपग्रेड के बाद, भविष्य कीENETDOWNत्रुटियां प्रक्रिया समाप्त करने के बजाय चेतावनियों के रूप में लॉग होती हैं। -
Mac mini / डेस्कटॉप होस्ट पर maintenance sleep गतिविधि कम करें, जिन्हें हमेशा-ऑन सर्वर के रूप में चलना है:
यह अंतर्निहित ड्राइवर फ्लैप को काफी कम करता है, लेकिन पूरी तरह समाप्त नहीं करता। सिस्टम इन फ्लैग्स के बावजूद TCP keepalive और mDNS रखरखाव के लिए कुछ maintenance sleeps कर सकता है।
-
एक liveness watchdog जोड़ें ताकि भविष्य का क्रैश बर्स्ट, जिसे launchd पार्क कर दे, जल्दी पकड़ा जा सके:
उद्देश्य respawn gate को बाहरी रूप से फिर से सक्रिय करना है; macOS पर क्रैश बर्स्ट के बाद केवल
KeepAlive=trueपर्याप्त नहीं है।
अधिक मेमोरी उपयोग के दौरान Gateway बाहर निकलता है
इसका उपयोग तब करें जब Gateway लोड के दौरान गायब हो जाए, supervisor OOM-शैली restart रिपोर्ट करे, या लॉग मेंcritical memory pressure bundle written का उल्लेख हो।
- नवीनतम stability बंडल में
Reason: diagnostic.memory.pressure.critical। critical/rss_threshold,critical/heap_threshold, याcritical/rss_growthके साथMemory pressure:।- heap सीमा के पास
V8 heap:मान। Largest session files:प्रविष्टियां जैसेagents/<agent>/sessions/<session>.jsonlयाsessions/<session>.jsonl।- जब Gateway किसी container या memory-limited service के अंदर चलता है, तो Linux cgroup memory counters।
- restart से थोड़ी देर पहले
critical memory pressure bundle writtenदिखाई देता है → OpenClaw ने pre-OOM stability बंडल कैप्चर किया। इसेopenclaw gateway stability --bundle latestसे जांचें। - Gateway लॉग में
memory pressure: level=critical ... memoryPressureSnapshot=disabledदिखाई देता है → OpenClaw ने critical memory pressure पहचाना, लेकिन pre-OOM stability snapshot बंद है। Largest session files:बहुत बड़े redacted transcript path की ओर संकेत करता है → retained session history कम करें, session growth जांचें, या restart से पहले पुराने transcripts को active store से बाहर ले जाएं।V8 heap:used bytes heap सीमा के करीब हैं → prompt/session pressure कम करें, concurrent work घटाएं, या workload अपेक्षित होने की पुष्टि के बाद ही Node heap limit बढ़ाएं।Memory pressure: critical/rss_growth→ एक sampling window के अंदर memory तेजी से बढ़ी। किसी बड़े import, runaway tool output, repeated retries, या queued agent work के batch के लिए नवीनतम लॉग जांचें।- Critical memory pressure लॉग में दिखाई देता है लेकिन कोई बंडल मौजूद नहीं है → यह डिफॉल्ट है। भविष्य के critical memory pressure events पर pre-OOM stability बंडल कैप्चर करने के लिए
diagnostics.memoryPressureSnapshot: trueसेट करें।
Gateway ने अमान्य config अस्वीकार किया
इसका उपयोग तब करें जब Gateway startupInvalid config के साथ विफल हो या hot reload logs कहें
कि उसने अमान्य edit छोड़ दिया।
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- active config के पास timestamped
openclaw.json.rejected.*file - अगर
doctor --fixने broken direct edit repair किया है, तो timestampedopenclaw.json.clobbered.*file - OpenClaw प्रत्येक config path के लिए नवीनतम 32
.clobbered.*files रखता है और पुरानी files rotate करता है
क्या हुआ
क्या हुआ
- startup, hot reload, या OpenClaw-owned write के दौरान config validate नहीं हुआ।
- Gateway startup
openclaw.jsonको फिर से लिखने के बजाय fail closed करता है। - Hot reload अमान्य external edits को छोड़ देता है और current runtime config active रखता है।
- OpenClaw-owned writes commit से पहले अमान्य/destructive payloads को reject करते हैं और
.rejected.*save करते हैं। openclaw doctor --fixrepair का मालिक है। यह rejected payload को.clobbered.*के रूप में सुरक्षित रखते हुए non-JSON prefixes हटा सकता है या last-known-good copy restore कर सकता है।- जब एक config path के लिए कई repairs होते हैं, तो OpenClaw पुरानी
.clobbered.*files rotate करता है ताकि newest repaired payload फिर भी उपलब्ध रहे।
जांचें और repair करें
जांचें और repair करें
सामान्य संकेत
सामान्य संकेत
.clobbered.*मौजूद है → doctor ने active config repair करते समय broken external edit सुरक्षित रखा।.rejected.*मौजूद है → OpenClaw-owned config write commit से पहले schema या clobber checks में विफल हुआ।Config write rejected:→ write ने required shape हटाने, file को बहुत कम करने, या invalid config persist करने की कोशिश की।config reload skipped (invalid config):→ direct edit validation में विफल हुआ और running Gateway ने उसे अनदेखा किया।Invalid config at ...→ Gateway services boot होने से पहले startup विफल हुआ।missing-meta-vs-last-good,gateway-mode-missing-vs-last-good, याsize-drop-vs-last-good:*→ OpenClaw-owned write इसलिए reject हुआ क्योंकि उसने last-known-good backup की तुलना में fields या size खो दिया।Config last-known-good promotion skipped→ candidate में redacted secret placeholders जैसे***थे।
Fix विकल्प
Fix विकल्प
- doctor को prefixed/clobbered config repair करने या last-known-good restore करने देने के लिए
openclaw doctor --fixचलाएं। .clobbered.*या.rejected.*से केवल intended keys कॉपी करें, फिर उन्हेंopenclaw config setयाconfig.patchसे apply करें।- restart करने से पहले
openclaw config validateचलाएं। - अगर आप हाथ से edit करते हैं, तो पूरा JSON5 config रखें, केवल वह partial object नहीं जिसे आप बदलना चाहते थे।
Gateway probe चेतावनियां
इसका उपयोग तब करें जबopenclaw gateway probe किसी चीज तक पहुंचता है, लेकिन फिर भी warning block प्रिंट करता है।
- JSON output में
warnings[].codeऔरprimaryTargetId। - चेतावनी SSH fallback, multiple gateways, missing scopes, या unresolved auth refs के बारे में है या नहीं।
SSH tunnel failed to start; falling back to direct probes.→ SSH setup विफल हुआ, लेकिन command ने फिर भी direct configured/loopback targets आजमाए।multiple reachable gateway identities detected→ अलग-अलग gateways ने उत्तर दिया, या OpenClaw यह साबित नहीं कर सका कि reachable targets वही Gateway हैं। उसी Gateway के लिए SSH tunnel, proxy URL, या configured remote URL को multiple transports वाला एक Gateway माना जाता है, भले ही transport ports अलग हों।Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ connect काम कर गया, लेकिन detail RPC scope-limited है; device identity pair करें याoperator.readवाले credentials उपयोग करें।Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ connect काम कर गया, लेकिन पूरा diagnostic RPC set timed out या failed हुआ। इसे degraded diagnostics वाला reachable Gateway मानें;--jsonoutput मेंconnect.okऔरconnect.rpcOkकी तुलना करें।Capability: pairing-pendingयाgateway closed (1008): pairing required→ Gateway ने उत्तर दिया, लेकिन इस client को normal operator access से पहले अभी pairing/approval चाहिए।- unresolved
gateway.auth.*/gateway.remote.*SecretRef warning text → failed target के लिए इस command path में auth material उपलब्ध नहीं था।
Channel connected है, messages flow नहीं हो रहे
अगर channel state connected है लेकिन message flow बंद है, तो policy, permissions, और channel specific delivery rules पर ध्यान दें।- DM policy (
pairing,allowlist,open,disabled)। - Group allowlist और mention requirements।
- Missing channel API permissions/scopes।
mention required→ group mention policy ने message ignore किया।pairing/ pending approval traces → sender approved नहीं है।missing_scope,not_in_channel,Forbidden,401/403→ channel auth/permissions issue।
Cron और Heartbeat delivery
अगर Cron या Heartbeat नहीं चला या deliver नहीं हुआ, तो पहले scheduler state verify करें, फिर delivery target।- Cron सक्षम है और अगला wake मौजूद है।
- Job run history status (
ok,skipped,error)। - Heartbeat skip reasons (
quiet-hours,requests-in-flight,cron-in-progress,lanes-busy,alerts-disabled,empty-heartbeat-file,no-tasks-due)।
सामान्य signatures
सामान्य signatures
cron: scheduler disabled; jobs will not run automatically→ cron अक्षम है।cron: timer tick failed→ scheduler tick विफल हुआ; file/log/runtime त्रुटियां जांचें।heartbeat skippedwithreason=quiet-hours→ सक्रिय घंटों की window के बाहर।heartbeat skippedwithreason=empty-heartbeat-file→HEARTBEAT.mdमौजूद है, लेकिन इसमें केवल खाली, comment, header, fence, या empty-checklist scaffolding है, इसलिए OpenClaw model call को छोड़ देता है।heartbeat skippedwithreason=no-tasks-due→HEARTBEAT.mdमेंtasks:block है, लेकिन इस tick पर कोई task due नहीं है।heartbeat: unknown accountId→ heartbeat delivery target के लिए अमान्य account id।heartbeat skippedwithreason=dm-blocked→ heartbeat target DM-style destination में resolve हुआ, जबकिagents.defaults.heartbeat.directPolicy(या per-agent override)blockपर set है।
Node paired है, tool विफल होता है
यदि कोई Node paired है लेकिन tools विफल होते हैं, तो foreground, permission, और approval state को अलग करके जांचें।- अपेक्षित capabilities के साथ Node online है।
- camera/mic/location/screen के लिए OS permission grants।
- Exec approvals और allowlist state।
NODE_BACKGROUND_UNAVAILABLE→ node app foreground में होना चाहिए।*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ OS permission मौजूद नहीं है।SYSTEM_RUN_DENIED: approval required→ exec approval लंबित है।SYSTEM_RUN_DENIED: allowlist miss→ command allowlist द्वारा blocked है।
Browser tool विफल होता है
इसे तब उपयोग करें जब browser tool actions विफल हों, भले ही gateway स्वयं स्वस्थ हो।- क्या
plugins.allowset है और उसमेंbrowserशामिल है। - मान्य browser executable path।
- CDP profile reachability।
existing-session/userprofiles के लिए local Chrome availability।
Plugin / executable signatures
Plugin / executable signatures
unknown command "browser"orunknown command 'browser'→ bundled browser plugin कोplugins.allowने exclude कर दिया है।- browser tool missing / unavailable while
browser.enabled=true→plugins.allowमेंbrowserशामिल नहीं है, इसलिए plugin कभी load नहीं हुआ। Failed to start Chrome CDP on port→ browser process launch होने में विफल रहा।browser.executablePath not found→ configured path अमान्य है।browser.cdpUrl must be http(s) or ws(s)→ configured CDP URLfile:याftp:जैसी unsupported scheme का उपयोग करता है।browser.cdpUrl has invalid port→ configured CDP URL में खराब या सीमा से बाहर port है।Playwright is not available in this gateway build; '<feature>' is unsupported.→ मौजूदा gateway install में core browser runtime dependency नहीं है; OpenClaw को reinstall या update करें, फिर gateway restart करें। ARIA snapshots और basic page screenshots अब भी काम कर सकते हैं, लेकिन navigation, AI snapshots, CSS-selector element screenshots, और PDF export unavailable रहेंगे।
Chrome MCP / existing-session signatures
Chrome MCP / existing-session signatures
Could not find DevToolsActivePort for chrome→ Chrome MCP existing-session अभी selected browser data dir से attach नहीं कर सका। browser inspect page खोलें, remote debugging सक्षम करें, browser खुला रखें, पहले attach prompt को approve करें, फिर retry करें। यदि signed-in state आवश्यक नहीं है, तो managedopenclawprofile को प्राथमिकता दें।No Chrome tabs found for profile="user"→ Chrome MCP attach profile में कोई open local Chrome tabs नहीं हैं।Remote CDP for profile "<name>" is not reachable→ configured remote CDP endpoint gateway host से reachable नहीं है।Browser attachOnly is enabled ... not reachableorBrowser attachOnly is enabled and CDP websocket ... is not reachable→ attach-only profile में कोई reachable target नहीं है, या HTTP endpoint ने answer दिया लेकिन CDP WebSocket फिर भी open नहीं हो सका।
Element / screenshot / upload signatures
Element / screenshot / upload signatures
fullPage is not supported for element screenshots→ screenshot request ने--full-pageको--refया--elementके साथ मिला दिया।element screenshots are not supported for existing-session profiles; use ref from snapshot.→ Chrome MCP /existing-sessionscreenshot calls को page capture या snapshot--refउपयोग करना चाहिए, CSS--elementनहीं।existing-session file uploads do not support element selectors; use ref/inputRef.→ Chrome MCP upload hooks को snapshot refs चाहिए, CSS selectors नहीं।existing-session file uploads currently support one file at a time.→ Chrome MCP profiles पर प्रति call एक upload भेजें।existing-session dialog handling does not support timeoutMs.→ Chrome MCP profiles पर dialog hooks timeout overrides support नहीं करते।existing-session type does not support timeoutMs overrides.→profile="user"/ Chrome MCP existing-session profiles परact:typeके लिएtimeoutMsomit करें, या custom timeout आवश्यक होने पर managed/CDP browser profile उपयोग करें।existing-session evaluate does not support timeoutMs overrides.→profile="user"/ Chrome MCP existing-session profiles परact:evaluateके लिएtimeoutMsomit करें, या custom timeout आवश्यक होने पर managed/CDP browser profile उपयोग करें।response body is not supported for existing-session profiles yet.→responsebodyके लिए अभी भी managed browser या raw CDP profile आवश्यक है।- stale viewport / dark-mode / locale / offline overrides on attach-only or remote CDP profiles → पूरे gateway को restart किए बिना active control session close करने और Playwright/CDP emulation state release करने के लिए
openclaw browser stop --browser-profile <name>चलाएं।
यदि आपने upgrade किया और अचानक कुछ टूट गया
अधिकांश post-upgrade टूट-फूट config drift या अब enforce हो रहे stricter defaults के कारण होती है।1. Auth और URL override behavior बदल गया
1. Auth और URL override behavior बदल गया
- यदि
gateway.mode=remoteहै, तो CLI calls remote को target कर सकती हैं, जबकि आपकी local service ठीक है। - Explicit
--urlcalls stored credentials पर fall back नहीं करतीं।
gateway connect failed:→ गलत URL target।unauthorized→ endpoint reachable है, लेकिन auth गलत है।
2. Bind और auth guardrails अधिक सख्त हैं
2. Bind और auth guardrails अधिक सख्त हैं
- Non-loopback binds (
lan,tailnet,custom) को valid gateway auth path चाहिए: shared token/password auth, या सही ढंग से configured non-loopbacktrusted-proxydeployment। gateway.tokenजैसी पुरानी keysgateway.auth.tokenको replace नहीं करतीं।
refusing to bind gateway ... without auth→ valid gateway auth path के बिना non-loopback bind।Connectivity probe: failedwhile runtime is running → gateway alive है लेकिन current auth/url के साथ inaccessible है।
3. Pairing और device identity state बदल गई
3. Pairing और device identity state बदल गई
- dashboard/nodes के लिए pending device approvals।
- policy या identity changes के बाद pending DM pairing approvals।
device identity required→ device auth satisfied नहीं है।pairing required→ sender/device approved होना चाहिए।