Summary
Telegram appears to have thread/conversation binding infrastructure, but thread-bound subagent session spawning is unavailable because the Telegram channel plugin does not register subagent_spawning hooks.
Environment
- OpenClaw:
2026.4.23
- Channel: Telegram
- Context: direct chat
Repro
Attempt to spawn a thread/session-bound subagent from a Telegram DM, for example via:
sessions_spawn(runtime:"subagent", agentId:"main", mode:"session", thread:true, ...)
Actual
The spawn fails immediately with:
thread=true is unavailable because no channel plugin registered subagent_spawning hooks.
Expected
One of these should be true:
- Telegram supports thread/current-conversation-bound subagent sessions, with the necessary hook registration and delivery binding behavior.
- If Telegram is intentionally unsupported here, the limitation should be documented explicitly and the tool/runtime surface should make that clear.
Notes
What makes this confusing is that Telegram appears to already include conversation/thread-binding pieces, including thread-binding/session-binding infrastructure, but unlike some other channels, the Telegram channel entry on main does not appear to register subagent hooks analogous to the ones used elsewhere.
At a high level, this looks like:
subagent-spawn requires subagent_spawning hooks for thread:true
- Telegram has binding-related infrastructure
- but the Telegram channel entry does not register the hooks needed to make that path operable
That makes Telegram look partially implemented for this capability while still failing at runtime before handoff.
If helpful, I can also open a follow-up with a minimal patch sketch for Telegram hook registration / delivery binding behavior.
Summary
Telegram appears to have thread/conversation binding infrastructure, but thread-bound subagent session spawning is unavailable because the Telegram channel plugin does not register
subagent_spawninghooks.Environment
2026.4.23Repro
Attempt to spawn a thread/session-bound subagent from a Telegram DM, for example via:
sessions_spawn(runtime:"subagent", agentId:"main", mode:"session", thread:true, ...)Actual
The spawn fails immediately with:
Expected
One of these should be true:
Notes
What makes this confusing is that Telegram appears to already include conversation/thread-binding pieces, including thread-binding/session-binding infrastructure, but unlike some other channels, the Telegram channel entry on
maindoes not appear to register subagent hooks analogous to the ones used elsewhere.At a high level, this looks like:
subagent-spawnrequiressubagent_spawninghooks forthread:trueThat makes Telegram look partially implemented for this capability while still failing at runtime before handoff.
If helpful, I can also open a follow-up with a minimal patch sketch for Telegram hook registration / delivery binding behavior.