Session JSONL files grow to multi-GB size due to bloated "progress" entries
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Session JSONL files can grow to extreme sizes (5+ GB) due to progress type entries accumulating large amounts of duplicated data.
In my case, a session file grew to 5.27 GB with 1,739 "progress" entries averaging ~3 MB each. The actual conversation (user/assistant messages) was only 0.67 MB.
This caused:
- Session disappeared from Past Conversations
- Claude Code became unresponsive
- ~5 GB of unexpected disk usage
What Should Happen?
Progress entries should be lightweight streaming updates, not accumulate the full conversation context repeatedly. A typical session should remain under 10 MB.
Error Messages/Logs
No explicit error - the session simply stopped appearing in Past Conversations.
File analysis showed:
| Message Type | Count | Size |
|--------------|-------|------|
| progress | 1,739 | 5,396 MB (99.6%) |
| user | 56 | 0.39 MB |
| assistant | 110 | 0.25 MB |
Steps to Reproduce
- Start a conversation using multiple sub-agents via the Task tool (e.g., AWS Infrastructure agent + Datadog agent in parallel)
- Have a lengthy back-and-forth troubleshooting session
- Check session file size in: ~/.claude/projects/<project>/
- Observe progress entries growing to MB+ sizes each
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.9
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
Workaround: Filtering out "progress" type entries from the JSONL file restored functionality:
- Before: 5.27 GB (1,927 lines)
- After: 0.67 MB (188 lines)
The session involved parallel Task tool calls with sub-agents investigating a performance issue. This may be related to how agent progress is logged/accumulated.
Possibly related to #9890, #10107, #10505 - but those focus on FileHistory/.claude.json while this bug is specifically about "progress" type entries in session JSONL files accumulating context.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗