NousResearch/hermes-agent · error · RuntimeError

Telegram adapter cannot refresh named private DM topics

Error message

Telegram adapter cannot refresh named private DM topics

What it means

Error "Telegram adapter cannot refresh named private DM topics" thrown in NousResearch/hermes-agent.

Source

Thrown at gateway/delivery.py:620

                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)
            ):
                ensure_dm_topic = getattr(adapter, "ensure_dm_topic", None)
                if ensure_dm_topic is None:
                    raise RuntimeError(
                        "Telegram adapter cannot refresh named private DM topics"
                    )
                refreshed_thread_id = await ensure_dm_topic(
                    target.chat_id,
                    named_telegram_private_topic_name,
                    force_create=True,
                )
                if not refreshed_thread_id:
                    raise RuntimeError(
                        f"Failed to refresh Telegram private DM topic '{named_telegram_private_topic_name}'"
                    )
                send_metadata["thread_id"] = str(refreshed_thread_id)
                send_metadata["telegram_dm_topic_created_for_send"] = True
                result = await transport.send(
                    target.platform,
                    target.chat_id,
                    content,
                    metadata=send_metadata or None,

View on GitHub (pinned to c896c09c42)

Solutions

  1. Refresh the topic through the Telegram client instead of the adapter.
  2. Use a platform/adapter that supports refreshing named topics.

When it happens

Trigger: Thrown at gateway/delivery.py:620 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/4e7e04e47fb59f02. Report an issue: GitHub.