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.8.tar.gz (318.8 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.8-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_notes-0.1.8.tar.gz
  • Upload date:
  • Size: 318.8 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.8.tar.gz
Algorithm Hash digest
SHA256 60f2f9b34793ea0f97e4cd3dbe551699f9ee79130efa65f5f6108cedeff526b9
MD5 49bd801606aa6101cc6f6e91c890d39b
BLAKE2b-256 59771ca7f74a43af9905ca98efe1830e548fb07effe7311e6d6096e3035349cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_notes-0.1.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: claude_notes-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 41.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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6f1eb680c81ab096cd3616421595ad138dd78f82acf7cbbe3ad050dc7ff853b7
MD5 9daf1d464885a13a12afe5542b62be70
BLAKE2b-256 79a2c4d5e0baf7770296231d7613a665000b45780e9d8c2a6c7764290aa5d6be

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_notes-0.1.8-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