Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@ Browse and export Claude Code chat history — Web GUI and CLI.
- **Smooth transitions** — staggered card/message animations, crossfade content swaps
- **Scroll-to-top button** in bottom-right corner
- **Per-model badges** in session header
- **Bulk export** — download all sessions as a zip
- **Bulk export** — download all sessions, incremental updates, or latest-day slice as a zip; if there is nothing to export, the API returns **422** JSON (`Nothing to export`) instead of an empty zip
Comment thread
leostar0412 marked this conversation as resolved.
Outdated

### CLI Export
- Standalone script to export all sessions to Markdown with YAML frontmatter
- Rich Markdown: token usage, tool calls, thinking blocks, model info, timestamps
- `--since last` flag for incremental export (only new/updated sessions)
- `--project` flag to export a specific project
- `--since last` — export every session that overlaps the **latest UTC calendar day** present in your history (zip name includes `last-MM-DD`)
- `--since incremental` — export only sessions **new or changed since the last export** (file mtime + saved state)
- `--project` flag to export a subset of projects

## Quick Start

Expand Down Expand Up @@ -60,7 +61,7 @@ python app.py --base-dir /path/to/claude/projects
```bash
# Activate venv first (see above), then:

# List all projects (shows directory names you can use with --project)
# List all projects (first column is a friendly name; --project accepts that or the dir slug)
python scripts/export.py list

# Export all sessions as zip
Expand All @@ -69,14 +70,17 @@ python scripts/export.py
# Export to specific directory, no zip
python scripts/export.py --out ./exports --no-zip

# Incremental export (only new sessions since last run)
# Latest calendar day (UTC): all sessions active on that day; zip like claude-code-export-last-04-06-2026-05-08.zip
Comment thread
leostar0412 marked this conversation as resolved.
Outdated
python scripts/export.py --since last

# Export specific project only (substring match on directory name)
# Incremental (only new/updated sessions since last run, using export state)
python scripts/export.py --since incremental

# Export specific project only (substring on friendly name from list and/or dir name under ~/.claude/projects/)
python scripts/export.py --project boost-capy
```

The `--project` flag matches against the directory names under `~/.claude/projects/`. These are path-based names like `F--boost-capy` or `d--harbor-forge`. You can use any substring — for example `boost-capy` will match `F--boost-capy`. Run `python scripts/export.py list` to see all available project names.
The `--project` flag matches a **case-insensitive substring** of either the **Project** column from `list` (derived from the session working directory) or the internal directory name under `~/.claude/projects/` (for example `F--boost-capy` or `d--harbor-forge`). A substring like `boost-capy` matches `F--boost-capy`; you can also paste the friendly name shown in `list`.

## Data Source

Expand Down
Loading
Loading