Summary
Upgrading to 2026.3.24 caused a ~20 minute outage due to two breaking changes introduced in this release.
Issue 1: Express 5 Route Breaking Change
Affected file: dist-B5zoW1KK.js line 3425 (bundled msteams plugin)
Problem: The bundled msteams plugin registers /api* as a route pattern. This is invalid in Express 5's updated path-to-regexp and causes the gateway to fail to start or crash immediately.
Workaround: Patch line 3425, changing /api* to /api. Since use() already matches prefixes, this restores correct behavior.
Impact: Gateway fails to start after update. Teams webhook stops responding. Complete outage.
Note: This patch is overwritten on every update, requiring manual re-application until fixed upstream.
Issue 2: Duplicate Plugin Infinite Warning Loop
Problem: If a user previously had the msteams plugin installed as an external npm package (older versions), 2026.3.24's new duplicate plugin detection enters an infinite warning loop rather than gracefully handling or ignoring the duplicate.
Environment: Had both:
- Bundled plugin:
2026.3.22
- External npm plugin:
2026.3.13
Workaround: Remove the external plugin reference from openclaw.json and delete the external package. The bundled plugin then loads correctly.
Impact: Gateway starts but immediately enters an infinite log loop, consuming resources and making the system unresponsive.
Steps to Reproduce
- Have an existing OpenClaw installation with an externally-installed msteams plugin
- Run
npm install -g openclaw@2026.3.24
- Restart gateway
- Observe infinite loop (Issue 2) and/or gateway crash on Teams webhook requests (Issue 1)
Environment
- OS: Ubuntu Linux 6.17.0-19-generic
- Node: v22.22.1
- Previous version: 2026.3.23-2
- Channel: msteams
Suggested Fixes
- Issue 1: Update bundled msteams plugin to use
/api instead of /api* for Express 5 compatibility
- Issue 2: Add graceful duplicate plugin handling — warn once and use bundled version, do not loop
Summary
Upgrading to
2026.3.24caused a ~20 minute outage due to two breaking changes introduced in this release.Issue 1: Express 5 Route Breaking Change
Affected file:
dist-B5zoW1KK.jsline 3425 (bundled msteams plugin)Problem: The bundled msteams plugin registers
/api*as a route pattern. This is invalid in Express 5's updatedpath-to-regexpand causes the gateway to fail to start or crash immediately.Workaround: Patch line 3425, changing
/api*to/api. Sinceuse()already matches prefixes, this restores correct behavior.Impact: Gateway fails to start after update. Teams webhook stops responding. Complete outage.
Note: This patch is overwritten on every update, requiring manual re-application until fixed upstream.
Issue 2: Duplicate Plugin Infinite Warning Loop
Problem: If a user previously had the msteams plugin installed as an external npm package (older versions),
2026.3.24's new duplicate plugin detection enters an infinite warning loop rather than gracefully handling or ignoring the duplicate.Environment: Had both:
2026.3.222026.3.13Workaround: Remove the external plugin reference from
openclaw.jsonand delete the external package. The bundled plugin then loads correctly.Impact: Gateway starts but immediately enters an infinite log loop, consuming resources and making the system unresponsive.
Steps to Reproduce
npm install -g openclaw@2026.3.24Environment
Suggested Fixes
/apiinstead of/api*for Express 5 compatibility