diff --git a/src/bot/handlers/message.py b/src/bot/handlers/message.py index d2fc497..92c6584 100644 --- a/src/bot/handlers/message.py +++ b/src/bot/handlers/message.py @@ -120,9 +120,16 @@ def _format_error_message(error_str: str) -> str: ) else: # Generic error handling + # Escape special markdown characters in error message + # Replace problematic chars that break Telegram markdown + safe_error = error_str.replace("_", "\\_").replace("*", "\\*").replace("`", "\\`").replace("[", "\\[") + # Truncate very long errors + if len(safe_error) > 200: + safe_error = safe_error[:200] + "..." + return ( f"❌ **Claude Code Error**\n\n" - f"Failed to process your request: {error_str}\n\n" + f"Failed to process your request: {safe_error}\n\n" f"Please try again or contact the administrator if the problem persists." )