diff --git a/frontend/src/app/components/overlays/DynamicIsland.tsx b/frontend/src/app/components/overlays/DynamicIsland.tsx
index 9922f92e..e4d5015b 100644
--- a/frontend/src/app/components/overlays/DynamicIsland.tsx
+++ b/frontend/src/app/components/overlays/DynamicIsland.tsx
@@ -570,12 +570,14 @@ const CompactPill: React.FC<{
userSelect: 'none',
}}
>
-
+ {activeCount > 0
+ ?
+ : }
0 ? c.text.tertiary : c.status.success,
flex: 1,
overflow: 'hidden',
textOverflow: 'ellipsis',
diff --git a/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx b/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx
index 0e9f9989..b881350a 100644
--- a/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx
+++ b/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx
@@ -1141,8 +1141,7 @@ const AgentCard: React.FC = ({
)}
- {/* Status speaks only when it needs the user; finished work sits quiet. The welcome
- chat hides its 'draft' label so the title reads clean. */}
+ {/* The welcome chat hides its 'draft' label so the title reads clean. */}
{session.status !== 'completed' && session.status !== 'stopped' && !session.is_welcome_draft && (
@@ -1150,6 +1149,24 @@ const AgentCard: React.FC = ({
)}
+ {/* Finishing used to be signalled by the word 'working' DISAPPEARING, which is not a signal. */}
+
+ }
+ label="Done"
+ size="small"
+ sx={{
+ bgcolor: c.status.successBg,
+ color: c.status.success,
+ border: `1px solid ${c.status.success}33`,
+ fontWeight: 600,
+ fontSize: '0.6875rem',
+ height: 22,
+ flexShrink: 0,
+ '& .MuiChip-icon': { ml: '4px' },
+ }}
+ />
+
{/* Calm, zero-click signal: the agent recalled or built up memory of
this site, so the user feels it getting smarter on its own. */}
@@ -1189,9 +1206,12 @@ const AgentCard: React.FC = ({
>
{session.cost_usd > 0 && hasApiKey && (
-
- ${session.cost_usd.toFixed(4)}
-
+ // Accent orange on a bare number read as a warning; it is just what the run cost.
+
+
+ ${session.cost_usd.toFixed(4)}
+
+
)}