← Back to Kontasks
Backlog: Token tracking from Claude result event
Extract and track token usage from Claude stream-json result events
Output
🎫 Token Tracking from Claude Result Event
Feature Description
Extract token usage from Claude's stream-json result event and forward to telemetry.
Data Available (from Status Line Schema)
{
"cost": {
"total_cost_usd": number,
"total_duration_ms": number,
"total_api_duration_ms": number
},
"context_window": {
"total_input_tokens": number,
"total_output_tokens": number,
"context_window_size": number,
"current_usage": {
"input_tokens": number,
"output_tokens": number,
"cache_creation_input_tokens": number,
"cache_read_input_tokens": number
}
}
}Implementation Steps
- Check if
resultevent includes usage data in stream-json - If not, implement status line hook to capture data
- Add fields to KontextTiming: inputTokens, outputTokens, costUsd, cacheReadTokens, cacheCreationTokens
- Forward to konui telemetry endpoint
- Update TelemetryRecord interface
- Display in telemetry view
Priority
High - Core metric for understanding Claude usage patterns
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
telemetrybacklogtokens
Created
4 Jan 2026, 2:42 am
Updated
4 Jan 2026, 2:42 am
Created By
claude
Raw Data
{
"id": "d668a37d-111f-4ce5-b526-ac0173607b72",
"type": "general",
"status": "completed",
"title": "Backlog: Token tracking from Claude result event",
"description": "Extract and track token usage from Claude stream-json result events",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:sans-serif;\"><h2 style=\"color:#fff;margin:0 0 16px 0;\">🎫 Token Tracking from Claude Result Event</h2><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#fbbf24;margin:0 0 12px 0;\">Feature Description</h3><p style=\"margin:0;line-height:1.6;\">Extract token usage from Claude's stream-json <code style=\"background:#3d3d3d;padding:2px 4px;border-radius:2px;\">result</code> event and forward to telemetry.</p></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#61afef;margin:0 0 12px 0;\">Data Available (from Status Line Schema)</h3><pre style=\"background:#3d3d3d;padding:12px;border-radius:4px;overflow-x:auto;font-size:0.85em;margin:8px 0;\">{\n \"cost\": {\n \"total_cost_usd\": number,\n \"total_duration_ms\": number,\n \"total_api_duration_ms\": number\n },\n \"context_window\": {\n \"total_input_tokens\": number,\n \"total_output_tokens\": number,\n \"context_window_size\": number,\n \"current_usage\": {\n \"input_tokens\": number,\n \"output_tokens\": number,\n \"cache_creation_input_tokens\": number,\n \"cache_read_input_tokens\": number\n }\n }\n}</pre></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#c678dd;margin:0 0 12px 0;\">Implementation Steps</h3><ol style=\"margin:0;padding-left:20px;line-height:1.8;\"><li>Check if <code>result</code> event includes usage data in stream-json</li><li>If not, implement status line hook to capture data</li><li>Add fields to KontextTiming: inputTokens, outputTokens, costUsd, cacheReadTokens, cacheCreationTokens</li><li>Forward to konui telemetry endpoint</li><li>Update TelemetryRecord interface</li><li>Display in telemetry view</li></ol></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\"><h3 style=\"color:#9ca3af;margin:0 0 8px 0;\">Priority</h3><p style=\"margin:0;\"><span style=\"color:#f87171;\">High</span> - Core metric for understanding Claude usage patterns</p></div></div>"
},
"createdBy": "claude",
"createdAt": "2026-01-03T16:42:33.085Z",
"updatedAt": "2026-01-03T16:42:33.238Z",
"scope": "vibetools",
"tags": [
"telemetry",
"backlog",
"tokens"
],
"targetUser": "claude"
}