diff --git a/src/renderer/components/chat/ContextBadge.tsx b/src/renderer/components/chat/ContextBadge.tsx index 737ee229..2b4d5991 100644 --- a/src/renderer/components/chat/ContextBadge.tsx +++ b/src/renderer/components/chat/ContextBadge.tsx @@ -215,6 +215,17 @@ export const ContextBadge = ({ [newTaskCoordinationInjections] ); + // Compute actual item counts (not injection-object counts) for accurate badge display + const toolOutputCount = useMemo( + () => newToolOutputInjections.reduce((sum, inj) => sum + inj.toolCount, 0), + [newToolOutputInjections] + ); + + const taskCoordinationCount = useMemo( + () => newTaskCoordinationInjections.reduce((sum, inj) => sum + inj.breakdown.length, 0), + [newTaskCoordinationInjections] + ); + const userMessageTokens = useMemo( () => newUserMessageInjections.reduce((sum, inj) => sum + inj.estimatedTokens, 0), [newUserMessageInjections] @@ -478,7 +489,7 @@ export const ContextBadge = ({ {newToolOutputInjections.length > 0 && ( {newToolOutputInjections.map((injection) => @@ -501,7 +512,7 @@ export const ContextBadge = ({ {newTaskCoordinationInjections.length > 0 && ( {newTaskCoordinationInjections.map((injection) => diff --git a/src/renderer/utils/contextTracker.ts b/src/renderer/utils/contextTracker.ts index 021afb5a..d9756145 100644 --- a/src/renderer/utils/contextTracker.ts +++ b/src/renderer/utils/contextTracker.ts @@ -836,13 +836,13 @@ function computeContextStats(params: ComputeContextStatsParams): ContextStats { newCounts.mentionedFiles++; break; case 'tool-output': - newCounts.toolOutputs++; + newCounts.toolOutputs += (injection).toolCount; break; case 'thinking-text': newCounts.thinkingText++; break; case 'task-coordination': - newCounts.taskCoordination++; + newCounts.taskCoordination += (injection).breakdown.length; break; case 'user-message': newCounts.userMessages++;