diff --git a/aider/io.py b/aider/io.py index ea9fd9a2b..287c70b5e 100644 --- a/aider/io.py +++ b/aider/io.py @@ -804,9 +804,14 @@ class InputOutput: hist = message.strip() if strip else message self.append_chat_history(hist, linebreak=True, blockquote=True) - message = Text(message) - style = dict(style=color) if self.pretty and color else dict() - self.console.print(message, **style) + try: + message = Text(message) + style = dict(style=color) if self.pretty and color else dict() + self.console.print(message, **style) + except UnicodeEncodeError: + # Fallback to ASCII-safe output + message = message.encode('ascii', errors='replace').decode('ascii') + self.console.print(message, **style) def tool_error(self, message="", strip=True): self.num_error_outputs += 1