Export Crush CLI conversations to Markdown, JSON, or HTML format.
- Export Crush conversations from
~/.crush/crush.dbor custom database paths - Filter options: Export by session ID, recent sessions, or export all
- Multiple output formats: Markdown (default), JSON, HTML
- Clean formatting: Proper message structure with tool results, user messages, and assistant responses
- Cross-platform support: Works on macOS, Linux, and Windows
- Custom database paths: Use any
crush.dbfile location with--dbflag
Requires uv.
git clone https://github.com/collinpfeifer/crush-exporter.git
cd crush-exporter
uv syncAll commands are run via uv run:
# List all sessions
uv run crush-export --list
# Export a specific session
uv run crush-export --extract <session-id>
# Export recent 5 sessions
uv run crush-export --recent 5
# Export all sessions
uv run crush-export --all# Specify custom output directory
uv run crush-export --recent 3 --output ~/crush-backups
# Export as JSON
uv run crush-export --format json --all
# Export as HTML
uv run crush-export --format html --recent 5
# Use custom database path
uv run crush-export --db /path/to/crush.db --list
# Export specific session from custom database
uv run crush-export --db /tmp/crush-backup.db --extract <session-id>The tool reads from Crush's SQLite database (~/.crush/crush.db):
- sessions: Conversation metadata (title, timestamps, token counts)
- messages: Individual messages with role, parts, model info
- files: File references per session
- read_files: Files read during sessions
MIT License