#retrieval-issue
Sorted by views, then solution_desc, solution, and root_cause length (desc).
2525 issues
After upgrading from 2026.3.28 to 2026.3.31, the gateway starts successfully (binds port, loads plugins, connects WhatsApp) but becomes completely unresponsive within 30-60 seconds. The process cannot be stopped gracefully (SIGTERM times out after 30s, requires SIGKILL). Consistent across multiple restart attempts. Rolled back to 2026.3.28 — immediately stable, no issues.
OpenClaw version: 2026.4.5 (3e72c03) Node.js version: v22.22.2 (also reproduced on v24.14.0) OS: Windows 11 (10.0.26200) Running openclaw onboard on native Windows crashes immediately after selecting a model. The ESM loader rejects the module specifier because it receives a raw Windows path (C:\...) instead of a file:/// URL. Steps to reproduce 1. Install openclaw globally on Windows: npm install -g openclaw 2. Run openclaw onboard 3. Select Ollama as the provider 4. Select any model (e.g. ollama/gemma4:e4b) Error Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:' Root cause The plugin/extension loader in dist/loader-BkajlJCF.js resolves plugin paths to absolute Windows paths (e.g. C:\Users\...\extensions\openclaw-web-search) and passes them directly to jiti / dynamic import(). On Windows, ESM requires these to be file:///C:/... URLs. Relevant lines in dist/loader-BkajlJCF.js: - Line ~2526: mod = getJiti(safeSource)(safeSource); - Line ~2213: const runtimeModule = getJiti(runtimeModulePath)(runtimeModulePath); Also in dist/io-CS2J_l4V.js: - Line ~161: mod = getJiti(contractSource)(contractSource); Suggested fix Wrap paths with pathToFileURL() before passing to dynamic import: import { pathToFileURL } from 'node:url'; // Before mod = getJiti(safeSource)(safeSource); // After mod = getJiti(safeSource)(pathToFileURL(safeSource).href); Workaround Running openclaw under WSL2 avoids the issue since Linux paths don't have drive letters.
web_fetch blocks when a public domain resolves to a special-use IP (FakeIP), returning "Blocked: resolves to private/internal/special-use IP address", even though the domain is public.
When sending a file (via attachment or upload) in Lark/Feishu, if the original filename contains non-ASCII characters (e.g., Chinese, Japanese, emoji, or special symbols), the file is received with a URL-encoded filename (e.g., %E6%B5%8B%E8%AF%95.txt) instead of the original human-readable name (e.g., 测试.txt).
Interactive Browser Tool Fails Despite Healthy Gateway (Docker / Hostinger Image) Environment Image: ghcr.io/hostinger/hvps-openclaw:latest OpenClaw version: 2026.3.8 (3caab92) Deployment: Docker (Hostinger VPS) Model: openai/gpt-5.2 OS: Linux VPS Problem Interactive browser automation fails even though both the OpenClaw gateway and browser controller are running. When prompting: open nytimes.com the agent responds: “I can’t open nytimes.com in the interactive browser because the OpenClaw gateway isn’t running on this host.” It suggests running: openclaw gateway install openclaw gateway start However this is incorrect because the gateway is already running inside the container. Verification Gateway is reachable: curl http://127.0.0.1:18789 Result: 18789_http=200 Browser controller is reachable: curl http://127.0.0.1:18791 Result: 18791_http=401 Logs [gateway] listening on ws://127.0.0.1:18789 [browser/server] Browser control listening on http://127.0.0.1:18791/ [browser/service] Browser control service ready When browser tool runs: [tools] browser failed: timed out Browser Runtime Check Chromium present: /usr/bin/chromium Playwright installed: ~/.cache/ms-playwright/chromium-* Steps Already Tried container restart openclaw doctor openclaw doctor --repair full browser state reset recreated browser profiles verified gateway + browser controller ports confirmed Playwright + Chromium installed None resolved the issue. Expected Behavior The browser tool should open the page in the managed browser. Actual Behavior Agent incorrectly reports gateway not running and falls back to HTTP fetch. Notes Other OpenClaw features work normally: Telegram bot cron jobs web fetch/search skills The issue appears limited to interactive browser tool invocation.
Antfarm workflow cron creation fails with 'gateway timeout after 120ms' error when using OpenClaw CLI fallback, preventing workflows from running autonomously.
Channels Empty
`openai-codex` appears to enter the generic OpenAI websocket transport path on current `main`, but the websocket connection target is still the generic OpenAI Responses websocket endpoint. In an isolated smoke test on merged `upstream/main`, this causes the websocket attempt to fail with HTTP 500 and fall back to HTTP transport. The chat/tool flow still succeeds after fallback, so this is not a total functional failure. The issue is that the `openai-codex` provider seems to be treated as websocket-eligible without clear evidence that the generic OpenAI websocket endpoint is the correct transport target for the Codex OAuth path.
Two related issues with the WhatsApp channel causing constant reconnect churn on headless/VPS deployments.
All isolated agent sessions using local LLM providers (Ollama, exo/OpenAI-compatible) time out at exactly ~61 seconds with: > Request timed out before a response was generated. Please try again, or increase agents.defaults.timeoutSeconds in your config. This happens **regardless** of: - `agents.defaults.timeoutSeconds: 300` (global config) - `payload.timeoutSeconds: 300` (per-cron-job) - `lightContext: true` (reduced system prompt) - Model being warm and responding in <1s to direct curl The timeout is in the HTTP fetch from OpenClaw's LLM client to the provider endpoint, not in the job scheduler.
在 Windows 上使用 `openclaw gateway install` 安装的计划任务,在关闭 PowerShell 窗口后 Gateway 会断连,必须重新运行 `openclaw gateway start` 才能恢复。
OpenClaw 在处理流式消息时,content 和 reasoning_content 的归类逻辑存在状态机或竞态缺陷,导致最终消息的 thinking 与 text 归类在不同运行中不一致,进而出现两种错误表现: 1. **空消息(幽灵框)**:thinking 有内容,text 缺失 2. **思考链冒充正文**:thinking 为空,text 装进了本应是 thinking 的内容
Currently, OpenClaw agents can only **reply to existing messages** (thread replies). They cannot **initiate a new root message** in a Slack channel and use it as a thread anchor for ongoing discussion.