Claude Transcript
Convert Claude Code JSONL session files to readable markdown transcripts with the exact same output as the physical-sessions command.
Installation
Install as a tool (recommended)
uv tool install claude-transcript
Install in current environment
uv add claude-transcript
# or
pip install claude-transcript
Usage
# Basic usage
claude-transcript session.jsonl
# Custom output filename
claude-transcript session.jsonl -o custom_name.md
# Upload to GitHub Gist after generation
claude-transcript session.jsonl --upload-gist
# Show help
claude-transcript --help
Features
- Exact output compatibility: Produces the same markdown format as Claude Code's built-in physical-sessions command
- Zero dependencies: Pure Python with no external dependencies
- Comprehensive parsing: Handles all JSONL entry types including tool operations, sidechains, and timing information
- GitHub Gist integration: Optional upload to share transcripts easily
- Tool operations display: Shows detailed information about file edits, searches, and other actions taken during the session
Example Output
The tool generates clean, readable markdown transcripts that include:
- Session metadata and timing information
- Conversational turns with user requests and assistant responses
- Detailed tool operation logs (file edits, searches, bash commands, etc.)
- Parallel task execution details from sidechains
- Professional formatting suitable for documentation or sharing
Requirements
- Python 3.8 or higher
- No external dependencies required
- Optional: GitHub CLI (
gh) for gist upload functionality
Development
This tool is built as a standalone script with PEP 723 inline dependencies, making it easy to run directly with uv run or package as a proper Python package.
License
MIT License - see LICENSE file for details.
Metadata
Release files for claude-transcript 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_transcript-1.0.0.tar.gz | 11.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_transcript-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.9 kB
Release files / claude_transcript-1.0.0.tar.gz
| Download URL | claude_transcript-1.0.0.tar.gz |
|---|---|
| Size | 11.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef807a83c263e8d79d13c9d3b4c0b0c6ea637de196d496ad46ae43758d323cc3
|
|
BLAKE2b-256 checksum How to use checksums |
b3f295b6360b5bd71e0b047d529d5d3de79fb48430a8310a9747abb3830cc1e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / claude_transcript-1.0.0-py3-none-any.whl
| Download URL | claude_transcript-1.0.0-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fd68c8b5777a9a7b990eb85109f4029b20d78bc05c34c1362d94d7dba529d48
|
|
BLAKE2b-256 checksum How to use checksums |
c9cea6c528de016004b4300ba06ae5c102785f54dfb4047c21170bffc1d522b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|