Completed
on 10 Jan 2026, 9:48 am

Output

MCP Tool History Rendering Fix

Issue Identified

MCP tools (like mcp__konui__konui_get_turn) were showing only the tool name in history playback, without the summary that appears in real-time.

Fix Applied

// Before (line 191-193):
} else {
  displayText = toolName;
}

// After:
} else if (toolName.startsWith('mcp__')) {
  // MCP tools - show full name and summary
  displayText = toolName + (input.summary ? ': ' + input.summary : '');
} else {
  // Other tools - show name and summary if available
  displayText = toolName + (input.summary ? ': ' + input.summary : '');
}

Architectural Note: History vs Real-time

There are inherent differences between real-time and history that cannot be eliminated due to storage constraints:

Feature Real-time History
Tool use (name + summary) ✓ Full ✓ Full (fixed)
Tool result summary ✓ Full ✓ Full
Tool result content (short) ✓ Shows <20 lines ✗ Not stored
Error events ✓ Inline display ✗ Not persisted
Edit diffs ✓ Full ✓ Full
Todo lists ✓ Full ✓ Full

Why Some Data Isn't Stored

The workingHistory in kontext is designed to be compact:

  • Tool content not stored - Full tool outputs (file contents, search results) would make kontext files enormous
  • Errors ephemeral - Error events are streaming-only, not persisted to history
  • Summary only - Only summary text is stored for tool results

Commit

8549f52a Turn: Fix MCP tool rendering in history playback

Impact

History playback will now show MCP tool summaries (like mcp__konui__konui_get_turn: Getting turn data...) instead of just the tool name.

Quick Actions

View Turn
Original Request

No layout configured

Details

Type General
Status Completed
Scope vibetools
Tags consolehistorymcp
Created 10 Jan 2026, 9:48 am
Updated 10 Jan 2026, 9:48 am
Timing
⏱️ 191.5s
0 tools
TTFE 0% Thinking 100% Tools 0%
Created By claude

📋 Claude's Context

Session ses_df705a8d...

🔗 Git Commit

8549f52a

Raw Data

{
  "id": "ac13fe64-8984-4cf2-8263-c3e61760016f",
  "type": "general",
  "status": "completed",
  "title": "MCP Tool History Rendering Fix",
  "description": "Fixed MCP tool rendering in history playback - summaries now shown",
  "context": {
    "output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">MCP Tool History Rendering Fix</h2>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Issue Identified</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">MCP tools (like <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;color:#e5c07b;\">mcp__konui__konui_get_turn</code>) were showing only the tool name in history playback, without the summary that appears in real-time.</p>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Fix Applied</h3>\n<pre style=\"background:#2d2d2d;padding:16px;border-radius:6px;overflow-x:auto;line-height:1.6;color:#e0e0e0;margin:8px 0;\">\n<span style=\"color:#7f848e;\">// Before (line 191-193):</span>\n} else {\n  displayText = toolName;\n}\n\n<span style=\"color:#7f848e;\">// After:</span>\n} else if (toolName.startsWith(<span style=\"color:#98c379;\">'mcp__'</span>)) {\n  <span style=\"color:#7f848e;\">// MCP tools - show full name and summary</span>\n  displayText = toolName + (input.summary ? <span style=\"color:#98c379;\">': '</span> + input.summary : <span style=\"color:#98c379;\">''</span>);\n} else {\n  <span style=\"color:#7f848e;\">// Other tools - show name and summary if available</span>\n  displayText = toolName + (input.summary ? <span style=\"color:#98c379;\">': '</span> + input.summary : <span style=\"color:#98c379;\">''</span>);\n}\n</pre>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Architectural Note: History vs Real-time</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">There are inherent differences between real-time and history that <strong>cannot be eliminated</strong> due to storage constraints:</p>\n\n<table style=\"width:100%;border-collapse:collapse;margin:12px 0;\">\n<tr style=\"background:#2d2d2d;\">\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">Feature</th>\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">Real-time</th>\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">History</th>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool use (name + summary)</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full (fixed)</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool result summary</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool result content (short)</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Shows &lt;20 lines</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#f87171;\">✗ Not stored</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Error events</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Inline display</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#f87171;\">✗ Not persisted</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Edit diffs</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Todo lists</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n</table>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Why Some Data Isn't Stored</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">The <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;color:#e5c07b;\">workingHistory</code> in kontext is designed to be compact:</p>\n<ul style=\"color:#abb2bf;line-height:1.8;margin:8px 0;padding-left:24px;\">\n<li><strong>Tool content not stored</strong> - Full tool outputs (file contents, search results) would make kontext files enormous</li>\n<li><strong>Errors ephemeral</strong> - Error events are streaming-only, not persisted to history</li>\n<li><strong>Summary only</strong> - Only summary text is stored for tool results</li>\n</ul>\n\n<h3 style=\"color:#61afef;margin:16px 0 8px 0;\">Commit</h3>\n<pre style=\"background:#2d2d2d;padding:12px;border-radius:6px;color:#abb2bf;\">\n<span style=\"color:#e5c07b;\">8549f52a</span> Turn: Fix MCP tool rendering in history playback\n</pre>\n\n<h3 style=\"color:#61afef;margin:16px 0 8px 0;\">Impact</h3>\n<p style=\"color:#abb2bf;\">History playback will now show MCP tool summaries (like <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;\">mcp__konui__konui_get_turn: Getting turn data...</code>) instead of just the tool name.</p>\n</div>",
    "requestedAt": "2025-01-10T15:30:00Z",
    "requestId": "28d27a05-8d97-4630-bcc8-80db2cb2decb",
    "commitSha": "8549f52a",
    "choices": [
      {
        "label": "Restart konui",
        "value": "Please restart konui to apply the changes",
        "primary": true
      },
      {
        "label": "Store more in history",
        "value": "Investigate storing more tool data in workingHistory for richer history playback"
      },
      {
        "label": "View console code",
        "value": "Show me the console-render-items.ts file"
      }
    ],
    "turnTiming": {
      "totalMs": 191533,
      "ttfeMs": 106,
      "thinkingMs": 191425,
      "toolExecutionMs": 0,
      "toolCallCount": 0,
      "thinkingPct": 100,
      "toolsPct": 0,
      "ttfePct": 0
    }
  },
  "createdBy": "claude",
  "createdAt": "2026-01-09T23:48:51.731Z",
  "updatedAt": "2026-01-09T23:48:57.446Z",
  "requestId": "28d27a05-8d97-4630-bcc8-80db2cb2decb",
  "scope": "vibetools",
  "tags": [
    "console",
    "history",
    "mcp"
  ],
  "sessionId": "ses_df705a8d-ea1",
  "flowId": "flow_01KEHQ5A7ZX7YDB8KG1NP2GE68",
  "flowLinks": [
    {
      "flowId": "flow_01KEHQ5A7ZX7YDB8KG1NP2GE68",
      "edgeType": "evidence",
      "createdAt": "2026-01-09T23:48:51.731Z"
    }
  ]
}
DashboardReportsKontasksFlowsDecisionsSessionsTelemetryLogs + Go