Bug Description
openclaw message thread create for the Telegram channel fails with GatewayClientRequestError: Error: Unsupported Telegram action: thread-create. The Telegram plugin's resolveCliActionRequest for the thread-create action — which is supposed to remap to topic-create (the only name the Telegram action runtime recognizes) — isn't taking effect, so the bare thread-create action reaches the gateway and is rejected.
Reproduction
openclaw message thread create \
--account myrzka_bot \
--channel telegram \
--target -1003894873578 \
--thread-name "Test topic" \
--json
Result:
GatewayClientRequestError: Error: Unsupported Telegram action: thread-create
Gateway log:
[ws] ⇄ res ✗ message.action 64ms errorCode=UNAVAILABLE errorMessage=Error: Unsupported Telegram action: thread-create channel=telegram
The myrzka_bot account has admin "Manage Topics" permission in the target supergroup (verified empirically — raw https://api.telegram.org/bot$TOKEN/createForumTopic works fine). The bot's channel capabilities list topic-create and topic-edit as supported actions per openclaw channels capabilities.
Environment
- OpenClaw 2026.5.7 (
eeef486)
- Channel: Telegram (bot token, supergroup target)
- Bot has admin role + "Manage Topics" permission
Expected behavior
The CLI should remap thread-create → topic-create for Telegram per src/cli/program/message/register.thread.ts:resolveThreadCreateRequest calling getChannelPlugin("telegram")?.actions?.resolveCliActionRequest?.({ action: "thread-create", args: opts }). The Telegram plugin's source at extensions/telegram/src/channel-actions.ts contains the remap logic:
return {
action: "topic-create",
args: {
...rest,
name: readStringValue(threadName),
},
};
But the bare thread-create is reaching the gateway, indicating either:
- The plugin's
resolveCliActionRequest for thread-create isn't being invoked from the CLI dispatcher
- The remap result is being dropped/ignored
- The Telegram plugin doesn't export
resolveCliActionRequest to the channel plugin loader in this code path
Workaround
Direct Bot API call works:
curl -X POST "https://api.telegram.org/bot$TOKEN/createForumTopic" \
--data-urlencode "chat_id=$GROUP_ID" \
--data-urlencode "name=$TOPIC_NAME"
Returns {"ok":true,"result":{"message_thread_id":<N>,...}} and the topic appears in the group. So the underlying bot capability is intact; only the openclaw message thread create CLI dispatch is broken.
Acceptance
openclaw message thread create --channel telegram --account <bot> --target <chatId> --thread-name "Foo" succeeds and creates the forum topic
- Returns the new
message_thread_id in the result
--dry-run shows the resolved topic-create action, not thread-create
Related context
Filed by the Great-Sarak fleet (operator: Sorotassu). Hit during a kickstart-issue automation script that creates one Telegram forum topic per GitHub issue. Worked around by falling back to raw Bot API; the workaround is at kryshanti/myrzka/.scripts/kickstart-issue.sh in the Great-Sarak fleet for reference.
Will revert to openclaw message thread create in our script once this is fixed.
Bug Description
openclaw message thread createfor the Telegram channel fails withGatewayClientRequestError: Error: Unsupported Telegram action: thread-create. The Telegram plugin'sresolveCliActionRequestfor thethread-createaction — which is supposed to remap totopic-create(the only name the Telegram action runtime recognizes) — isn't taking effect, so the barethread-createaction reaches the gateway and is rejected.Reproduction
openclaw message thread create \ --account myrzka_bot \ --channel telegram \ --target -1003894873578 \ --thread-name "Test topic" \ --jsonResult:
Gateway log:
The myrzka_bot account has admin "Manage Topics" permission in the target supergroup (verified empirically — raw
https://api.telegram.org/bot$TOKEN/createForumTopicworks fine). The bot's channel capabilities listtopic-createandtopic-editas supported actions peropenclaw channels capabilities.Environment
eeef486)Expected behavior
The CLI should remap
thread-create→topic-createfor Telegram persrc/cli/program/message/register.thread.ts:resolveThreadCreateRequestcallinggetChannelPlugin("telegram")?.actions?.resolveCliActionRequest?.({ action: "thread-create", args: opts }). The Telegram plugin's source atextensions/telegram/src/channel-actions.tscontains the remap logic:But the bare
thread-createis reaching the gateway, indicating either:resolveCliActionRequestfor thread-create isn't being invoked from the CLI dispatcherresolveCliActionRequestto the channel plugin loader in this code pathWorkaround
Direct Bot API call works:
Returns
{"ok":true,"result":{"message_thread_id":<N>,...}}and the topic appears in the group. So the underlying bot capability is intact; only theopenclaw message thread createCLI dispatch is broken.Acceptance
openclaw message thread create --channel telegram --account <bot> --target <chatId> --thread-name "Foo"succeeds and creates the forum topicmessage_thread_idin the result--dry-runshows the resolvedtopic-createaction, notthread-createRelated context
Filed by the Great-Sarak fleet (operator: Sorotassu). Hit during a kickstart-issue automation script that creates one Telegram forum topic per GitHub issue. Worked around by falling back to raw Bot API; the workaround is at
kryshanti/myrzka/.scripts/kickstart-issue.shin the Great-Sarak fleet for reference.Will revert to
openclaw message thread createin our script once this is fixed.