From 4b77be59a565b45531a2efd9cea4b93b9ba486b6 Mon Sep 17 00:00:00 2001 From: Ali Basiri Date: Tue, 5 May 2026 09:57:41 -0700 Subject: [PATCH] fix: pick up ai-title entries so session names display Claude Code writes auto-generated titles as type:"ai-title"/aiTitle entries, but readSessionFile only parsed type:"custom-title". Sessions with an AI title but no user-set title fell back to the raw first prompt. User-set customTitle still takes precedence. Fixes #33 Co-Authored-By: Claude Opus 4.7 (1M context) --- read-session-file.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/read-session-file.js b/read-session-file.js index 26c2e8b..1123289 100644 --- a/read-session-file.js +++ b/read-session-file.js @@ -13,12 +13,16 @@ function readSessionFile(filePath, folder, projectPath) { let textContent = ''; let slug = null; let customTitle = null; + let aiTitle = null; for (const line of lines) { const entry = JSON.parse(line); if (entry.slug && !slug) slug = entry.slug; if (entry.type === 'custom-title' && entry.customTitle) { customTitle = entry.customTitle; } + if (entry.type === 'ai-title' && entry.aiTitle) { + aiTitle = entry.aiTitle; + } if (entry.type === 'user' || entry.type === 'assistant' || (entry.type === 'message' && (entry.role === 'user' || entry.role === 'assistant'))) { messageCount++; @@ -45,7 +49,7 @@ function readSessionFile(filePath, folder, projectPath) { summary, firstPrompt: summary, created: stat.birthtime.toISOString(), modified: stat.mtime.toISOString(), - messageCount, textContent, slug, customTitle, + messageCount, textContent, slug, customTitle: customTitle || aiTitle, }; } catch { return null;