openclaw - 💡(How to fix) Fix [Bug]: openclaw-weixin plugin 2.4.1 incompatible with OpenClaw 2026.5.4 — channelRuntime API changes break inbound message processing [10 comments, 7 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#78232Fetched 2026-05-07 03:39:23
View on GitHub
Comments
10
Participants
7
Timeline
18
Reactions
2
Author
Assignees
Timeline (top)
commented ×10cross-referenced ×4subscribed ×2assigned ×1

After upgrading from v2026.5.3-beta.4 to v2026.5.4, the @tencent-weixin/[email protected] plugin fails to process inbound messages. The plugin loads successfully, runtime initializes, and getUpdates polling works (via patched https.request to bypass SSRF fetch wrapper), but every inbound message crashes with cascading TypeError: Cannot read properties of undefined errors.

Error Message

TypeError: Cannot read properties of undefined (reading 'shouldComputeCommandAuthorized') at resolveSenderCommandAuthorizationWithRuntime (command-auth-*.js:43:50) at processOneMessage (process-message.js:106:67)

TypeError: Cannot read properties of undefined (reading 'resolveAgentRoute') at processOneMessage (process-message.js:149:47)

TypeError: Cannot read properties of undefined (reading 'resolveStorePath') at processOneMessage (process-message.js:171:51)

Root Cause

The channelRuntime object passed from the gateway to the plugin's monitor loop is incomplete. The plugin's process-message.js expects:

  • channelRuntime.commands (with shouldComputeCommandAuthorized, resolveCommandAuthorizedFromAuthorizers)
  • channelRuntime.routing (with resolveAgentRoute)
  • channelRuntime.resolveStorePath

But in v2026.5.4, these properties are missing or undefined on the runtime object injected into the plugin context.

Fix Action

Fix / Workaround

Summary

After upgrading from v2026.5.3-beta.4 to v2026.5.4, the @tencent-weixin/[email protected] plugin fails to process inbound messages. The plugin loads successfully, runtime initializes, and getUpdates polling works (via patched https.request to bypass SSRF fetch wrapper), but every inbound message crashes with cascading TypeError: Cannot read properties of undefined errors.

Workaround attempted

Patching process-message.js to stub missing runtime properties restores message processing, but each restart reveals new undefined properties. This is not a sustainable fix — the API contract between the gateway and the channel plugin has changed.

Code Example

TypeError: Cannot read properties of undefined (reading 'shouldComputeCommandAuthorized')
    at resolveSenderCommandAuthorizationWithRuntime (command-auth-*.js:43:50)
    at processOneMessage (process-message.js:106:67)

TypeError: Cannot read properties of undefined (reading 'resolveAgentRoute')
    at processOneMessage (process-message.js:149:47)

TypeError: Cannot read properties of undefined (reading 'resolveStorePath')
    at processOneMessage (process-message.js:171:51)

---

[weixin] config cached for o9cq8068pXPRV0e_8tbQO9amcl2g@im.wechat
weixin getUpdates error (1/3): TypeError: Cannot read properties of undefined (reading 'resolveStorePath')
[2de3cf4a739b-im-bot] getUpdates error: TypeError: Cannot read properties of undefined (reading 'resolveStorePath')
RAW_BUFFERClick to expand / collapse

[Bug]: openclaw-weixin plugin 2.4.1 incompatible with OpenClaw 2026.5.4 — channelRuntime API changes break inbound message processing

Bug type

Regression (worked before, now fails)

Summary

After upgrading from v2026.5.3-beta.4 to v2026.5.4, the @tencent-weixin/[email protected] plugin fails to process inbound messages. The plugin loads successfully, runtime initializes, and getUpdates polling works (via patched https.request to bypass SSRF fetch wrapper), but every inbound message crashes with cascading TypeError: Cannot read properties of undefined errors.

Steps to reproduce

  1. Install OpenClaw v2026.5.4 via npm install -g [email protected]
  2. Install weixin plugin: openclaw plugins install "@tencent-weixin/openclaw-weixin" --force
  3. Configure and authenticate weixin account (valid session token)
  4. Start gateway
  5. Send a message to the weixin bot

Expected behavior

Inbound weixin message is processed, routed to the main agent, and replied to.

Actual behavior

Inbound messages are received via getUpdates but crash during processOneMessage with cascading undefined property errors. Each crash reveals a new missing property on channelRuntime:

TypeError: Cannot read properties of undefined (reading 'shouldComputeCommandAuthorized')
    at resolveSenderCommandAuthorizationWithRuntime (command-auth-*.js:43:50)
    at processOneMessage (process-message.js:106:67)

TypeError: Cannot read properties of undefined (reading 'resolveAgentRoute')
    at processOneMessage (process-message.js:149:47)

TypeError: Cannot read properties of undefined (reading 'resolveStorePath')
    at processOneMessage (process-message.js:171:51)

Root cause analysis

The channelRuntime object passed from the gateway to the plugin's monitor loop is incomplete. The plugin's process-message.js expects:

  • channelRuntime.commands (with shouldComputeCommandAuthorized, resolveCommandAuthorizedFromAuthorizers)
  • channelRuntime.routing (with resolveAgentRoute)
  • channelRuntime.resolveStorePath

But in v2026.5.4, these properties are missing or undefined on the runtime object injected into the plugin context.

Changelog clues

The v2026.5.4 changelog includes several changes that likely caused this:

  • "defer non-readiness sidecars until after the ready signal"
  • "avoid importing jiti on native-loadable plugin startup paths"
  • "let unscoped model catalog and manifest-contract readers reuse the current workspace-compatible plugin metadata snapshot"
  • "fast-path trusted bundled plugin metadata during Gateway startup"

Environment

  • OpenClaw version: 2026.5.4 (325df3e)
  • Plugin version: @tencent-weixin/[email protected]
  • OS: WSL2 (Ubuntu) on Windows 11, Node 22.22.2
  • Install method: npm global

Workaround attempted

Patching process-message.js to stub missing runtime properties restores message processing, but each restart reveals new undefined properties. This is not a sustainable fix — the API contract between the gateway and the channel plugin has changed.

Log snippet

[weixin] config cached for [email protected]
weixin getUpdates error (1/3): TypeError: Cannot read properties of undefined (reading 'resolveStorePath')
[2de3cf4a739b-im-bot] getUpdates error: TypeError: Cannot read properties of undefined (reading 'resolveStorePath')

The monitor loop receives messages correctly (inbound message: [email protected] types=1) but the message processing pipeline fails.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Inbound weixin message is processed, routed to the main agent, and replied to.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING