Skip to content

openclaw update fails on 2026.4.20 with missing grammy in Telegram bundled runtime #69837

Description

@C-mrade

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

  1. Start from a working global install on 2026.4.15
  2. Run:
    openclaw update
  3. 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:

cd ~/.local/lib/node_modules/openclaw
npm install [email protected] @grammyjs/[email protected] @grammyjs/[email protected] --no-save --omit=dev --legacy-peer-deps

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions