Summary
openclaw update upgrades successfully to 2026.4.20, but the post-update openclaw doctor check fails because the installed global package cannot resolve grammy from the bundled Telegram extension.
Environment
- Install method: global npm package in
~/.local/lib/node_modules/openclaw
- OpenClaw before update:
2026.4.15
- OpenClaw after update attempt:
2026.4.20
- Node:
v24.14.0
- npm:
11.9.0
- OS: Linux x64 (
6.8.0-107-generic)
Reproduction
- Start from a working global install on
2026.4.15
- Run:
- Observe update output
Actual result
The package updates, but the final doctor step fails with:
Error: Cannot find module 'grammy'
Require stack:
- /home/emanu/.local/lib/node_modules/openclaw/dist/extensions/telegram/allowed-updates-BD2bJyzD.js
And openclaw update reports:
Update Result: ERROR
Root: /home/emanu/.local/lib/node_modules/openclaw
Reason: openclaw doctor
Before: 2026.4.15
After: 2026.4.20
Expected result
openclaw update should complete successfully, and openclaw doctor should be able to import bundled Telegram runtime code without manual dependency repair.
Diagnosis
The installed package contains Telegram extension files that import grammy, for example:
dist/extensions/telegram/allowed-updates-BD2bJyzD.js
dist/extensions/telegram/send-9ZV2dAUH.js
dist/extensions/telegram/bot-Dm2NPcQu.js
The bundled Telegram extension package metadata also declares:
{
"dependencies": {
"grammy": "^1.42.0",
"@grammyjs/runner": "^2.0.3",
"@grammyjs/transformer-throttler": "^1.2.1"
}
}
But after openclaw update, the global install does not have grammy resolvable at runtime, and importing the Telegram extension fails immediately.
Verified workaround
Running this manually inside the installed global package repairs the install:
After that:
- importing
dist/extensions/telegram/allowed-updates-BD2bJyzD.js succeeds
openclaw doctor passes
However, rerunning openclaw update reinstalls the package and the same problem reappears.
Notes
This looks like a packaging/bundled-runtime-deps regression in 2026.4.20, not a local config issue.
Summary
openclaw updateupgrades successfully to2026.4.20, but the post-updateopenclaw doctorcheck fails because the installed global package cannot resolvegrammyfrom the bundled Telegram extension.Environment
~/.local/lib/node_modules/openclaw2026.4.152026.4.20v24.14.011.9.06.8.0-107-generic)Reproduction
2026.4.15Actual result
The package updates, but the final doctor step fails with:
And
openclaw updatereports:Expected result
openclaw updateshould complete successfully, andopenclaw doctorshould be able to import bundled Telegram runtime code without manual dependency repair.Diagnosis
The installed package contains Telegram extension files that import
grammy, for example:dist/extensions/telegram/allowed-updates-BD2bJyzD.jsdist/extensions/telegram/send-9ZV2dAUH.jsdist/extensions/telegram/bot-Dm2NPcQu.jsThe bundled Telegram extension package metadata also declares:
{ "dependencies": { "grammy": "^1.42.0", "@grammyjs/runner": "^2.0.3", "@grammyjs/transformer-throttler": "^1.2.1" } }But after
openclaw update, the global install does not havegrammyresolvable at runtime, and importing the Telegram extension fails immediately.Verified workaround
Running this manually inside the installed global package repairs the install:
After that:
dist/extensions/telegram/allowed-updates-BD2bJyzD.jssucceedsopenclaw doctorpassesHowever, rerunning
openclaw updatereinstalls the package and the same problem reappears.Notes
This looks like a packaging/bundled-runtime-deps regression in
2026.4.20, not a local config issue.