← Back to Kontasks
StatusLine Not Updating - Root Cause Found
Diagnosed why navbar StatusLine metrics aren't updating during dashboard console sessions
Output
🔍 StatusLine Investigation Results
Root Cause
The StatusLine hook only works for interactive terminal sessions, not for dashboard console sessions.
How StatusLine Works
| Hook Setting | ~/.claude/settings.json ✓ |
| Hook Script | /konnectvol/bin/statusline-token-tracker.sh ✓ |
| Konsole Endpoint | POST /statusline ✓ |
| Data File | 2 entries (only test data) |
Why It Doesn't Work for Dashboard Console
konsole spawns Claude with: claude --print --output-format stream-json ... This is NON-INTERACTIVE mode: • No terminal status line displayed • No StatusLine hook triggered • Output goes to stdout as JSON
When StatusLine DOES Work
- Running
claudedirectly in terminal - Interactive sessions with visible status line
- NOT applicable to programmatic/API spawning
Alternative: Token Telemetry
For dashboard console, we already track token usage via:
console-telemetry.jsonl- Per-turn token usage from stream eventsTelemetryRecord.tokenUsage- inputTokens, outputTokens, costUsd
What's Next?
Choose an action:
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
konsoletelemetrystatusline
Created
5 Jan 2026, 2:27 am
Updated
5 Jan 2026, 2:27 am
Timing
⏱️ 193.3s
28 tools
● TTFE 2%
● Thinking 79%
● Tools 19%
Created By
claude
Raw Data
{
"id": "a122c3fc-7db0-4e05-b2c7-1986a0459389",
"type": "general",
"status": "completed",
"title": "StatusLine Not Updating - Root Cause Found",
"description": "Diagnosed why navbar StatusLine metrics aren't updating during dashboard console sessions",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\"><h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">🔍 StatusLine Investigation Results</h2><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;border-left:4px solid #f97316;\"><h4 style=\"margin:0 0 8px 0;color:#f97316;\">Root Cause</h4><p style=\"color:#e0e0e0;margin:0;\">The StatusLine hook <strong>only works for interactive terminal sessions</strong>, not for dashboard console sessions.</p></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h4 style=\"margin:0 0 12px 0;color:#61afef;\">How StatusLine Works</h4><table style=\"width:100%;border-collapse:collapse;\"><tr><td style=\"padding:8px;color:#7f848e;border-bottom:1px solid #3d3d3d;\">Hook Setting</td><td style=\"padding:8px;color:#98c379;border-bottom:1px solid #3d3d3d;\">~/.claude/settings.json ✓</td></tr><tr><td style=\"padding:8px;color:#7f848e;border-bottom:1px solid #3d3d3d;\">Hook Script</td><td style=\"padding:8px;color:#98c379;border-bottom:1px solid #3d3d3d;\">/konnectvol/bin/statusline-token-tracker.sh ✓</td></tr><tr><td style=\"padding:8px;color:#7f848e;border-bottom:1px solid #3d3d3d;\">Konsole Endpoint</td><td style=\"padding:8px;color:#98c379;border-bottom:1px solid #3d3d3d;\">POST /statusline ✓</td></tr><tr><td style=\"padding:8px;color:#7f848e;\">Data File</td><td style=\"padding:8px;color:#e5c07b;\">2 entries (only test data)</td></tr></table></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h4 style=\"margin:0 0 12px 0;color:#c678dd;\">Why It Doesn't Work for Dashboard Console</h4><pre style=\"background:#1e1e1e;padding:12px;border-radius:4px;overflow-x:auto;color:#e5c07b;margin:0;\">konsole spawns Claude with:\n claude --print --output-format stream-json ...\n\nThis is NON-INTERACTIVE mode:\n • No terminal status line displayed\n • No StatusLine hook triggered\n • Output goes to stdout as JSON</pre></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h4 style=\"margin:0 0 12px 0;color:#98c379;\">When StatusLine DOES Work</h4><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li style=\"color:#e0e0e0;\">Running <code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">claude</code> directly in terminal</li><li style=\"color:#e0e0e0;\">Interactive sessions with visible status line</li><li style=\"color:#e0e0e0;\">NOT applicable to programmatic/API spawning</li></ul></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h4 style=\"margin:0 0 12px 0;color:#56b6c2;\">Alternative: Token Telemetry</h4><p style=\"color:#e0e0e0;margin:0 0 12px 0;\">For dashboard console, we already track token usage via:</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li style=\"color:#e0e0e0;\"><code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">console-telemetry.jsonl</code> - Per-turn token usage from stream events</li><li style=\"color:#e0e0e0;\"><code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">TelemetryRecord.tokenUsage</code> - inputTokens, outputTokens, costUsd</li></ul></div><div style=\"background:#2d2d2d;padding:12px;border-radius:6px;\"><h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4><p style=\"color:#9ca3af;margin:0;\">Choose an action:</p></div></div>",
"requestedAt": "2026-01-05T02:30:00Z",
"requestId": "5cd21c02-9af9-4eba-ab86-e0700ce173d0",
"choices": [
{
"label": "Use console telemetry",
"value": "Update the navbar to use console-telemetry.jsonl data instead of StatusLine for dashboard sessions",
"primary": true
},
{
"label": "Show telemetry data",
"value": "Show me the current console-telemetry.jsonl data to see what token usage is being captured"
},
{
"label": "Keep StatusLine for terminal",
"value": "The StatusLine works correctly for terminal sessions - no changes needed"
}
],
"turnTiming": {
"totalMs": 193315,
"ttfeMs": 3777,
"thinkingMs": 153266,
"toolExecutionMs": 36271,
"toolCallCount": 28,
"thinkingPct": 79,
"toolsPct": 19,
"ttfePct": 2
}
},
"createdBy": "claude",
"createdAt": "2026-01-04T16:27:36.351Z",
"updatedAt": "2026-01-04T16:27:50.820Z",
"requestId": "5cd21c02-9af9-4eba-ab86-e0700ce173d0",
"scope": "vibetools",
"tags": [
"konsole",
"telemetry",
"statusline"
],
"targetUser": "claude"
}