Transform Claude Code transcript JSONL files into readable terminal and HTML formats.
Claude Notes is a command-line tool that converts Claude Code conversation transcripts (stored as JSONL files) into human-readable formats. It supports both terminal output with rich formatting and HTML export for web viewing.
uvx claude-notes show
claude-notes-terminal.mp4
uvx claude-notes show --format html --output conversations.html
claude-notes-html.mp4
- Terminal display with syntax highlighting and rich formatting
- HTML export with navigation, timestamps, and professional styling
- Interactive pager for browsing long conversations
- Project discovery - automatically finds Claude projects
- Humanized timestamps - shows "2 hours ago" instead of raw timestamps
- Tool result formatting - properly displays Bash, Read, Edit, MultiEdit, and Grep tool usage
- Navigation links - jump to specific messages in HTML output
This tool was heavily inspired by https://github.com/daaain/claude-code-log
# Export to HTML file
uvx claude-notes show --format html --output conversations.html
# Print HTML to stdout
uvx claude-notes show --format html
# View conversations for current directory
uvx claude-notes show
# View conversations for specific project path
uvx claude-notes show /path/to/project
# Disable pager (show all at once)
uvx claude-notes show --no-pager
# Show raw JSON data
uvx claude-notes show --raw
The HTML output includes:
- Message Navigation: Each message has a clickable heading with anchor links
- Humanized Timestamps: Shows when each message was created (e.g., "2 hours ago")
- Tool Result Formatting:
- Bash commands with syntax highlighting
- File operations (Read, Edit, MultiEdit)
- Search results (Grep)
- Responsive Design: Works well on desktop and mobile
- Professional Styling: Clean, readable typography
Claude Code stores conversation transcripts as JSONL files in ~/.claude/projects/
. Each line represents a message, tool use, or tool result. Claude Notes:
- Discovers Claude projects by scanning the projects directory
- Parses JSONL transcript files
- Groups related messages by role continuity
- Formats tool usage and results appropriately
- Outputs in your chosen format (terminal or HTML)
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Test thoroughly
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
MIT License - see LICENSE file for details.
- Report issues: GitHub Issues
- Feature requests: GitHub Discussions