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:
- In a private chat, ask the user to open the bot and tap Start.
- Verify that the current
chat_idwas copied without spaces or missing digits. - Confirm that the bot is still a member of the group or an administrator of the channel.
- 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:
- Private: Open the bot, tap Start — User ID = chat_id
- Group/supergroup: Add the bot, send /id — copy the chat_id from the reply
- Channel: Forward a channel post to the bot — it shows the channel ID
Related pages
- How to get Telegram chat_id for a group
- Group vs supergroup chat_id
- Telegram Bot API: how to get chat_id
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.
Related guides
- Add a bot to a group to get chat_id (10 seconds)
- Aiogram: get chat_id and user ID (examples)
- Bot not responding in a Telegram group: checklist
- C# Telegram bot: get chat_id
- Forwarded messages in Telegram: why IDs can be hidden
- Forwarded sender ID hidden in Telegram: reasons and limits
- Get a Telegram Group chat_id in 10 Seconds
- Get Telegram channel ID for Bot API (what's possible and what isn't)