Telegram 'chat not found': Causes and Fixes

The Telegram Bot API returns 400 Bad Request: chat not found when the bot cannot access the destination represented by your chat_id. Check these fixes in order:

  1. In a private chat, ask the user to open the bot and tap Start.
  2. Verify that the current chat_id was copied without spaces or missing digits.
  3. Confirm that the bot is still a member of the group or an administrator of the channel.
  4. If the group became a supergroup, replace the old ID with the new one.

1. Bot was removed from the chat

If the bot was removed from the group, supergroup, or channel, the API returns “chat not found” for that chat_id.

Fix: Add the bot back to the chat. For groups, add @print_id_bot and send /id to get the current chat_id. For channels, add your bot as admin again.

2. Wrong chat_id

Using an old, mistyped, or incorrect chat_id causes the error.

Fix: Get the correct chat_id. In a group: add @print_id_bot, send /id or mention it, and copy the chat_id. In private chat: open @print_id_bot and tap Start to get your User ID (which equals chat_id for private chats).

3. Group migrated to supergroup

When a group becomes a supergroup, the chat_id can change. The old ID may no longer work.

Fix: Get the new chat_id. Add @print_id_bot to the (super)group and send /id. Use the new value. See group vs supergroup chat_id.

4. User blocked the bot or deleted account

For private chats, if the user blocked the bot or deleted their account, “chat not found” can occur.

Fix: The user must unblock the bot or use an active account. You cannot fix this from the bot side.

5. Channel: bot not admin

To post in a channel, the bot must be an administrator. Otherwise you may get permission errors or “chat not found.”

Fix: Add the bot to the channel as admin with the right permissions (e.g. post messages).

Verify your chat_id

Use @print_id_bot to confirm:

FAQ

Can I recover an old chat_id after migration?

No. Use the new chat_id. Get it from @print_id_bot by adding it to the group and sending /id.

Does “chat not found” mean the chat was deleted?

Not always. It often means the bot was removed or the chat_id is wrong. For private chats, the user may have blocked the bot.

How do I get the chat_id for a channel I own?

Add your bot as admin, post a message, and read channel_post.chat.id from the update. Or forward a post to @print_id_bot to see the channel ID.

Why does it work in one group but not another?

Each chat has its own chat_id. If one works and another does not, the bot may have been removed from the second chat, or you are using the wrong chat_id.

Should I cache chat_ids?

You can cache them, but re-fetch after migrations or if you get “chat not found.” Add @print_id_bot and send /id to verify.


Get the correct chat_id with @print_id_bot.

Open @print_id_bot


Related guides