diff --git a/ui/goose2/src/features/chat/ui/ToolCallAdapter.tsx b/ui/goose2/src/features/chat/ui/ToolCallAdapter.tsx index 06adcefa27..d272d9ff28 100644 --- a/ui/goose2/src/features/chat/ui/ToolCallAdapter.tsx +++ b/ui/goose2/src/features/chat/ui/ToolCallAdapter.tsx @@ -217,8 +217,8 @@ export function ToolCallAdapter({ const elapsed = useElapsedTime(status, startedAt); const state = toolStatusMap[status]; - const title = - status === "executing" && elapsed >= 3 ? `${name} (${elapsed}s)` : name; + const elapsedSeconds = + status === "executing" && elapsed >= 3 ? elapsed : undefined; return (
@@ -226,9 +226,10 @@ export function ToolCallAdapter({ {Object.keys(args).length > 0 && } diff --git a/ui/goose2/src/shared/ui/ai-elements/tool.tsx b/ui/goose2/src/shared/ui/ai-elements/tool.tsx index cd0936b5e5..5927bfae99 100644 --- a/ui/goose2/src/shared/ui/ai-elements/tool.tsx +++ b/ui/goose2/src/shared/ui/ai-elements/tool.tsx @@ -30,6 +30,7 @@ export type ToolHeaderProps = { title?: string; className?: string; showIcon?: boolean; + elapsedSeconds?: number; } & ( | { type: ToolUIPart["type"]; state: ToolUIPart["state"]; toolName?: never } | { @@ -76,6 +77,7 @@ export const ToolHeader = ({ state, toolName, showIcon = true, + elapsedSeconds, ...props }: ToolHeaderProps) => { const derivedName = @@ -89,6 +91,11 @@ export const ToolHeader = ({ {showIcon && } {title ?? derivedName} {getStatusBadge(state)} + {elapsedSeconds != null && ( + + {elapsedSeconds}s + + )} );