Skip to content

[Bug]: OpenClaw 2026.4.29 — Telegram/Discord channels crash-loop due to missing ESM exports in bundled runtime deps #75304

@Simonwintle

Description

@Simonwintle

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Environment

Node v22.22.0
OpenClaw 2026.4.29 (a448042)
Installed via npm globally: /opt/homebrew/lib/node_modules/openclaw

Symptoms
Telegram and Discord channels crash immediately on every gateway start with:
Cannot find package 'json5' imported from
/Users/simon/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-da6bdffc3d96/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
Root cause
On every gateway start, the file-transfer plugin runs a pnpm install into ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-da6bdffc3d96/. The installed json5@2.2.3 package lacks an exports field in its package.json, which Node's ESM resolver requires for bare import 'json5' statements. The bundled channel code uses ESM imports, so resolution fails.
Manual fixes (adding exports field, reinstalling via npm/pnpm, symlinking) are overwritten on every restart because the file-transfer plugin re-runs pnpm install each time.

Steps to reproduce

Steps to reproduce

Fresh install of openclaw@2026.4.29
Run openclaw gateway start
Observe Telegram and Discord channels immediately exit with the json5 error

Expected behavior

Telegram and Discord channels should start successfully.

Actual behavior

None found. The runtime deps folder is re-extracted and reinstalled on every gateway restart, overwriting any manual fixes.

OpenClaw version

2026.4.29

Operating system

macOS 26.3.1 (arm64)

Install method

npm

Model

gpt-5.4

Provider / routing chain

openai-codex

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Observe Telegram and Discord channels immediately exit with the json5 error. No work around found.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions