diff --git a/termui/termui.go b/termui/termui.go
index 34d6308..4461b5c 100644
--- a/termui/termui.go
+++ b/termui/termui.go
@@ -375,6 +375,7 @@
 
 	// This is the only place where we should call fe.trm.Write:
 	go func() {
+		var lastMsg *chatMessage
 		for {
 			select {
 			case <-ctx.Done():
@@ -382,19 +383,25 @@
 			case msg := <-ui.chatMsgCh:
 				func() {
 					defer ui.messageWaitGroup.Done()
+					// Update prompt before writing, because otherwise it doesn't redraw the prompt.
+					ui.updatePrompt(msg.thinking)
+					lastMsg = &msg
 					// Sometimes claude doesn't say anything when it runs tools.
 					// No need to output anything in that case.
 					if strings.TrimSpace(msg.content) == "" {
 						return
 					}
 					s := fmt.Sprintf("%s %s\n", msg.sender, msg.content)
-					// Update prompt before writing, because otherwise it doesn't redraw the prompt.
-					ui.updatePrompt(msg.thinking)
 					ui.trm.Write([]byte(s))
 				}()
 			case logLine := <-ui.termLogCh:
 				func() {
 					defer ui.messageWaitGroup.Done()
+					if lastMsg != nil {
+						ui.updatePrompt(lastMsg.thinking)
+					} else {
+						ui.updatePrompt(false)
+					}
 					b := []byte(logLine + "\n")
 					ui.trm.Write(b)
 				}()
