Summary
openclaw doctor and openclaw update fail with:
channels.telegram.botToken: unresolved SecretRef "env:default:OPENCLAW_TELEGRAM_BOT_TOKEN". Resolve this command against an active gateway runtime snapshot before reading it.
Even though Telegram channel runtime is healthy and message flow works.
Environment
- OpenClaw:
2026.3.13
- Install type: npm global (
~/.npm-global/lib/node_modules/openclaw)
- OS: Ubuntu Linux (x64)
- Gateway: systemd user service
- Secret provider: env (
.env + EnvironmentFile)
Config shape (sanitized)
"channels": {
"telegram": {
"enabled": true,
"botToken": {
"source": "env",
"provider": "default",
"id": "OPENCLAW_TELEGRAM_BOT_TOKEN"
}
}
}
Repro
- Configure Telegram token as env SecretRef (
env:default:OPENCLAW_TELEGRAM_BOT_TOKEN).
- Ensure gateway service uses env file:
EnvironmentFile=-/home/<user>/.openclaw/.env
- Verify runtime works:
- Telegram chats work normally
openclaw status shows Telegram channel OK
- Run:
openclaw doctor --non-interactive
openclaw update
Actual behavior
openclaw doctor exits with unresolved SecretRef error (above).
openclaw update fails because it runs doctor checks.
Expected behavior
- Doctor should resolve SecretRefs the same way runtime does (or use active gateway snapshot) and not fail when channel is healthy.
- Update should not be blocked by this false-positive/diagnostic-path SecretRef failure.
Notes
- This appears related to existing SecretRef/reporting inconsistencies:
- No secrets included here; all values are redacted/sanitized.
Summary
openclaw doctorandopenclaw updatefail with:channels.telegram.botToken: unresolved SecretRef "env:default:OPENCLAW_TELEGRAM_BOT_TOKEN". Resolve this command against an active gateway runtime snapshot before reading it.Even though Telegram channel runtime is healthy and message flow works.
Environment
2026.3.13~/.npm-global/lib/node_modules/openclaw).env+EnvironmentFile)Config shape (sanitized)
Repro
env:default:OPENCLAW_TELEGRAM_BOT_TOKEN).EnvironmentFile=-/home/<user>/.openclaw/.envopenclaw statusshows Telegram channel OKopenclaw doctor --non-interactiveopenclaw updateActual behavior
openclaw doctorexits with unresolved SecretRef error (above).openclaw updatefails because it runs doctor checks.Expected behavior
Notes