Skip to content

Commit 1459ddc

Browse files
committed
fix: yield incremental token usage for Claude Code assistant messages
- Modified claude-code.ts to yield incremental token usage after each assistant message - This ensures the UI receives real-time token updates during streaming - Prevents accumulation issues in Task.ts which was causing incorrect totals - Fixes #5600 where assistant messages showed incorrect low token counts
1 parent 26cfd92 commit 1459ddc

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/api/providers/claude-code.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,16 @@ export class ClaudeCodeHandler extends BaseProvider implements ApiHandler {
108108
}
109109
}
110110

111+
// Yield incremental usage for this message only
112+
yield {
113+
type: "usage" as const,
114+
inputTokens: message.usage.input_tokens,
115+
outputTokens: message.usage.output_tokens,
116+
cacheReadTokens: message.usage.cache_read_input_tokens || 0,
117+
cacheWriteTokens: message.usage.cache_creation_input_tokens || 0,
118+
}
119+
120+
// Continue accumulating for the final result
111121
usage.inputTokens += message.usage.input_tokens
112122
usage.outputTokens += message.usage.output_tokens
113123
usage.cacheReadTokens = (usage.cacheReadTokens || 0) + (message.usage.cache_read_input_tokens || 0)

0 commit comments

Comments
 (0)