[FEATURE] View full conversation history in UI

Open 💬 8 comments Opened Jan 27, 2026 by taejs

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 /resume command and P preview 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 /resume preview)
  • 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! 🙏

View original on GitHub ↗

This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗