Skip to content

sendMessage with message_thread_id fails for private chat topics after Bot API 10.0 rollout #847

Description

@colriot

Description

After the Bot API 10.0 server-side rollout (May 8, 2026), sendMessage with message_thread_id targeting a private chat topic returns:

400 Bad Request: message thread not found

This affects all existing DM topic threads. The same topic IDs that worked earlier today (before the 10.0 rollout) now fail consistently.

Steps to Reproduce

  1. Have a bot with Threaded Mode enabled in @Botfather
  2. Have an existing private chat with the bot that has topics/threads
  3. Send a message to any topic using:
curl -s "https://api.telegram.org/bot<TOKEN>/sendMessage" \
  -d "chat_id=<USER_ID>" \
  -d "message_thread_id=<TOPIC_ID>" \
  -d "text=test"

Result: {"ok":false,"error_code":400,"description":"Bad Request: message thread not found"}

Expected Behavior

The message should be delivered to the specified topic in the private chat, as it was before the Bot API 10.0 update.

Observations

  • getMe returns has_topics_enabled: true and allows_users_to_create_topics: true — bot settings are correct
  • getChat for the private chat returns no topic-related fields
  • Incoming messages from users in DM topics still include message_thread_id in the Update — Telegram still recognizes topics on the inbound side
  • Outbound sendMessage with the same message_thread_id value from the inbound update is rejected
  • createForumTopic for private chats also fails with BOT_FORUM_CREATE_FORBIDDEN
  • Without message_thread_id, sendMessage succeeds — messages land in the main chat view
  • The documentation still states message_thread_id is valid for "forum supergroups and private chats of bots with forum topic mode enabled"

Timeline

  • Working: 2026-05-08 ~12:07 UTC — sendMessage with message_thread_id to a DM topic succeeded
  • Broken: 2026-05-08 ~14:38 UTC — same call fails with "message thread not found"
  • No bot configuration changes were made between these times
  • Bot API 10.0 changelog was published on the same day: https://core.telegram.org/bots/api-changelog#may-8-2026

Environment

  • Bot API: cloud (api.telegram.org), not self-hosted
  • Tested with raw curl — not framework-specific
  • User has Telegram Premium (required for DM topics)
  • Bot has Threaded Mode enabled via @Botfather

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions