OpenClaw Issue Digest: Event Loop Starvation and Provider Integration Regressions
Open Issues
Recent activity in the OpenClaw repository reveals a series of critical performance regressions and integration bugs, primarily affecting the gateway's stability and third-party channel connectivity. The most severe issues center around event-loop starvation and systemic failures in the openclaw-weixin and @openclaw/feishu plugins.
Performance and Stability
Several reports highlight a dangerous pattern of event-loop starvation. In one instance, a single stuck exec tool call blocked the entire runtime for over 20 minutes, leading to WebSocket handshake failures and total gateway unresponsiveness (#78402). Similar regressions were noted in versions v2026.4.27 and v2026.4.29, where event loop delays reached over 9 seconds, causing background tasks to time out (#76340).
Channel Integration Failures
- WeChat (
openclaw-weixin): The plugin is currently plagued by a "Weixin runtime initialization timeout" (#78672, #77779). This is attributed to module scope isolation where thesetWeixinRuntimecall occurs in a different module instance than thewaitForWeixinRuntimepoll. Additionally, login attempts are failing withTypeError: fetch faileddue toundicirejecting manually setContent-Lengthheaders (#78482, #78376). - Feishu: Users are reporting that group chat replies are silently dropped, with logs showing
dispatch complete (queuedFinal=false, replies=0)(#78417, #78121). There is also a reported bug where streaming cards accumulate duplicate text during multi-tool responses (#78354). - Discord: Reports indicate a crash loop in
v2026.5.6due to hash mismatches between the core and the@openclaw/discordplugin (#78643).
Model and Runtime Issues
- Codex Harness: A critical bug in
doctor --fixrewrites Codex model references toopenai/*, breaking auth profile selection and causing Telegram turns to fail (#78491). - Context Management: A high-severity bug in
installContextEngineLoopHookcauses the runtime to cache assembled views indefinitely, leading to stale history leaking into sessions after a/reset(#77968). - Anthropic/Claude: Compaction fails for 1M context windows because the summarizer requests
max_tokens(240k) that exceed the Anthropic API limit (128k) (#54383).
Key Themes
1. Event Loop Fragility
There is a recurring theme of synchronous operations or stuck tool calls blocking the Node.js event loop. This manifests as "ghost" disconnects, handshake timeouts, and unresponsive UIs. The current architecture appears to lack sufficient isolation for long-running tool executions.
2. Plugin SDK Breaking Changes
Multiple plugins (specifically WeChat) are failing due to changes in how the api.runtime is passed or how modules are loaded in recent versions. This suggests a drift between the core SDK and the expectations of the channel plugins.
3. Telemetry and "Silent" Failures
Several issues highlight a gap in delivery telemetry. For example, deliverySucceeded=true is returned even when no adapter is invoked, masking failures in Discord thread bindings or claim conflicts (#78532). Similarly, Telegram polling can silently die for 30+ minutes without triggering the watchdog (#78422).
4. Configuration and Migration Drift
Users are experiencing "gutted" model trees after config operations (#78296) and failures in doctor --fix that break specialized runtimes like Codex (#78491).
Action Required
High Severity / Blockers
- Fix Event Loop Blocking: Implement isolation or forced async execution for
exectools to prevent total gateway freezes (#78402, #76340). - Repair WeChat Runtime: Resolve the module isolation issue causing
Weixin runtime initialization timeoutand theundiciheader conflict (#78672, #78482). - Fix Context Cache Leak: Address the
lastAssembledViewcaching bug to prevent stale history from persisting across session resets (#77968). - Correct Codex Migration: Fix
doctor --fixto stop rewritingcodex/refs toopenai/when the Codex runtime is active (#78491).
Blocked or Immediate Attention
- Feishu Delivery: Investigate why group chat replies are returning
replies=0inv2026.5.x(#78417). - Anthropic Compaction: Clamp
max_tokensto 128k for Claude models to restore compaction functionality for 1M context sessions (#54383). - Discord Plugin Sync: Resolve the module hash mismatch in
v2026.5.6to stop the channel crash loop (#78643).