#permission-error
Sorted by views, then solution_desc, solution, and root_cause length (desc).
2601 issues
OpenClaw's OpenRouter provider is not sending the Authorization: Bearer <token> header, causing all requests to fail with 401 authentication errors. Environment • OpenClaw version: 2026.3.13 (61d171a) • OS: Linux (Debian-based) • Node version: v22.22.1 Configuration // ~/.openclaw/openclaw.json "models": { "providers": { "openrouter": { "baseUrl": "https://openrouter.ai/api/v1", "api": "openai-completions", "models": [...] } } }, "auth": { "profiles": { "openrouter:default": { "provider": "openrouter", "mode": "api_key" } } }
After updating OpenClaw from version 2026.3.24 to 2026.3.31, all requests to Ollama Cloud models fail with HTTP 401 "unauthorized". The same API key works perfectly when tested directly via curl against the Ollama API.
Jesus.... you can't do a release with breaking anything eh? After [#35077 #35077](https://github.com/openclaw/openclaw/issues/35077) we're at it again...... <img width="1029" height="651" alt="Image" src="https://github.com/user-attachments/assets/e007d5b7-17fd-435f-b490-56d645be90c2" /> I explicitly asked also in soul.md and agents.md for a feedback after this but it continues to shoot a billion of tool calls without even telling me what the heck is doing. Then at random times, it just sto doing stuff randomly and it acts like it finished. Like, tell me the heck you did. It doesn't complete tasks 50% of the times, it shoots ton of tool calls without giving feedback and more than anything the goddamn UI doesn't update again and again. I have to switch between menu and chat to get a refreshed update with recent tool calls and all. I'm starting to lose hope and switch to something else like hermes agent or picoclaw or whatever else. This is starting to be annoying. Thanks god I'm on free SOTA models. I would have already thrown in the trash hunderd of bucks for child play. EDIT: NOW ASKING TO PRECISELY EDIT THE GITHUB PROJECT I DOWNLOADED THIS STUPID THING EDITED IS OWN OPENCLAW JSON CONFIG AND INCURRED IN COST AND USAGE. JESUS...... ALSO BROKE HIS OWN CONFIG....... NICE, WHAT A JEWEL THIS PROJECT IS.....
OpenClaw aborts requests after about 1 minute with Request timed out before a response was generated even though agents.defaults.timeoutSeconds is set to 18 minutes. <img width="1050" height="537" alt="Image" src="https://github.com/user-attachments/assets/963947c8-09cf-4902-88f4-76ea46eb40e4" />
When running a single gateway with multiple Telegram bot accounts (8 in our case), the gateway produces persistent `409 Conflict` errors on `getUpdates` — even though every account has a **unique bot token**.
When upgrading from 2026.3.24 to 2026.3.28, Gateway refuses to start with: ``` channels.feishu: invalid config: must NOT have additional properties channels.feishu.accounts.jeeves: invalid config: must NOT have additional properties channels.feishu.accounts.ivy: invalid config: must NOT have additional properties channels.feishu.accounts.crichton: invalid config: must NOT have additional properties channels.feishu.accounts.marple: invalid config: must NOT have additional properties ``` The external plugin `@larksuite/openclaw-lark` (2026.3.26) registers channel id `feishu` with a full config schema that includes keys like `replyMode`, `footer`, `botName`, `blockStreaming`, `markdown`, `dedup`, `threadSession`, and `uat`. However, the bundled `@openclaw/feishu` plugin also registers channel id `feishu` with a `channelConfigs` schema (new in 2026.3.28) that does **not** include these keys and sets `additionalProperties: false`. The bundled plugin is explicitly disabled (`plugins.entries.feishu.enabled: false`), but its schema still takes priority during config validation.
When Openclaw uses bc for calculation, the TUI output will omit duplicate number, but get normal when reopen the TUI
The QQBot channel extension has a bug where the CLI --target parameter is not properly mapped to the internal to field required by the QQBot channel implementation, causing message sending to fail. OpenClaw version: 2026.3.11 (29dc654) OS: macOS 15.7.3 (arm64) Node.js: v25.8.0 QQBot extension: @sliverp/qqbot@latest (unpinned version) Additional Context:
The Control UI (webchat) crashes and becomes unresponsive after a WebSocket reconnect. The gateway logs show repeated `missing scope: operator.read` errors when the frontend attempts to call `config.get` and other operator-level APIs.
**What I'm doing:** Processing streaming chat responses that include tool calls from OpenAI-compatible APIs. **Expected behavior:** When one tool call in a batch is malformed (missing required 'function' key), the valid tool calls should still be processed. The malformed one should be skipped or logged, but valid tool calls should not be lost. **Actual behavior:** A bare `except KeyError: pass` in `_convert_delta_to_message_chunk` causes the entire list comprehension to fail, silently dropping ALL tool calls when ANY single tool call is malformed. **Root Cause:** In `libs/partners/openai/langchain_openai/chat_models/base.py`, lines 417-429: ```python if raw_tool_calls := _dict.get("tool_calls"): try: tool_call_chunks = [ tool_call_chunk( name=rtc["function"].get("name"), args=rtc["function"].get("arguments"), id=rtc.get("id"), index=rtc["index"], ) for rtc in raw_tool_calls ] except KeyError: pass # BUG: This silently drops ALL tool calls ``` The `except KeyError: pass` wraps the entire list comprehension. When any single tool call lacks the 'function' or 'index' keys, the entire batch is discarded without warning. **Impact:** - Silent data loss in streaming responses - Difficult to debug since no error is raised - Affects all OpenAI-compatible integrations **Suggested Fix:** Handle errors per-tool-call rather than for the entire batch: ```python tool_call_chunks = [] for rtc in raw_tool_calls: try: tool_call_chunks.append( tool_call_chunk( name=rtc["function"].get("name"), args=rtc["function"].get("arguments"), id=rtc.get("id"), index=rtc["index"], ) ) except KeyError: # Log warning or skip silently per-tool-call continue ``` **I am willing to submit a PR to fix this issue.** Please assign this issue to me. I have already identified the root cause and can implement the fix as suggested above.
`openclaw doctor --fix` does not fully migrate legacy cron metadata when a job still has top-level `notify: true` and `cron.webhook` is unset. Observed behavior: - Doctor reports legacy cron storage and warns about `notify: true` fallback. - Running `openclaw doctor --fix` prints `Cron store normalized at ~/.openclaw/cron/jobs.json.` - But the same legacy warning persists on subsequent doctor runs until the user manually edits `jobs.json` and removes `notify`. This creates a confusing loop where doctor claims normalization succeeded, but legacy state remains.