Skip to content

export.py: --since last UX confusion and --project mismatch with list output #33

@leostar0412

Description

@leostar0412

Summary

Two CLI problems around scripts/export.py:

  1. --since last: Behavior or messaging does not match expectations when there is no new activity since the last export (e.g. same day, no new chats). Users report getting an empty or useless archive/output instead of a clear notion of what changed since last time or what the last run exported. (Confirm exact behavior: current code exits with “Nothing to export.” before creating a zip when there are zero files; if empty zips still appear, note the exact command line and version.)
  2. --project vs list: python scripts/export.py list shows the Project column using display_name (human-readable, from session cwd), but export filtering uses a substring match on p["name"] only (the hashed filesystem directory name under ~/.claude/projects). Users who pass the name shown in the table may get no matching projects, so export appears to do nothing (No projects found.).

Steps to reproduce

A. Incremental export

  1. Run a full export, then run python scripts/export.py --since last again with no new session activity (or no chats “today,” per reporter).
  2. Observe output / zip behavior vs expectation.

B. Project filter

  1. Run python scripts/export.py list and note the Project column value.
  2. Run python scripts/export.py --project "<that visible name>" (or python scripts/export.py export --project "...").
  3. Observe No projects found. or no exported files even though the project appeared in list.

Expected behavior

  • --since last: Either only emit sessions that changed since the stored baseline without surprising empty artifacts, or clearly report last export time, baseline, and “0 new sessions” without implying a failed incremental run.
  • --project: Filtering should accept the same identifier users see in list (e.g. match display_name and/or internal name, or document that only the directory slug is accepted).

Actual behavior

  • --since last: Reporter sees an undesirable empty zip or misleading outcome when there is no new chat activity (details TBD).
  • --project: Export does not run for names shown in the project table because filters only projects[*]["name"], not display_name.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions