[Bug] Session transcripts (.jsonl) silently lost for one project under 2.1.296, breaking /resume
Bug Description
Title: Session transcripts (.jsonl) silently lost for one project across a 4-day window under 2.1.296; side folders survive, so /resume and session history are unrecoverable. Not reproducing on 2.1.299.
## Current status (checked 2026-10-14T16:34Z)
Not currently reproducing. On 2.1.299 transcripts are being written normally: this session's
.jsonl was last appended to in the same second as the check, and all 4 sessions run today in the
affected project have their transcript. The report below is a forensic account of a past 4-day
loss, filed because the loss was silent and unrecoverable, not because it is ongoing.
Note: this machine went 2.1.296 -> 2.1.299 directly, skipping 2.1.297 and 2.1.298, so I cannot tell
which release stopped it, or whether it stopped on its own for an unrelated reason.
## Summary
Nine sessions that ran in a single project between 2026-10-10 and 2026-10-13 have no
~/.claude/projects/<project>/<session-id>.jsonl file. Their side artifacts all survive —
<session-id>/tool-results/, <session-id>/subagents/*.meta.json, and
~/.claude/file-history/<session-id>/ — which proves the sessions ran and did real work.
Only the transcripts are gone, so /resume cannot reopen them and the conversation history
is unrecoverable. No warning was shown at any point.
This is not disk pressure (313 GiB free), not cleanupPeriodDays (unset; default, and the
window is 1–4 days old, not 30), and not a global reaper: 164 transcripts in the same
project survive continuously from 2026-09-14 through 2026-10-09, and 8 more from 2026-10-14.
## The window
| | |
|---|---|
| Last surviving transcript before the gap | 2026-10-09T13:25:26Z (session c37797d1, v2.1.295) |
| Gap — zero transcripts | 2026-10-10, 10-11, 10-12, 10-13 |
| First surviving transcript after the gap | 2026-10-14T12:18:38Z (session bde59586, v2.1.299) |
Same cwd (/Users/johnlarkin/Documents/rebar/rebar-eng-ops) on both sides of the gap.
Surviving transcripts in this project, by first-entry timestamp — note the clean 4-day hole:
``
2026-09-14 9 2026-09-28 16 2026-10-05 11
2026-09-15 7 2026-09-29 9 2026-10-06 16
2026-09-16 6 2026-09-30 12 2026-10-07 9
2026-09-17 8 2026-10-01 4 2026-10-08 3
2026-09-18 2 2026-10-02 5 2026-10-09 10
2026-09-21 6 2026-10-04 1 2026-10-10 0 <-- gap
2026-09-22 3 2026-10-11 0 <-- gap
2026-09-23 7 2026-10-12 0 <-- gap
2026-09-24 5 2026-10-13 0 <-- gap
2026-09-25 6 2026-10-14 8
2026-09-27 1
`
## The nine lost sessions
All under ~/.claude/projects/-Users-johnlarkin-Documents-rebar-rebar-eng-ops/
(directory mtime shown; each has tool-results/ and/or subagents/ but no .jsonl):
`
2026-10-10 17:45 0ff289ab-a615-4508-a961-662bbadaa670
2026-10-11 20:06 d91bf29b-7515-4f98-9e47-009933e060c6
2026-10-11 20:50 baf2085f-73e2-4a87-934c-47f42a0faa44
2026-10-11 21:35 f204b188-1a8d-4892-bbe2-30f50e1529df
2026-10-12 06:39 be006e53-804d-44c0-aa44-1adb3b6c5c64
2026-10-13 07:37 91377c93-2be9-4a94-9a1d-83610a18602b
2026-10-13 14:27 85c8f5dd-1899-4b9c-a40a-398d0bbbf0c8
2026-10-13 18:25 d7275a13-ae35-46ee-9410-947ca92e9c76
2026-10-13 18:52 42929e3d-711c-4e8e-ab96-12d20a7fe665
`
Worked example — 91377c93-2be9-4a94-9a1d-83610a18602b (2026-10-13, ~06:45–09:29):
- 91377c93…/tool-results/ — 6 files, incl. 5 Notion fetch results
- 91377c93…/subagents/ — 5 agent-.meta.json
- ~/.claude/file-history/91377c93…/ — 6 files, incl. 733fc319f336ca64@v2..v6 (5 successive
versions of an edited plan.md) timestamped 06:45:49 → 09:03:05
- ~/.claude/projects/…/91377c93-2be9-4a94-9a1d-83610a18602b.jsonl — **missing**
find ~ -name "<id>.jsonl" returns nothing for any of the nine, so the files were not moved
or relocated to another project dir. ~/.Trash is empty; no .jsonl.bak/compressed variants exist.
## What I ruled out
- **Disk full** — /System/Volumes/Data 65% used, 313 GiB avail, APFS container 336.3 GB free.
- **Retention / cleanup setting** — cleanupPeriodDays is not set in ~/.claude/settings.json,
~/.claude/settings.local.json, or project settings. No managed policy file
(/Library/Application Support/ClaudeCode/` absent). The gap is 1–4 days old anyway.
- Age-based deletion — transcripts from 2026-09-14 (30 days old) survive in the same project.
- *A…
Note: The description was shortened to fit GitHub's link length limit. The full description was sent to Anthropic with the feedback report; its Feedback ID is below.
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.1.299
- Feedback ID: f9864deb-6740-4950-a574-63d635cd0d19