#index-setup
Sorted by views, then solution_desc, solution, and root_cause length (desc).
2519 issues
`openclaw doctor --fix` crashes with `Config validation failed: models.providers.google.baseUrl: Invalid input: expected string, received undefined` when migrating legacy `skills.entries.nano-banana-pro` config to `models.providers.google`.
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.
I encountered multiple issues while setting up OpenClaw on Windows using the QuickStart flow with Ollama. After completing onboarding and restarting the gateway service, the health check fails with a WebSocket error. Additionally, the embedded agent fails due to a timeout when using the default Ollama model.
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.
MiniMax image-to-image generation fails with "minimax edit does not support resolution overrides"
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.
I use `openclaw agents add cms` to add a new agent, and get: `.... ◇ Agent "cms" already exists. Update it? │ Yes │ ◇ Workspace directory │ /home/zhouych/.openclaw/workspace-cms │ ◇ Configure model/auth for this agent now? │ Yes 20:49:35 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:35 [plugins] feishu_chat: Registered feishu_chat tool 20:49:35 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:35 [plugins] feishu_drive: Registered feishu_drive tool 20:49:35 [plugins] feishu_bitable: Registered bitable tools │ ◇ Model/auth provider │ Moonshot AI (Kimi K2.5) │ ◇ Moonshot AI (Kimi K2.5) auth method │ Moonshot API key (.cn) 20:49:43 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:43 [plugins] feishu_chat: Registered feishu_chat tool 20:49:43 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:43 [plugins] feishu_drive: Registered feishu_drive tool 20:49:43 [plugins] feishu_bitable: Registered bitable tools │ ◇ Enter Moonshot API key (.cn) │ sk-************** 20:49:52 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:52 [plugins] feishu_chat: Registered feishu_chat tool 20:49:52 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:52 [plugins] feishu_drive: Registered feishu_drive tool 20:49:52 [plugins] feishu_bitable: Registered bitable tools 20:49:52 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:52 [plugins] feishu_chat: Registered feishu_chat tool 20:49:52 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:52 [plugins] feishu_drive: Registered feishu_drive tool 20:49:52 [plugins] feishu_bitable: Registered bitable tools 20:49:52 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:52 [plugins] feishu_chat: Registered feishu_chat tool 20:49:52 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:52 [plugins] feishu_drive: Registered feishu_drive tool 20:49:52 [plugins] feishu_bitable: Registered bitable tools 20:49:52 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes 20:49:52 [plugins] feishu_chat: Registered feishu_chat tool 20:49:52 [plugins] feishu_wiki: Registered feishu_wiki tool 20:49:52 [plugins] feishu_drive: Registered feishu_drive tool 20:49:52 [plugins] feishu_bitable: Registered bitable tools │ ◇ Model check ────────────────────────────────────────────────────────────────────────────╮ │ │ │ Model not found: moonshot/kimi-k2.5. Update agents.defaults.model or run /models list. │ │ │ ├──────────────────────────────────────────────────────────────────────────────────────────╯ `
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.