In place conversation compaction to preserve chat ID, transcript, and continuity

In place conversation compaction to preserve chat ID, transcript, and continuity

Product / Platform: ChatGPT iOS

I would like to request a user facing Compact conversation feature for very long ChatGPT threads.

The current problem is that long running conversations eventually hit the “conversation is too long to continue” limit. At that point, the thread can become effectively read only.

The usual workarounds are to summarize the conversation and start a new chat, branch into a new chat, or move the work into a Project. Those approaches preserve some context, but they do not preserve the same ongoing conversation.

For some users, the continuity of the thread itself matters. A new chat with copied context is still a new conversational instance.

Requested behavior

Add an in place conversation compaction action that reduces the amount of older conversation history included in the model’s active working context while preserving:

• the same chat ID
• the same visible transcript
• the same conversation thread
• the full prior transcript for the user to read

Compaction should affect only the model’s internal working representation of older turns.

It should not delete, rewrite, hide, summarize over, or migrate the visible conversation.

Suggested UX

Chat menu item:
Compact conversation

Optional composer command:
/compact

Possible controls:

• Compact now
• Auto compact when approaching the conversation limit
• Keep the most recent N messages verbatim, with N configurable by the user

The recent portion of the conversation could remain fully represented while progressively older sections are compressed into a smaller internal representation.

Important constraint

This should happen in place.

It should not:

• create a new chat
• create a branch
• require a Project migration
• replace the visible transcript with a summary

The purpose is specifically to allow the existing conversation to continue.

Recovery use case

There is also an important failure mode once a chat has already reached the limit.

In my case, after the conversation became too long to continue, the thread could no longer be continued normally, and branching also stopped being a usable escape path.

That can leave a long running conversation effectively stranded.

An in place Compact conversation action could serve as a recovery mechanism for threads that have already reached the limit, not just as a preventive feature.

Reversibility

I do not think a traditional undo mechanism is necessary as long as the original transcript remains unchanged and readable.

If needed, the compacted internal context could be regenerated from the unchanged transcript.

Why this seems feasible

The OpenAI Responses API already supports conversation compaction for long running interactions.

This request is essentially for a user facing ChatGPT equivalent that preserves the existing conversation rather than requiring users to start over elsewhere.

Core use case

The main use case is preserving continuity in very long running conversations that would otherwise terminate because of context limits.

This is related to broader requests for better long term conversation support, but this proposal is specifically about user controlled, in place context compaction while preserving the existing chat ID, transcript, and conversational continuity.

I’d find this useful for long-running projects, particularly the ability to keep the same conversation and readable history while compacting the context used going forward.

One addition I’d like is a readable summary of the information compaction proposes to carry forward, with an opportunity to review and correct it before applying the change. A long conversation can contain early assumptions, corrections, rejected ideas and decisions that were later replaced. A summary needs to preserve which information is still valid, rather than give everything we discussed equal weight.

For example, I’d want it to retain:

  • Current facts, requirements and constraints
  • Decisions that remain in effect, including why they were made when that matters
  • Corrections and clear indications of which earlier information they replace
  • Open questions and unfinished work
  • References to the relevant files and their current versions

Superseded decisions and rejected claims should remain available in the visible history without being treated as current instructions. Anything uncertain should remain identified as uncertain.

Before applying the change, I’d want to see what ChatGPT proposes to carry forward and correct anything important it missed. If important information is lost, I’d want a way to correct the summary and regenerate the compacted context from the unchanged transcript.

I agree that the original transcript should remain intact and available to read and consult. Compaction should change what is carried forward as active context, without rewriting or deleting the historical record. I’d also support your proposed control over how many recent exchanges remain verbatim. The reviewed summary should preserve important instructions, dates, citations and completed steps, so previously finished work isn’t inadvertently restarted.

That combination of continuity, user review and clear treatment of corrected information would make this especially valuable for projects developed over many exchanges in the same thread.