diff --git a/apps/web/src/components/chat/ComposerTasksBadge.tsx b/apps/web/src/components/chat/ComposerTasksBadge.tsx
index 2eca3e23739a44c3b3cd1b99fd6e3086d19a87bc..19cba9048a4fa36380d5182e2208e05e0813dc70 100644
--- a/apps/web/src/components/chat/ComposerTasksBadge.tsx
+++ b/apps/web/src/components/chat/ComposerTasksBadge.tsx
@@ -1,4 +1,4 @@
-import { ListTodoIcon } from "lucide-react";
+import { CheckIcon, CircleDotIcon, CircleIcon, ListTodoIcon } from "lucide-react";
import { memo, type ComponentProps } from "react";
import { formatDuration } from "../../session-logic";
@@ -90,7 +90,7 @@ function TaskSummary({
className={progress.completedSteps >= progress.totalSteps ? "text-success" : undefined}
data-composer-task-progress="true"
>
- {progress.completedSteps}/{progress.totalSteps} complete
+ {progress.completedSteps}/{progress.totalSteps}
@@ -166,10 +166,10 @@ export const ComposerTasksContent = memo(function ComposerTasksContent({
data-composer-tasks-list="true"
>
{keyedTaskSteps(steps).map(({ key, step }) => (
- }>
+ } className="items-start py-1 pe-2">
- {step.status === "completed" ? "✓" : step.status === "inProgress" ? "●" : "○"}
+ {step.status === "completed" ? (
+
+ ) : step.status === "inProgress" ? (
+
+ ) : (
+
+ )}
+ {taskStatusLabels[step.status]}:
{step.step}
-
- {taskStatusLabels[step.status]}
-
{step.durationMs !== undefined