After a fresh OpenClaw install, Telegram setup may fail or behave inconsistently:
Unknown channel: telegramrequests: [])On root VPS hosts, this often combines with gateway lifecycle issues.
Most failures come from one of these:
plugins.allow).systemctl --user may be unavailable, so service-mode restart fails.Follow this exact order.
If you use plugin allowlist, include telegram.
openclaw config set plugins.allow '["telegram"]'
openclaw config set plugins.entries.telegram.enabled true
If you also use Feishu on the same host, allow both:
openclaw config set plugins.allow '["feishu","telegram"]'
systemctl --user (recommended)tmux kill-session -t openclaw 2>/dev/null || true
tmux new -d -s openclaw 'openclaw gateway run --port 18789'
openclaw gateway install --force
systemctl --user enable --now openclaw-gateway.service
openclaw channels add --channel telegram --token "<BOTFATHER_TOKEN>"
openclaw gateway status
openclaw channels status --probe
Expected Telegram state: enabled, configured, running.
Set pairing policy (safe default):
openclaw config set channels.telegram.dmPolicy pairing
Now send one DM to the bot from Telegram, then check pending requests:
openclaw pairing list telegram --json
Approve code:
openclaw pairing approve telegram <CODE> --notify
Unknown channel: telegramUsually means telegram plugin runtime not active yet.
It can also happen when CLI commands run in a different OpenClaw profile than the running gateway.
Check:
openclaw plugins list | grep -i telegram
openclaw config get plugins.allow
openclaw config get plugins.entries.telegram.enabled
If you use named profiles, run all commands with the same profile:
openclaw --profile <profile_name> channels status --probe
openclaw --profile <profile_name> channels add --channel telegram --token "<BOTFATHER_TOKEN>"
openclaw --profile <profile_name> plugins list | grep -i telegram
requests: [] and no pairing codePossible reasons:
Check:
openclaw channels status --probe
cat ~/.openclaw/credentials/telegram-allowFrom.json 2>/dev/null || echo "no approved senders file"
1006)Use root VPS quick recovery command:
tmux kill-session -t openclaw 2>/dev/null || true
tmux new -d -s openclaw 'openclaw gateway run --port 18789'
This means the VPS is using a different Telegram token than expected.
1) Send an outbound test to yourself:
openclaw message send --channel telegram --target <telegram-user-id> --message "vps outbound test" --json
2) If the message comes from another bot, set the correct bot token for this VPS:
openclaw channels add --channel telegram --token "<BOT_TOKEN_FOR_THIS_VPS>"
3) Restart gateway (tmux mode) and verify:
tmux kill-session -t openclaw 2>/dev/null || true
tmux new -d -s openclaw 'openclaw gateway run --port 18789'
openclaw channels status --probe
Check that status shows the expected bot:@<your_bot_username>.
plugins.allow explicit for least-privilege plugin loading.1006 on root VPS (systemctl --user unavailable)install.sh + Feishu setup: duplicate plugin id warning spam and gateway health check failureplugins.allow is empty and non-bundled plugins may auto-load