OpenClaw Issue Digest: Event Loop Starvation and Channel Delivery Regressions
Open Issues
Recent activity in the OpenClaw repository reveals several critical stability and functional regressions, primarily centered around system performance and channel-specific delivery failures.
Performance and Stability
One of the most pervasive issues is event loop starvation. Multiple reports (#79256, #79197, #78601) describe patterns where the Node.js event loop is blocked for several seconds, leading to timeout cascades. In one instance, the gateway's liveness watchdog triggered a self-preservation restart after detecting a 23-second event loop freeze (#78601). This starvation is often linked to heavy operations during model calls or channel startup phases, such as the simultaneous initialization of multiple Telegram bot accounts (#78173).
Additionally, a significant regression in version 2026.5.7 has been reported where the update-sentinel check now runs on every post-attach instead of just at startup. In regions with poor network connectivity, this causes a synchronous block of ~9 seconds per model call, effectively making the system unusable (#79264).
Channel Delivery and UX Regressions
Several channel plugins are experiencing delivery failures:
- Feishu/Lark: Users report that @mentions in group chats trigger the agent, but replies are silently dropped due to a routing error where group
chat_idis incorrectly sent as anopen_id(#77735, #79275). There is also a reported lack of automatic "mark-read" (已读) indicators on inbound messages (#79277). - Discord: A critical issue exists where slash commands fail with "This interaction failed" because the gateway cannot respond within Discord's 3-second deadline during startup (#79923). Furthermore, some users report that replies in group chats are processed internally but never delivered (#77767).
- WhatsApp: Similar to Feishu, replies to group messages are generated by the agent but never dispatched to the channel, while DM replies continue to work (#78120).
Tooling and Core Logic
- Memory Dreaming: A high-severity bug in the dreaming-promotion pipeline causes a mismatch in snippet normalization, resulting in zero candidates being promoted to
MEMORY.mddespite high scores in dry-runs (#74334, #76225). - ACP Runtime: The
sessions_spawntool is failing for Claude ACP agents withACP_TURN_FAILEDdue to a prompt payload schema mismatch; the runtime sends a bare string instead of the required array of content blocks (#76600, #78212). - Config Management: A dangerous bug in
openclaw migrate applyallows the tool to write plugin configurations for uninstalled plugins, leading to gateway crash-loops upon startup (#78191).
Key Themes
1. Event Loop Fragility
The recurring theme of event loop starvation suggests that synchronous operations are leaking into the main thread. This is compounded by the update-sentinel regression and the lack of concurrency limits during multi-account channel initialization.
2. Delivery Routing Inconsistencies
There is a clear pattern of "DM works, Group fails" across Feishu, WhatsApp, and Discord. This points to a systemic issue in how the gateway resolves and dispatches replies to multi-user channels versus 1:1 conversations.
3. Configuration and Migration Safety
The migrate command's failure to validate plugin existence before writing to openclaw.json highlights a need for stricter pre-flight checks in the configuration pipeline to prevent "bricking" fresh installations.
Action Required
High Severity / Blocked
- Fix
update-sentinelblocking (#79264): This is a critical performance regression that blocks the event loop on every model call. - Resolve Feishu/WhatsApp Group Delivery (#77735, #78120): These are total failures of the primary value proposition for group-chat bots.
- Repair
openclaw migratevalidation (#78191): Prevent the tool from creating invalid configurations that cause gateway crash-loops. - Fix Dreaming Promotion Normalization (#74334): Restore the ability for agents to build long-term memory.
Contributor Attention Needed
- Implement
deferReply()for Discord Slash Commands (#79923): Necessary to bypass the 3s deadline. - Normalize ACP Prompt Payloads (#76600): Ensure compatibility with
claude-agent-acpversion 0.31.4. - Add concurrency limits to Telegram startup (#78173): Mitigate event loop saturation for power users with many bot accounts.