Session picker (claude agents) takes minutes to open sessions with large JSONL transcripts; agents view pegs CPU
Environment
- Claude Code: 2.1.198
- Platform: WSL2 (Ubuntu) on Windows 11, kernel 6.6.87.2-microsoft-standard-WSL2
- 8 cores, 16 GB RAM
Description
Opening a session from the claude agents session picker shows "opening..." for minutes before the session attaches. In the worst state it never attaches at all until the daemon (claude daemon run) and its --bg-pty-host / --bg-spare workers are killed and the stale sockets under /tmp/cc-daemon-<uid>/<hash>/rv/ are removed; after a daemon restart sessions open again but still take minutes.
Observations
- Session transcript JSONL files in
~/.claude/projects/range 10-38 MB (long-running sessions with many tool calls). Open time appears to scale with transcript size, suggesting full JSONL replay on open with no index/cache. - The
claude agentsprocess itself sustains 50-60% CPU for over an hour while idle in the picker. - Stale zero-byte sockets accumulate in
/tmp/cc-daemon-<uid>/<hash>/rv/; each failed open leaves one behind. Removing them alone does not fix it; new opens create new stuck sockets until the daemon is restarted. - Archiving old large transcripts out of
~/.claude/projects/reduces the project-list scan but does not fix the per-session open time for remaining large transcripts.
Repro
- Accumulate several sessions with transcripts >10 MB (heavy tool use over days).
- Run
claude agents, select a session with a large transcript. - Observe "opening..." for minutes; sometimes indefinitely until the daemon is restarted.
Expected
Session open time should not require a multi-minute full-transcript replay; stuck rv sockets should time out and self-clean rather than requiring a manual daemon kill.
Notes
v2.1.200 release notes mention fixes for stalled resume and background sessions stopping; filing this in case the large-transcript open cost and the CPU spin in the agents view are separate from those fixes. Happy to test on 2.1.201 and report back.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗