diff --git a/apps/web/app/components/chat-message.tsx b/apps/web/app/components/chat-message.tsx
index 24778a6d023..77740393e9a 100644
--- a/apps/web/app/components/chat-message.tsx
+++ b/apps/web/app/components/chat-message.tsx
@@ -653,7 +653,7 @@ export const ChatMessage = memo(function ChatMessage({ message, isStreaming }: {
return (
{attachmentInfo.message && (
-
+
{
attachmentInfo.message
}
@@ -675,7 +675,7 @@ export const ChatMessage = memo(function ChatMessage({ message, isStreaming }: {
)}
>
) : (
-
+
{textContent}
)}
@@ -691,7 +691,7 @@ export const ChatMessage = memo(function ChatMessage({ message, isStreaming }: {
// Assistant: free-flowing text, left-aligned, NO bubble
return (
-
+
{segments.map((segment, index) => {
if (segment.type === "text") {
@@ -703,7 +703,7 @@ export const ChatMessage = memo(function ChatMessage({ message, isStreaming }: {
return (
-
+
{errorMatch[1].trim()}
@@ -760,7 +760,7 @@ export const ChatMessage = memo(function ChatMessage({ message, isStreaming }: {
initial={{ opacity: 0, y: 4 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.2, ease: "easeOut" }}
- className="chat-prose font-bookerly text-sm whitespace-pre-wrap"
+ className="chat-prose font-bookerly text-sm whitespace-pre-wrap break-all"
style={{ color: "var(--color-text)" }}
>
{segment.text}
diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css
index 4634a344973..fc9294c1048 100644
--- a/apps/web/app/globals.css
+++ b/apps/web/app/globals.css
@@ -863,6 +863,8 @@ a,
.chat-prose {
color: var(--color-text);
line-height: 1.8;
+ overflow-wrap: anywhere;
+ word-break: break-word;
}
.chat-prose > *:first-child {
@@ -978,6 +980,8 @@ a,
border: 1px solid var(--color-border);
border-radius: 0.375rem;
padding: 0.15em 0.35em;
+ overflow-wrap: anywhere;
+ word-break: break-all;
}