[FEATURE] View full conversation history in UI
Feature Request
View full conversation history within Claude Code's TUI - not export, just browse.
The Core Ask
Claude Code's TUI already renders conversations beautifully - especially agent execution sections with their collapsible panels, tool calls, and structured output. I want to scroll back and see my earlier conversation in that same TUI - before compaction removed it from active context.
This is not about exporting to markdown or external tools. It's about using Claude Code's own TUI rendering to browse history.
Why TUI matters
- Agent sections are rendered with nice collapsible panels showing what the agent did
- Tool calls (Read, Edit, Bash, etc.) are displayed in a clean, structured format
- Code blocks have syntax highlighting
- Diffs are shown with proper formatting
Manually reading transcript.jsonl loses all of this. I want to see my history the same way I see my current conversation.
Problem
- Claude Code automatically compacts conversations when context window fills up (~95%)
- The original conversation is saved in
transcript.jsonl, but there's no way to view it in the TUI - Users can only see compacted/summarized version after compaction occurs
- The
/resumecommand andPpreview only show the current (compacted) state
Screenshots: Current Behavior
1. Session resume command - only shows compacted state:
<!-- 📸 IMAGE: /resume 커맨드로 세션 선택한 화면 -->[INSERT IMAGE: resume command screenshot]
2. First message shown after resuming (compacted):
<!-- 📸 IMAGE: resume 후 보이는 첫번째 대화 - 컴팩팅된 상태 -->[INSERT IMAGE: first conversation after resume]
3. Actual transcript.jsonl contains full history:
<!-- 📸 IMAGE: transcript.jsonl 파일 내용 - 원본 전체 대화 -->[INSERT IMAGE: actual transcript.jsonl content]
---
Proposed Solution
Add a /history command or similar that renders the full transcript.jsonl using Claude Code's existing TUI components:
- Same message bubbles
- Same agent execution panels (collapsible, showing tool calls)
- Same code block rendering
- Same diff display
No export needed. No new rendering engine. Just reuse what's already there.
Suggested UI/UX
Option A: /history slash command
┌─────────────────────────────────────────────────────────────┐
│ Conversation History (Full Transcript) [X] Close │
├─────────────────────────────────────────────────────────────┤
│ 🔍 Search... [Filter: All ▼] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─ User ─────────────────────── 2024-01-27 10:30 ────────┐ │
│ │ Can you help me refactor the auth module? │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Assistant ────────────────── 2024-01-27 10:30 ────────┐ │
│ │ I'll help you refactor the auth module. Let me first │ │
│ │ explore the current implementation... │ │
│ │ │ │
│ │ ▶ Agent: Explore (click to expand) │ │
│ │ 📁 Read: src/auth/index.ts │ │
│ │ 📁 Read: src/auth/providers/oauth.ts │ │
│ │ 🔍 Grep: "authenticate" in src/ │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ 📍 COMPACTION POINT ──────── 2024-01-27 11:45 ────────┐ │
│ │ Context was compacted here. Content above this point │ │
│ │ is no longer in active context. │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
│ [←] [Page 1 of 5] [→] │
└─────────────────────────────────────────────────────────────┘
Option B: Enhanced /resume with H key for full history
┌─────────────────────────────────────────────────────────────┐
│ Recent Sessions │
├─────────────────────────────────────────────────────────────┤
│ > auth-refactor 2h ago ██████░░ 127 messages │
│ feature-api-v2 1d ago ████░░░░ 64 messages │
├─────────────────────────────────────────────────────────────┤
│ [Enter] Resume [P] Preview [H] Full History [R] Rename │
└─────────────────────────────────────────────────────────────┘
Use Case
When working on long sessions, I often want to:
- See what an agent explored earlier (which files, what it found)
- Review tool outputs that were compacted away
- Check the exact code changes that were made hours ago
The transcript.jsonl has all this data. Claude Code already knows how to render it beautifully. Just need to connect them!
---
Implementation Details
Data Location
~/.claude/projects/{projectId}/{sessionId}/transcript.jsonl
What's already there
- TUI components for rendering messages, tool calls, agent panels
- Transcript parsing (used for
/resumepreview) - Virtual scrolling (for long outputs)
What's needed
- A read-only history view mode that renders full transcript
- Reuse existing message/tool/agent components
- Add pagination or virtual scroll for long histories
---
Thank you for considering this feature! 🙏
This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗