Skip to content

Releases: lug-works/sessionkeep

v0.4.0 — sessionkeep

Choose a tag to compare

@ruai-dev ruai-dev released this 16 Jun 12:16

This release hardens scheduled catch-up archiving so you never lose a session — even when the agent exits without firing an end-of-session hook (GUI window close, crash, or Codex, which has no such hook).

Added

  • sessionkeep import --min-age MIN — skip transcripts modified within the last MIN minutes. Designed for scheduled scans (cron / Task Scheduler): it leaves still-active sessions alone, so a partial, mid-session copy is never frozen and wrongly marked already-archived. Exposed in the API as discovery.filter_settled.

Changed

  • discovery.source_session_id now extracts the full session UUID (8-4-4-4-12) from a transcript filename for both Claude Code (<uuid>.jsonl) and Codex (rollout-<iso>-<uuid>.jsonl). Previously only the last hyphen group was kept (a fragment), so imported sessions got an id that didn't match the live hook. Archives are keyed/deduped by source path, so existing archives are unaffected — only the id/filename of newly imported sessions improves.

Install

pipx install git+https://github.com/lug-works/sessionkeep.git   # recommended
# or
pip install git+https://github.com/lug-works/sessionkeep.git

Full changelog: see CHANGELOG.md.

v0.3.0 — sessionkeep

Choose a tag to compare

@ruai-dev ruai-dev released this 15 Jun 22:08

sessionkeep is a tiny, zero-dependency CLI that archives the session logs from AI coding agents — Claude Code, Codex, and friends — after masking API keys and other secrets, then stores them gzip-compressed in a dated, searchable tree.

  • Don't lose them. Each session is archived to ~/.sessionkeep/sessions/YYYY/MM/.
  • Don't leak them. Secrets are masked before anything is written to disk.

Highlights

  • archive / hook — mask + gzip a transcript; one-line Claude Code SessionEnd hook for fully automatic archiving.
  • import --codex — discover and bulk-archive Codex CLI rollouts (idempotent); --from DIR --pattern for any transcript directory.
  • list / search — browse and grep across the masked archive (secrets never resurface). list supports --project, --since, --json.
  • Custom masking via a JSON config (mask_patterns + mask_literals) on top of built-ins for Anthropic, OpenAI, GitHub, GitLab, AWS, Google/GCP, Slack, Stripe, Bearer tokens, and PEM keys.

Pure Python standard library. No dependencies. MIT.

Install

pipx install git+https://github.com/lug-works/sessionkeep.git   # recommended
# or
pip install git+https://github.com/lug-works/sessionkeep.git

Full changelog: see CHANGELOG.md.