diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx
index f832174aa4..47dc19dbdd 100644
--- a/packages/tui/src/routes/session/index.tsx
+++ b/packages/tui/src/routes/session/index.tsx
@@ -1528,7 +1528,7 @@ function AssistantMessage(props: { message: AssistantMessage; parts: Part[]; las
customBorderChars={SplitBorder.customBorderChars}
borderColor={theme.error}
>
- {props.message.error?.data.message}
+ {String(props.message.error?.data.message ?? "")}
diff --git a/packages/tui/src/ui/dialog-prompt.tsx b/packages/tui/src/ui/dialog-prompt.tsx
index d627ea2970..63dc2ca6dd 100644
--- a/packages/tui/src/ui/dialog-prompt.tsx
+++ b/packages/tui/src/ui/dialog-prompt.tsx
@@ -8,7 +8,7 @@ import { useBindings, useCommandShortcut } from "../keymap"
export type DialogPromptProps = {
title: string
- description?: () => JSX.Element
+ description?: JSX.Element | (() => JSX.Element)
placeholder?: string
value?: string
busy?: boolean
@@ -25,6 +25,11 @@ export function DialogPrompt(props: DialogPromptProps) {
const [textareaTarget, setTextareaTarget] = createSignal()
let textarea: TextareaRenderable
+ const description = () => {
+ if (typeof props.description === "function") return props.description()
+ return props.description
+ }
+
function confirm() {
if (props.busy) return
props.onConfirm?.(textarea.plainText)
@@ -83,7 +88,7 @@ export function DialogPrompt(props: DialogPromptProps) {
- {props.description}
+ {description()}