diff --git a/bot.go b/bot.go
index b469fb3..227751d 100644
--- a/bot.go
+++ b/bot.go
@@ -1197,6 +1197,16 @@ func chatToText(messages []models.RoleMsg, showSys bool) string {
}
return "[yellow::i][thinking... (press Alt+T to expand)][-:-:-]"
})
+ // Handle incomplete thinking blocks (during streaming when hasn't arrived yet)
+ if strings.Contains(text, "") && !strings.Contains(text, "") {
+ // Find the incomplete thinking block and replace it
+ startIdx := strings.Index(text, "")
+ if startIdx != -1 {
+ content := text[startIdx+len(""):]
+ placeholder := fmt.Sprintf("[yellow::i][thinking... (%d chars) (press Alt+T to expand)][-:-:-]", len(content))
+ text = text[:startIdx] + placeholder
+ }
+ }
}
return text