[FEATURE] Conversation History Export / Plain-text Access in Claude Code
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Summary
Claude Code conversations are encrypted locally and practically inaccessible after a session ends. Developers need a way to export, browse, and search their past conversations — just as web-based Claude and ChatGPT already provide.
The Problem — A Real Story
Today I was working on my project (an adaptive learning platform) and asked Claude Code whether uploading a PDF textbook would automatically expand the ontology concept network.
Claude Code analyzed part of the codebase and confidently answered: "No, the PDF upload pipeline is not connected to the ontology system." It then elaborated on why this was a problem and proposed a detailed solution — all based on an incorrect premise.
The truth? I had already implemented this feature months ago, in a previous Claude Code session. The PDF upload pipeline was fully connected to the ontology expansion system, with auto-approval for material-sourced concepts and admin dashboard integration.
How did I catch this? Because I had manually copy-pasted that earlier conversation into a devlog file. Without that manual record, I might have accepted Claude's wrong answer and re-implemented something that already existed — or worse, broken existing functionality.
This incident revealed a painful irony:
- Claude Code told me I didn't need to manually save conversations because "they're already stored"
- I stopped copy-pasting conversations into my devlog
- Months later, I couldn't access those "stored" conversations because they're encrypted
- I got lucky this time because the critical session happened before I stopped manual logging
Why This Matters
For developers, AI conversations are intellectual property and working documentation:
- Architecture decisions and their rationale
- Debugging sessions with step-by-step reasoning
- Design trade-offs that were discussed and resolved
- Implementation details that aren't captured in commit messages
- Corrections and lessons learned (like today's incident)
These conversations are often more valuable than the code diff itself, because they capture the "why" behind decisions.
Current Workarounds (All Inadequate)
| Method | Problem |
|--------|---------|
| Copy-paste from terminal | Markdown rendering breaks — tables, formatting, indentation all corrupted |
| /devlog custom command | Claude reconstructs from memory, costs output tokens, not truly verbatim |
| Read encrypted local files | Requires decryption, no search, extremely cumbersome |
| Just remember | Human memory is unreliable; today's incident proves this |
What I'm Requesting
Any of the following would solve this:
Option A: Plain-text conversation log
Save a parallel .md or .jsonl file alongside the encrypted conversation, containing the raw markdown of each message. No encryption needed — the user chose to have this conversation locally.
Option B: Export command
claude conversation export [session-id] --format md to dump a past conversation as readable markdown.
Option C: Browsable history
Similar to claude.ai — a searchable list of past conversations with full content access.
Option D: Real-time append hook
Allow hooks to access the current message content (both user input and assistant output) so developers can build their own logging. Currently, hooks can only react to tool-call events and cannot read conversation text.
Context
- Platform: Claude Code CLI
- Use case: Solo developer building a complex multi-agent system
- Session frequency: Multiple sessions daily over months
- The conversations contain critical design decisions that are not captured anywhere else
Final Thought
Web Claude and ChatGPT both preserve full conversation history with easy browsing and search. Claude Code — the tool built specifically for developers who have the most to lose from vanishing context — is the one that doesn't. This feels backwards.
AI-assisted development conversations are a new form of documentation. Please treat them as the valuable artifacts they are.
Proposed Solution
Conversation History Export / Plain-text Access in Claude Code
Alternative Solutions
_No response_
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗