diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
index 6ae31dbed..190180d9b 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
@@ -982,59 +982,62 @@ function AssistantMessage(props: { message: AssistantMessage; parts: Part[]; las
{props.message.error?.data.message}
-
-
- {Locale.titlecase(props.message.mode)}
-
- {(() => {
- const retry = createMemo(() => {
- const s = status()
- if (s.type !== "retry") return
- return s
- })
- const message = createMemo(() => {
- const r = retry()
- if (!r) return
- if (r.message.includes("exceeded your current quota") && r.message.includes("gemini"))
- return "gemini 3 way too hot right now"
- if (r.message.length > 50) return r.message.slice(0, 50) + "..."
- return r.message
- })
- const [seconds, setSeconds] = createSignal(0)
- onMount(() => {
- const timer = setInterval(() => {
- const next = retry()?.next
- if (next) setSeconds(Math.round((next - Date.now()) / 1000))
- }, 1000)
-
- onCleanup(() => {
- clearInterval(timer)
+
+
+
+ {Locale.titlecase(props.message.mode)}
+
+ {(() => {
+ const retry = createMemo(() => {
+ const s = status()
+ if (s.type !== "retry") return
+ return s
})
- })
- return (
-
-
- {message()} [retrying {seconds() > 0 ? `in ${seconds()}s ` : ""}
- attempt #{retry()!.attempt}]
-
-
- )
- })()}
-
-
- item.type === "step-finish" && item.reason !== "tool-calls")
- }
- >
-
-
- {Locale.titlecase(props.message.mode)}{" "}
- {props.message.modelID}
-
-
-
+ const message = createMemo(() => {
+ const r = retry()
+ if (!r) return
+ if (r.message.includes("exceeded your current quota") && r.message.includes("gemini"))
+ return "gemini 3 way too hot right now"
+ if (r.message.length > 50) return r.message.slice(0, 50) + "..."
+ return r.message
+ })
+ const [seconds, setSeconds] = createSignal(0)
+ onMount(() => {
+ const timer = setInterval(() => {
+ const next = retry()?.next
+ if (next) setSeconds(Math.round((next - Date.now()) / 1000))
+ }, 1000)
+
+ onCleanup(() => {
+ clearInterval(timer)
+ })
+ })
+ return (
+
+
+ {message()} [retrying {seconds() > 0 ? `in ${seconds()}s ` : ""}
+ attempt #{retry()!.attempt}]
+
+
+ )
+ })()}
+
+
+ item.type === "step-finish" && item.reason !== "tool-calls")) ||
+ props.last
+ }
+ >
+
+
+ {Locale.titlecase(props.message.mode)}{" "}
+ {props.message.modelID}
+
+
+
+
>
)
}