Problem
The answer is wrong because the question was wrong. Asking again appends a second question to the transcript. The bad exchange stays above it as permanent context, and the model reads it on every subsequent turn.
Solution
Let the viewer edit their own turn in place and run the conversation forward from there. This addresses the actual cause where regenerate only rerolls the symptom, and it’s the stronger of the two corrections almost every time.
The mechanism has one consequence that decides the whole design: everything after the edited turn is now answering a question that no longer exists. Three ways to handle that, and only one is honest.
- Keep the later turns. Cheapest and incoherent. The transcript now shows answers to a question nobody asked, and the model reads them as context.
- Delete the later turns. Coherent and destructive. A viewer who edits turn two to fix a typo loses eight turns of good work, and the delete is usually irreversible.
- Branch. The edited turn becomes a sibling of the original, and the conversation continues down the new limb while the old one stays reachable. A pager on the user turn, the same device regenerate uses on the assistant turn.
Branching is the correct answer and it makes the conversation a tree, which has to be explained without drawing a tree. The pager on the edited turn does most of that work: a small 2/2 says a previous version exists and is one click away. HAX guideline 16 applies to the moment of commit, since pressing save here can discard a long tail of conversation and the viewer deserves to know that before it happens rather than after.
Edit and resend is also the only correction control that improves the record. Regenerate leaves the flawed question in place permanently, so the transcript stays a bad artifact even when the final answer is good. Editing produces a conversation someone can read later and learn from, which matters once these get shared, exported or used as documentation.
The small details carry it. The edit control belongs on the user turn rather than in a menu, the textarea should open pre-filled with the cursor at the end, and Escape should abandon the edit without sending. Where a turn carried attachments, the edit has to keep them or say clearly that it didn’t.
Use when
Conversations run long enough that the history has value, and the viewer can identify what was wrong with their own question.
Don’t use when
The turn triggered a side effect. Once a message has sent an email, filed a ticket or written to a system of record, editing it rewrites a history that no longer matches the world, and an append-only correction is the honest shape.
Trade-offs
Branching preserves everything and hides the structure, so a viewer can lose track of which limb they’re on and why an earlier answer seems to have vanished. Truncating is comprehensible and throws away work. Editing history also makes the transcript a poor audit record, since what the model actually received is no longer what the page shows. The control also competes for space on the user turn, which the message turn pattern wants to keep compact.
Checklist
- What happens to the turns after the edited one?
- Is the previous version still reachable, and is that visible without hovering?
- Does the viewer learn what will be discarded before they commit?
- Does the edit box open pre-filled with the cursor at the end?
- Does Escape abandon the edit cleanly?
- Are attachments from the original turn carried over?
- Can the viewer tell which branch they are currently on?
- What does an export or a shared link contain when branches exist?
- Is the control available on the keyboard?
- Is editing blocked on turns that caused a side effect?
Compare
ChatGPT puts an edit control on the user turn and pages between versions, so the branch is preserved and presented as a small counter rather than a visible tree. Claude offers the same in-place edit and pairs it with model switching at the retry, so a correction can change the question and the answerer at once. Perplexity treats a revised question closer to a new search than an edit of the thread, which suits a product where each answer is largely independent. Slack cannot offer the pattern at all in the same form, since an AI exchange lives in a channel where editing a message rewrites a shared record other people have already read.
Related
Regenerate is the other correction and rerolls the answer instead of the question. Message turn is what gets edited and has to hold the control. Composer is the editor that opens in place. Conversation history is where branches have to survive being closed and reopened. Context meter is affected, since abandoned branches may still occupy the window.