[FEATURE] Claude compaction customisation control
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
---
Feature Request
When working on long sessions that hit the ~1M token context limit, Claude Code automatically compacts the conversation by summarizing it. This process is slow and often unnecessary — in many workflows, the older context is no longer relevant.
Requested feature:
- Add a setting to disable auto-compaction entirely, OR
- Add a "truncate" mode that simply drops old context (e.g., keep only the most recent 20%) instead of summarizing it
- This could be a config option like "compaction": "none" / "truncate" / "summarize" (default)
Why:
- Compaction takes significant time on large contexts
- For many workflows (task-by-task coding), old context has no value
- The CLAUDE.md compact instructions help but the compaction LLM call still runs
- Users who /clear between tasks don't benefit from summarization at all
---
Proposed Solution
Current workaround:
Using compact instructions in CLAUDE.md to aggressively drop context, but the compaction process itself still runs and takes time.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
Performance and speed
Use Case Example
Use Case Example
Scenario: Developer working on a full-stack app with backend (FastAPI) and frontend (React), doing multiple unrelated tasks in one session.
Step 1: Start session. Ask Claude to explore the codebase and understand the ETL pipeline architecture. Claude reads 15+ files, generates explanations. (~200K tokens used)
Step 2: Ask Claude to fix a bug in the extraction settings UI component. Claude reads files, makes edits, tests. (~150K tokens used, total ~350K)
Step 3: Switch to backend work — add a new API endpoint for pipeline validation. Claude reads models, services, routes, writes code. (~200K tokens used, total ~550K)
Step 4: Ask Claude to refactor the DAG executor for better error handling. More file reads, exploration, code changes. (~250K tokens used, total ~800K)
Step 5: Now ask Claude to update the frontend to show execution logs. Context is approaching ~1M tokens. Auto-compaction triggers.
What happens today:
- Claude spends time making an LLM call to summarize the entire 1M token conversation
- The summary tries to preserve details from Steps 1-4, which are already done and irrelevant
- Developer waits for compaction to finish before they can continue working
What should happen with "strategy": "truncate":
- Claude instantly drops Steps 1-3 (the oldest 80%)
- Keeps Step 4 and 5 context intact (the recent 20%)
- No LLM call, no waiting — developer continues immediately
- If Claude needs project context from earlier, it's in CLAUDE.md
Key point: Steps 1-3 are completed tasks. Their code changes are already saved to disk. There is zero value in summarizing "I read file X and edited line Y" from 800K
tokens ago. The files themselves are the source of truth — not the conversation history.
---
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗