claude-context-save
v1.0.0
Published
Automatically saves the full conversation transcript before Claude Code compacts context — never lose details again
Downloads
19
Maintainers
Readme
claude-context-saver
Automatically saves the full conversation transcript before Claude Code compacts context — never lose details again.
When Claude Code compacts context (automatically at ~80% or manually via /compact), the full conversation is summarized and details are lost. This plugin saves the complete transcript before each compaction in two formats: raw JSONL backup + readable Markdown.
Quick start
npx claude-context-saveDone. Your existing Claude Code hooks are preserved — nothing gets overwritten.
How it works
Context compaction triggered
(auto at ~80% or /compact)
│
▼
PreCompact hook fires
│
▼
Read transcript JSONL file
│
┌────┴────┐
▼ ▼
Copy JSONL Generate
(backup) Markdown
│ │
▼ ▼
.claude/context-saves/
2025-06-15_14-30-00_auto.jsonl
2025-06-15_14-30-00_auto.md| Step | What happens |
|------|-------------|
| 1. Compaction triggers | Claude Code fires the PreCompact hook (auto or manual) |
| 2. JSONL backup | The full transcript file is copied as-is — faithful backup |
| 3. Markdown generated | The JSONL is parsed line by line, extracting user and assistant messages into a readable .md file |
| 4. Files saved | Both files are written to .claude/context-saves/ in the project directory |
Output
your-project/
└── .claude/
└── context-saves/
├── 2025-06-15_14-30-00_auto.jsonl
├── 2025-06-15_14-30-00_auto.md
├── 2025-06-15_16-45-12_manual.jsonl
└── 2025-06-15_16-45-12_manual.mdThe .jsonl file is a byte-for-byte copy of the original transcript. The .md file contains only user and assistant text content — tool calls and tool results are filtered out for readability.
Markdown format
# Context Save — 2025-06-15 14:30:00 (auto)
## User
Can you refactor the auth module?
## Assistant
Sure, I'll start by reading the current implementation...
## User
...Uninstall
npx claude-context-save uninstallOnly removes context-saver hooks. Other hooks stay intact.
How hooks are registered
The installer merges a single Claude Code hook into ~/.claude/settings.json:
| Hook | Trigger | Action |
|------|---------|--------|
| PreCompact | Auto (~80%) or manual (/compact) | Saves transcript as JSONL + Markdown |
- Existing hooks are never modified or removed
- Installation is idempotent — running it twice won't create duplicates
- Zero dependencies — pure Node.js
Requirements
- Claude Code
- Node.js >= 18
