PassbackAI Open PassbackAI →
Diagnosis · April 2026 · 6 min read

Why ChatGPT rewrites the whole document when you only asked for one fix

You spent thirty-one minutes on a draft. You asked ChatGPT to tighten the third bullet under "Architecture." It returned a different document. Different headings, different examples, a paragraph about "delight velocity" you have never approved of, and — somewhere in there — a bullet that is still wrong.

Reader, it is not your prompt.

TL;DR

You called it "one fix," but five things needed work. By the fourth correction the writing tax broke you, points four and five got downgraded to "the model will probably catch those," and the model — handed three vague prose hints instead of five anchored quotes — regenerated widely to play it safe. That is the document you got back. The fix isn't a sharper prompt; it's a surface where the fifth correction costs the same as the first and arrives anchored. Format: each correction is a verbatim quote with the note beneath it, separated by ---, prefixed with "apply these edits; leave everything else unchanged." Five anchored corrections in one paste. Full walkthrough in the guide; the tool is PassbackAI.

It isn't that ChatGPT is bad at following instructions

The instinctive theory, after this happens to you the fourth time, is that the model is being lazy — that it is easier to regenerate a paragraph than to surgically edit one, so it regenerates. This is half right. It is easier. But the model is not lazy; it is coordinate-blind.

When you type "fix the third bullet under Architecture," the model receives a string of tokens and has to map the string "the third bullet under Architecture" to a specific span of its previous output. On a short answer, this mapping is cheap and usually correct. On an 1,800-word answer — one with two "Architecture" sections, four lists, and a nested bullet that could plausibly count as "third" depending on how you count — the mapping is expensive and often wrong. The model's fallback under ambiguity is not to ask. It is to regenerate widely enough that something in its output will look like the fix you asked for, and the rest of the document gets dragged along for consistency.

This is true of Claude, ChatGPT, Gemini, and Cursor. It is true of every frontier model. It will probably be true of the next three generations of them. The root cause is not model capability — it is that prose descriptions of a passage are not a reliable addressing scheme, and the chat box offers no alternative.

What actually happened in that turn (the four-point give-up)

You called it "one small edit," but five things needed work. Watch the turn back, honestly. This is what the typing actually looked like.

Point 1

You typed it carefully and you were proud

Forty-five seconds: "In the third bullet under Architecture — not the second one, the third — change 'stateful' to 'stateless.'" You re-read it. Looked good. Four to go. You felt like you had a system.

Point 2

The original scrolled away while you typed

You went to raise the FAQ tone problem and had to scroll up to re-find the exact phrasing. The chat box lost focus. You scrolled back. The clean sentence you had in your head was gone. You typed a worse one. Two minutes in, two of five.

Point 3

You stopped describing the location and just paraphrased the fix

By the third correction you were tired of typing directions. You wrote: "and somewhere there's a paragraph on retention that needs to say it more directly." You knew, as you typed, that the model was going to pick the wrong paragraph. You sent it anyway. Some shipped feedback beats none. Three of five, with a known mis-target already baked in for the next turn.

Points 4 and 5

The model will probably catch those on its own

There were two more. A hallucinated dependency. A step out of order. You thought, audibly, in the voice of a person who has given up: the model will probably catch those. It did not. You hit send with three of five raised. The model — receiving three vague prose hints instead of five anchored quotes — regenerated widely to fill the silence. That's the document that came back. OMG.

The temptation is to read these as four prompts that didn't work. They aren't. They are one round-trip, where the chat box made writing the corrections expensive enough that two of the five never got raised, and the model — handed three prose hints instead of five anchored quotes — did what RLHF rewards it for and handed back a finished-looking draft that touched everything. "Why did it rewrite the whole thing" is the wrong question. The right question is why did points four and five never get into the message in the first place, because if all five had ridden along on five anchored quotes, the model would have applied five edits and left the rest alone.

Sharper prompting on point one does not fix this. It cannot. Better phrasing of "only edit X" still requires you to type four more only edit Xs after it, in a small text area, with the original answer scrolled out of frame, and that is exactly the work you stopped doing around point four. The lever isn't the prompt. It's the surface that lets all five points get raised in the first place.

What's actually happening

Two things are at work, and it's worth keeping them separate.

First, attention is not a laser pointer. When you tell a model "fix bullet three," that instruction tokenizes into a few dozen tokens, each of which competes for attention against every token in the 1,800-word document you're asking it to edit. The document wins, because the document is larger and more locally coherent. The model then tries to satisfy your instruction inside the context of the document, and it has to guess which span "bullet three" refers to.

Second — and this is the bigger driver — RLHF trained the model to return documents that look complete. During post-training, outputs that returned a clean, coherent, whole document were preferred over outputs that returned a surgical one-line change that left neighbors rough. The model internalized "when in doubt, hand back something that reads like a finished draft." On a targeted-edit request with a prose description of the target, "in doubt" is the default state. So the model regenerates adjacent passages for stylistic consistency — not because attention forced it to, but because its training rewards it for doing so. (OpenAI's published Model Spec and Anthropic's prompt-engineering guide both describe variants of this preference; it's an intentional behavior, not a bug.)

None of this is malice. None of it is bad training. It is the shape of the problem. The model is doing exactly what the chat box asked it to do — produce a coherent next turn — and the chat box did not ask for targeted edit only, because the chat box has no way to ask for that.

What the failure actually looks like

Here is the shape of a real turn, condensed. You paste the draft (let's say a 400-word product brief) and type:

Only fix the third bullet under Architecture —
it should say "stateless" not "stateful".
Leave everything else alone.

The model returns the whole brief. The third bullet under Architecture now says "stateless" (good). The opening paragraph has been rephrased from four sentences to three (nobody asked). The bullet above the one you meant is now worded differently (nobody asked). A new paragraph on "scalability considerations" has appeared between the headings (strongly nobody asked). Net result: you got the edit you wanted plus three edits you didn't ask for and one paragraph you will have to delete.

Now the same request in paired-passage form:

Apply this edit to your last answer. Leave everything else unchanged.

"The service is stateful across requests."
[Factually wrong] Rewrite as "The service is stateless across requests."

The model returns: the edited document, with exactly one change — that one sentence. Opening paragraph untouched. Adjacent bullets untouched. No new "scalability considerations" paragraph. This is the same model, on the same draft, on the same turn number. The only difference is the format of the feedback.

The model didn't rewrite too much. You stopped raising points four and five around minute three, and the model filled the silence with a finished-looking draft. The fix isn't a sharper prompt; it's a surface where the fifth correction costs the same as the first.

The format that does work

The reliable move is to stop describing the passage and start quoting it. Paste the exact text of the passage — verbatim, punctuation and all — followed by your note. Separate each such block with ---. Prefix the whole thing with an instruction to apply the edits and leave everything else unchanged. Here is what the model actually sees:

Apply these edits to your last answer. Leave everything else unchanged.
---

"The system leverages a cross-functional synergy touchpoint"
[Off tone] Too corporate. "connects to X" is plenty.

---

"moreover,"
[Delete] One "moreover" per page. This is the third.

---

"delight velocity"
[Delete] We do not measure this.

---

The quoted passage is the coordinate. The note is the instruction. The separator keeps the pairs from bleeding into each other. The model locates each passage in its last output via exact-text match — a thing language models do extremely well — and applies the note in place. It does not regenerate the paragraphs around your quoted passage, because you didn't quote them.

This pattern works in ChatGPT, Claude, Gemini, Cursor's chat mode, and any local model large enough to hold the original answer in context. It is not a trick. It is not a jailbreak. It is the shape of the data the model wanted in the first place.

The full walkthrough — including the manual recipe you can do in a plain-text scratch buffer in ten minutes — is in the guide. If you want to see every method ranked, read the field manual on commenting Markdown in 2026. If the wall you keep hitting is specifically with Cursor on a long README, that has its own playbook.

VerdictFive anchored quotes in one paste isn't optional tightening. It is the difference between five corrections shipping in one round and three corrections shipping in three rounds with the model rewriting around the gaps.

The cruel twist

ChatGPT will almost certainly ship a native "edit only this passage" surface inside of a year. Claude probably first. Cursor maybe already by the time you read this. The chat box as you know it will get a lightweight comment layer bolted onto the side of the output bubble, and the tweet about it will be "we built this because the chat box isn't great at targeted edits."

Fine. Until then: paired passages, separators, one round-trip. PassbackAI exists because the manual recipe takes ten minutes and we were tired of doing it.


The chat box rewrites everything because you stopped writing at point four. Get all five out, anchored, and the rest stays put.

Questions people actually ask

Why does ChatGPT rewrite the whole document when I ask for one small edit?

Because what looked like one edit was usually the only one of five points you had the energy to type. By point three the chat box has scrolled, the writing tax has broken you, and points four and five quietly become "the model will probably catch those." The model, getting three vague prose hints instead of five anchored quotes, regenerates widely to play it safe — which is the document you just got back. The fix is to raise all five comfortably in one paste, each as a verbatim quote with the note beneath it. Full explanation in the guide.

Does this happen with Claude, Gemini, and Cursor too?

Yes, identically. It is not a ChatGPT-specific failure — it is a failure of prose-based feedback on long generated documents. Every frontier model rewrites too much when the target is described instead of quoted. Paired-passage feedback works the same way across every major model.

Can I prompt ChatGPT to only edit a specific section?

You can improve the odds with explicit instructions — "leave everything else unchanged," "edit only the following passage" — but the reliability jump comes from giving the model a verbatim quote of the passage, not a description of it. Quoting anchors the edit; prose hints let the model drift. The prompt recipe is here.

Why does the model sometimes also rephrase paragraphs I didn't mention?

A long-form generation pass treats the document as one object. When the model regenerates to apply your edit, it adjusts adjacent passages for stylistic consistency unless explicitly constrained to a specific span. Quoting the passage and prefixing with "apply these edits; leave everything else unchanged" cuts the stylistic-drift behavior to near zero on frontier models.

Is there a tool that automates this?

Yes. PassbackAI is a browser-only tool that lets you highlight each passage in the model's answer, attach a note per highlight, and copy the whole set back as one paired-passage block the model applies in a single round-trip. The document never leaves your browser.