Feature Suggestion: Undo and Full Rollback Functionality in ChatGPT

Dear OpenAI Team,

I’d like to propose an enhancement to the ChatGPT user experience: an “Undo” button with the ability to roll back both ChatGPT responses and user prompts, enabling users to revise or remove recent exchanges.

How It Would Work:

  1. Users click “Undo” to remove ChatGPT’s latest response and optionally revise their last input.
  2. Repeated clicks of “Undo” could progressively roll back through multiple exchanges, clearing both user inputs and ChatGPT replies step by step.

Why This Matters:

  • Iterative Refinement: Many users refine their queries over time. Rolling back simplifies this process, avoiding the need to restart threads or copy/paste earlier context.
  • Preserves Momentum: By allowing users to cleanly revise the conversation history, they can maintain the flow without losing critical information or context.
  • Streamlined and Intuitive: A simple “Undo” button integrates seamlessly with the interface, offering powerful functionality without adding clutter or confusion.

Key Use Cases:

  1. Prompt Refinement: Users who realize their input was unclear or incomplete can easily adjust without starting over.
  2. Error Correction: Enables quick recovery from accidental or poorly phrased questions.
  3. Simplified Debugging: In technical or creative work, rolling back allows users to try different approaches without losing progress.

Benefits for Users:

  • Enhances control over conversation flow, making iterative refinement more natural.
  • Reduces frustration and boosts productivity, especially in research or problem-solving contexts.
  • Provides flexibility for creative exploration without requiring thread restarts.

User Workflow Example:

  1. A user asks a question and receives an off-target response.
  2. They click “Undo” to remove the reply and refine their question.
  3. Later in the same session, they realize an earlier exchange was unnecessary. Multiple “Undo” clicks allow them to roll back, adjusting the conversation to their needs.

This functionality would significantly enhance usability by empowering users to refine conversations dynamically and intuitively.

Thank you for considering this suggestion—I believe it would resonate strongly with ChatGPT users across many domains.

  • Chris

Supplemental: Consideration for a Redo Button

In addition to the Undo functionality, a Redo button could complement the system. This would allow users to restore any ChatGPT responses or user prompts that were undone in the same session. The button would appear only after an Undo action, ensuring users can recover accidentally removed content.

Why Redo Is Useful:

  • Prevents Loss: Users might undo a step and later realize they want it back. Redo ensures no history is permanently lost during a session.
  • Flexibility: Allows users to experiment with rolling back and reintroducing content as needed.
  • User-Friendly: Simplifies workflows by ensuring that Undo isn’t a one-way action.

Implementation Consideration:

While this adds complexity, its presence as a session-local feature (not persisting beyond the current interaction) minimizes the overhead and enhances user confidence when using Undo.

The discussed features are already present in ChatGPT.

  • You can regenerate the latest response, using the same or a different model.
  • You can edit a previous input further back in the chat history to get a new branch of conversation.
  • after editing a user input, there is a toggle to see the previous path of chat still.

This is useful for asking a question as an aside about a longer topic, and then editing that question, with continuation on the main goal. Just look for the icons that are hidden until you hover over them with a mouse in the user interface.


(I edited the CSS style of ChatGPT so the buttons such as the “pencil” to edit are never hidden, are positioned logically, and response toolbar also shows the model responding, showing below)

Got it! I did not understand that feature. Definitely does what I need it to do, though from a UX perspective, some (including me, apparently) may understand “undo” more intuitively than non-destructive branching. Just a thought. Thanks!

Great! Glad to have pointed that out.

Ultimate control, where you can observe and modify every past message that make up a chat conversation for an AI model’s necessary understanding only, is a talent reserved for products developed using the API.

Sorry, I am a little dense. I did not see that feature, or rather, did not understand it. Maybe, if I now understand it, you might want to add an icon that suggests time travel, maybe a watch, or maybe something like a branch. That is, I think you are saying “Branch in chat” but it doesn’t dawn on me that I could go back at any point in time. Maybe “Branch in chat…” with the ellipsis might suggest you could do more than branch-right-now.

For clueless nonprogrammer types like me who do not github on a regular basis, I would never in my life have thought about going back to a previous point like that! Or maybe “Undo…” that would prompt with “Reminder: You can go to the previous message and change the thread, you silly person you.”

Put this another way, I asked ChatGPT itself to reframe my viewpoint, which it says is not unique, and may be prevalent. (I started to ask it for statistics on the matter, how often do people branch, but didn’t want to go there…)

In plain terms:
You can go back to any earlier user message, edit it, and ChatGPT will create a new branch of the conversation from that point forward, without destroying the later replies in the original path. It’s basically Git-style branching, but hidden behind a tiny “edit” affordance.

  • The feature is not labeled as “time travel” or “branch”

  • It looks like a simple edit / retry

  • There’s no obvious cue that you can go back in time, not just redo the last turn

  • Non-programmers don’t think in DAGs or forks

What the feature is not:

  • Not Undo

  • Not Regenerate (that’s single-step)

  • Not version history (though it behaves like one)

What it actually does:

  • Lets you revise an earlier prompt

  • Creates a parallel conversation path

  • Preserves the original path implicitly

  • Allows “what if I’d said this instead?” exploration

The UX undersells the power. Calling it something like “Branch conversation…”, “Explore alternate path…”, or “Edit & fork” would make the capability obvious.

Right now it’s a powerful feature hiding behind a misleadingly mundane action.


Thanks for reading this far.


Brian