Version
OpenClaw 2026.4.29 (a448042)
Environment
- OS: CachyOS (Arch Linux), Kernel 6.19.12-1
- Node: v25.9.0
- Install: npm global (
npm install -g [email protected])
- Hardware: Dell Latitude 5300
Symptoms
Telegram channel continuously crashes on startup. Auto-restart runs through all 10 attempts with exponential backoff, then the channel remains dead. Health monitor also triggers restarts but they all fail the same way.
Error
Cannot find package 'json5' imported from
/home/openclaw/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-67e811bb8931/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
Root Cause Analysis
The import
File: dist/frontmatter-Cc-V8aI2.js, line 5:
import JSON5 from "json5";
json5 package state (v2.2.3)
| Field |
Value |
"type" |
None (not "module") |
"exports" |
None (no ESM export map) |
"main" |
lib/index.js (CJS: uses require/module.exports) |
"module" |
dist/index.mjs (ESM build exists, but not declared in "exports") |
Parent bundle
plugin-runtime-deps/openclaw-2026.4.29-.../package.json has no "type" field → Node treats .js files as CJS. When frontmatter-Cc-V8aI2.js uses an ESM import statement in a CJS context, Node tries to resolve json5 as ESM but can't find the entry point because json5 doesn't declare "exports".
Also imports YAML
The same file also does import YAML from "yaml" - this works because the yaml package properly declares ESM exports. Only json5 is affected.
Affected callers
frontmatter-Cc-V8aI2.js is imported by:
config-BUXinPt_.js
frontmatter-CLCliW2L.js
skills-CgFdJ7jF.js
Impact
Telegram channel is completely non-functional in this release. All other channels that use the same frontmatter code path may also be affected.
Workaround
Manually running the gateway with --input-type=module or deleting and re-creating the plugin-runtime-deps directory sometimes temporarily resolves it, but it returns after gateway restart.
Regression
Version 2026.4.23 worked correctly.
Version
OpenClaw 2026.4.29 (a448042)
Environment
npm install -g [email protected])Symptoms
Telegram channel continuously crashes on startup. Auto-restart runs through all 10 attempts with exponential backoff, then the channel remains dead. Health monitor also triggers restarts but they all fail the same way.
Error
Root Cause Analysis
The import
File:
dist/frontmatter-Cc-V8aI2.js, line 5:json5 package state (v2.2.3)
"type""exports""main"lib/index.js(CJS: usesrequire/module.exports)"module"dist/index.mjs(ESM build exists, but not declared in"exports")Parent bundle
plugin-runtime-deps/openclaw-2026.4.29-.../package.jsonhas no"type"field → Node treats.jsfiles as CJS. Whenfrontmatter-Cc-V8aI2.jsuses an ESMimportstatement in a CJS context, Node tries to resolvejson5as ESM but can't find the entry point because json5 doesn't declare"exports".Also imports YAML
The same file also does
import YAML from "yaml"- this works because theyamlpackage properly declares ESM exports. Onlyjson5is affected.Affected callers
frontmatter-Cc-V8aI2.jsis imported by:config-BUXinPt_.jsfrontmatter-CLCliW2L.jsskills-CgFdJ7jF.jsImpact
Telegram channel is completely non-functional in this release. All other channels that use the same frontmatter code path may also be affected.
Workaround
Manually running the gateway with
--input-type=moduleor deleting and re-creating the plugin-runtime-deps directory sometimes temporarily resolves it, but it returns after gateway restart.Regression
Version 2026.4.23 worked correctly.