Claude AI Session Compaction Issues and Workarounds

How Compaction Works
Claude sessions are stored as JSONL files at ~/.claude/projects/{encoded-cwd}/sessions/{id}.jsonl. Each conversation turn is a JSON block. When compaction triggers, original blocks remain in the file, but a new block with a compressed summary gets appended. After compaction, the model works from the summary instead of the full conversation history.
Test Results
With a coding project at 90% context fill (before the 1 million token increase), the user tested 10 questions covering simple recall, 6-hop dependency chains, entity disambiguation, negation chaining, absence detection, and conflict detection.
- Pre-compaction: ~9.75/10 accuracy with Opus 4.6 finding scattered facts across 418K tokens
- Post-compaction (Default): ~5/10 accuracy with 3,461 tokens (121x compression). Same session, same questions resulted in hallucinated incorrect answers.
- Post-compaction (Manual Opus): ~9.75/10 accuracy with 6,080 tokens (69x compression). Using a custom compaction prompt with Opus preserved important information.
Why the Difference
According to Anthropic's documentation, the API defaults to using the same model for compaction. The user was running Opus 4.6 on medium compute, so default compaction should have used Opus too. The quality difference suggests issues with the summarization prompt, thinking/compute budget, or both.
Workarounds
Approach 1: Opus Compaction - Turn off auto-compaction and implement a background process that measures token counts for Claude Code instances. Trigger compaction using Opus with a custom prompt (potentially with user authorization).
Approach 2: spaCy NER Pre-seeding - Instead of starting sub-agents with zero context, use spaCy NER to extract proper nouns, numbers, service names, ports, and key identifiers from project files. Inject this as a lightweight entity briefing (few hundred tokens) at startup to inform agents about existing resources without narrative bloat.
📖 Read the full source: r/ClaudeAI
👀 See Also

the-knowledge-guy: Turn Your Bookshelf Into a Tutor With Claude Code Skills
A Claude Code skill set that ingests your PDF/EPUB books locally and lets you ask questions, get taught topic-by-topic, or pull cheatsheets — all with citations across your library.

Agents Observe: Real-time Dashboard for Monitoring Claude Code Agent Teams
Agents Observe is a local dashboard that provides real-time observability for Claude Code agent sessions using hooks instead of OTEL. It captures every tool call, agent hierarchy, and event with filtering and search capabilities, running as a Docker container that auto-starts with Claude sessions.

ZuckerBot MCP Server Enables OpenClaw Agents to Run Meta Ads Campaigns
ZuckerBot is an MCP server that gives OpenClaw agents direct control over Meta Ads, allowing them to execute full campaign loops without human intervention. Over 50 unique agents are now live using it to pull competitor ads, generate targeting, launch campaigns, and adjust performance in code.

MCP Memory Gateway: An MCP Server for Persistent Memory in Claude Code
A developer built an MCP server called MCP Memory Gateway using Claude Code as the primary development tool. It provides Claude Code with persistent memory across sessions through feedback capture, prevention rules, and context injection.