Skip to content

upgrading from to 2026.2.25, Telegram DMs are silently dropped. The bot connects, polling works (offset file updates), but no messages are processed. #27892

@Relic999

Description

@Relic999

Summary

Bug Description
After upgrading from 2026.2.21 to 2026.2.25, Telegram DMs are silently dropped. The bot connects, polling works (offset file updates), but no messages are processed. No errors appear in journalctl — only a validation warning in the
file log at /tmp/openclaw/openclaw-*.log.

Root Cause

The channels.telegram config now requires an allowFrom array when dmPolicy is set to "allowlist". Previously (2026.2.21), the gateway used external files at ~/.openclaw/telegram/allowlist-dm.json. After the upgrade, these files are
silently ignored.

The only error (buried in file log, not in journalctl)

config reload skipped (invalid config): channels.telegram.allowFrom:
channels.telegram.dmPolicy="allowlist" requires channels.telegram.allowFrom

Fix

Add allowFrom inline in openclaw.json:

{
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["YOUR_TELEGRAM_USER_ID"],
"botToken": "...",
"groupPolicy": "allowlist",
"streamMode": "off"
}
}
}

What should happen instead

  1. This breaking change should be in the CHANGELOG for 2026.2.24 or 2026.2.25. It's not mentioned anywhere.
  2. openclaw doctor should detect the missing allowFrom and warn/fix it during upgrade.
  3. The validation error should appear in journalctl, not just the file log. Most users check journalctl -u openclaw-gateway first — they'll never see the file log warning.
  4. Migration path: If ~/.openclaw/telegram/allowlist-dm.json exists, the gateway should either auto-migrate it to the new allowFrom format or at minimum log a clear deprecation warning.

Environment

  • OpenClaw: 2026.2.25 (upgraded from 2026.2.21)
  • OS: Ubuntu 22.04 (VPS)
  • Node: 22.22.0
  • Channel: Telegram (long-polling mode)

This took several hours to debug because the failure is completely silent in the normal log output. Hope this saves others the headache.

Steps to reproduce

  1. Have a working OpenClaw setup with Telegram on version 2026.2.21 using dmPolicy: "allowlist" and external allowlist file at ~/.openclaw/telegram/allowlist-dm.json
  2. Upgrade to 2026.2.25: npm install -g openclaw@2026.2.25 3. Restart gateway: openclaw gateway start
  3. Send a DM to the bot on Telegram 5. Message is silently dropped — no response, no error in journalctl

Expected behavior

Expected behavior:
Gateway should either process DMs using the existing allowlist-dm.json file, or log a clear warning in journalctl that
the config format changed and allowFrom is now required inline in openclaw.json.

Actual behavior

Actual behavior:
All Telegram DMs are silently dropped. No errors in journalctl. The only indication is a validation warning buried in
/tmp/openclaw/openclaw-*.log: "config reload skipped (invalid config): channels.telegram.allowFrom:
channels.telegram.dmPolicy="allowlist" requires channels.telegram.allowFrom". The fix is adding "allowFrom":
["userId"] to channels.telegram in openclaw.json.

OpenClaw version

OpenClaw: 2026.2.25

Operating system

OS: Ubuntu 22.04

Install method

npm install -g openclaw@2026.2.25

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions