Feature request for product/service
Cursor IDE
Describe the request
Add a manual “Squeeze” button to Agent/Composer chats that compacts the current conversation in place, instead of pushing me into a new session.
On click, the agent distills the thread down to what still matters — the goal, the decisions and constraints we agreed on, the files and symbols in play, what’s already done, what’s next — and keeps working in the same chat with that distilled context as its new base.
How I imagine it working
- A “Squeeze” button next to the context-usage indicator, available at any time — not only when the window is nearly full.
- It produces a short carried context block, shown to me before it takes effect, and editable: I can delete a wrong assumption, add a line, or pin a file.
- The full history stays collapsed and readable so nothing is actually lost, but only the squeezed block counts toward the context window from that point on.
- Nice extras: a keybinding and a
/squeezecommand, plus an optional nudge once context passes ~70%.
The problem it solves
Long agent threads are exactly where the useful context lives, but they get expensive and start drifting. Today I have two options: ride it out until automatic compaction kicks in, with no control over what gets kept, or open a new chat and re-explain the task from scratch. What I actually want is “keep this chat, keep the 10% that matters, drop the rest” — at a moment I choose, like right after a feature lands or a bug is fixed.
Why in place rather than in a new chat
Continuity: same thread, same diff review, same task, no re-orientation. And cost: squeezing at logical breakpoints keeps token usage far lower than dragging a 200-message history along for the rest of the session.