Skip to main content

Transform Claude Code transcript JSONL files to terminal and HTML views

Project description

Claude Notes

Transform Claude Code transcript JSONL files into readable terminal and HTML formats.

Overview

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

https://github.com/user-attachments/assets/ca710fb3-558a-4ce5-9bf5-e42c80caf2bf

uvx claude-notes show --format html --output conversations.html

https://github.com/user-attachments/assets/e4cb9404-bdee-4a12-8e06-e1e2216b9165

Examples

See rendered HTML output examples:

The examples/ directory also contains a dark theme CSS you can use to customize the HTML output.

Features

  • 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

Acknowledge

This tool was heavily inspired by https://github.com/daaain/claude-code-log

Usage

HTML Output

# Export to HTML file
uvx claude-notes show --format html --output conversations.html

# Print HTML to stdout
uvx claude-notes show --format html

Terminal Output

# 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

HTML Features

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

How It Works

Claude Code stores conversation transcripts as JSONL files in ~/.claude/projects/. Each line represents a message, tool use, or tool result. Claude Notes:

  1. Discovers Claude projects by scanning the projects directory
  2. Parses JSONL transcript files
  3. Groups related messages by role continuity
  4. Formats tool usage and results appropriately
  5. Outputs in your chosen format (terminal or HTML)

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

License

MIT License - see LICENSE file for details.

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_notes-0.1.7.tar.gz (459.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_notes-0.1.7-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file claude_notes-0.1.7.tar.gz.

File metadata

  • Download URL: claude_notes-0.1.7.tar.gz
  • Upload date:
  • Size: 459.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_notes-0.1.7.tar.gz
Algorithm Hash digest
SHA256 de1ef6c0f7bfff48afca88c67ef213bfe07d0715de28c13aa0fc9d01420ca55f
MD5 2961aa9c415d14973f767d8dd59aa75f
BLAKE2b-256 c25a0f337a611b53ace83c29cc4a455e88aa1bd6a9252e93d1b2c03cc869c213

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_notes-0.1.7.tar.gz:

Publisher: ci.yml on vtemian/claude-notes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_notes-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: claude_notes-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_notes-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 784f1d88ef41b61fe10fd986b7eb73a0b61b3f82086be56f2cf6d0e1d779ef42
MD5 f7b8b25547a0f7f76be0ba7f2c9f4057
BLAKE2b-256 6d29b79f6430378f431dfd9de8adb1bed0504bb70074ca4113a666acb8df3573

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_notes-0.1.7-py3-none-any.whl:

Publisher: ci.yml on vtemian/claude-notes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page