NousResearch/hermes-agent · error · RuntimeError
Telegram private DM topic delivery requires telegram_reply_t
Error message
Telegram private DM topic delivery requires telegram_reply_to_message_id; send to the bare chat or provide a reply anchor
What it means
Error "Telegram private DM topic delivery requires telegram_reply_to_message_id; send to the bare chat or provide a reply anchor" thrown in NousResearch/hermes-agent.
Source
Thrown at gateway/delivery.py:598
f"Failed to create Telegram private DM topic '{target_thread_id}'"
)
target_thread_id = str(created_thread_id)
send_metadata["thread_id"] = target_thread_id
send_metadata["telegram_dm_topic_created_for_send"] = True
elif (
target.platform == Platform.TELEGRAM
and looks_like_telegram_private_chat_id(target.chat_id)
and "thread_id" not in send_metadata
and "message_thread_id" not in send_metadata
and not has_explicit_direct_topic
):
# Legacy private topic/thread ids that were not created by this
# send path may still need a reply anchor to stay visible in the
# requested lane. Named targets are created above via
# createForumTopic and can use message_thread_id directly.
reply_anchor = send_metadata.get("telegram_reply_to_message_id")
if reply_anchor is None:
raise RuntimeError(
"Telegram private DM topic delivery requires telegram_reply_to_message_id; "
"send to the bare chat or provide a reply anchor"
)
send_metadata["thread_id"] = target_thread_id
send_metadata["telegram_dm_topic_reply_fallback"] = True
elif "thread_id" not in send_metadata and "message_thread_id" not in send_metadata and not has_explicit_direct_topic:
send_metadata["thread_id"] = target_thread_id
result = await transport.send(
target.platform,
target.chat_id,
content,
metadata=send_metadata or None,
)
if _send_result_failed(result):
if (
is_named_telegram_private_topic
and named_telegram_private_topic_name
and _is_thread_not_found_delivery_error(result)View on GitHub (pinned to c896c09c42)
Solutions
- Send to the bare chat, or include telegram_reply_to_message_id as a reply anchor for the topic delivery.
When it happens
Trigger: Thrown at gateway/delivery.py:598 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/e8e82f4d4a5d10ba.
Report an issue: GitHub.