Moving the Goalposts: How to Spot It and Hold the Line
Table of contents
You open the pull request, work through every comment, and push again. The reviewer comes back with a new objection that was never raised the first time. You fix that too. A third round arrives with a fourth concern. Nothing you did was wrong, and yet the work is somehow never finished, because the thing you were being measured against moved every time you reached it. You were not failing to clear the bar. Someone kept moving the goalposts.
That is a named fallacy, and once you can name it you stop blaming yourself for never quite clearing it. Moving the goalposts is one of the quietest ways a standard gets used as a weapon instead of a measure. It rarely feels like bad faith in the moment, because each new demand sounds reasonable on its own. The problem is never any single request. The problem is that the target keeps changing, so meeting it is defined as impossible from the start. Here is what moving the goalposts is, why it works on careful people, where it shows up beyond the debate it is usually filed under, and how to hold the line without accusing anyone of cheating.
What is moving the goalposts?
Moving the goalposts is an informal logical fallacy in which the criteria for success are changed after they have already been met, so that evidence or work which satisfied the original standard is dismissed in favor of a new, higher one. The metaphor comes from sport: you line up the kick, the ball sails between the posts, and someone slides the posts so the goal no longer counts. Shifting the goalposts and moving the goalposts are the same move under different verbs.
The structure is always the same. A standard X is set. X is met. Instead of conceding, the person who set it discards X and demands a harder standard, Y. When Y is met, the standard shifts again to Z. Each step looks like ordinary rigor, which is exactly why it survives. What separates it from honest revision is the timing and the direction: the bar moves only after it is cleared, and it only ever moves away, which is the detail that gets it catalogued as a reasoning error rather than ordinary rigor. A knowledge base that records the standard that was actually agreed, not just the verdict that came later, is what lets you notice the posts have moved, because you have the original position written down to compare against.
Why moving the goalposts works
A blunt refusal is easy to catch. Moving the goalposts is hard to catch because every individual step is defensible, and the damage is only visible across the whole sequence. Three things make it stick.
The first is that it disguises itself as diligence. "Actually, we also need to handle the edge case" is indistinguishable, in the moment, from a genuine new requirement. Raising the bar is what good reviewers and careful thinkers are supposed to do, so the move borrows the costume of the very thing it corrupts. You cannot object to "let's be thorough" without sounding like you want to cut corners.
The second is that there is no fixed finish line to point at. If the standard was never written down, then "that is a new requirement" and "that was always required" are just two people's memories, and the person moving the posts always remembers the harder version. The absence of a recorded target is not incidental to the fallacy. It is the condition that makes it possible, which is the same reason a shared, written definition of done is the single most effective defense against it on a team.
The third is effort asymmetry. Moving the goalpost costs one sentence. Meeting the new standard costs hours, and then it happens again. The person shifting the bar spends almost nothing while the person chasing it spends everything, which is the same imbalance that makes a confident claim so much cheaper to produce than to answer. An argument you can never win by satisfying is not an argument. It is a treadmill with a scoreboard attached.
The picture above is the fallacy in one frame. Round after round, the kick is good, and round after round the posts are farther away than they were. The faint marker on the left is where the goal was when the work started. The distance between it and the current posts is not progress. It is the fallacy, drawn to scale.
Where moving the goalposts shows up
Most examples of this fallacy are set in political arguments, which makes it easy to assume it lives there. It does not. Naming the everyday settings is what makes the move easy to catch in your own week.
| Where it operates | The original standard | How the posts move |
|---|---|---|
| Code review | "Ship it once the tests pass and it is readable" | After tests pass, "but it should also be faster / handle this case / match this other pattern" |
| Hiring and promotion | "Hit this target and you get the role" | Target hit, then "we also want to see leadership / tenure / one more quarter" |
| Sales and bonuses | "Close X and the bonus is yours" | X closed, then the quota retroactively becomes X plus a new condition |
| A skeptic in a debate | "Show me one study" | Study shown, then "one study proves nothing, show me a meta-analysis" |
| Relationships | "I just want you to decide on your own" | You decide, then "you should have checked with me first" |
| AI output review | "Give me a summary I can use" | Summary given, then an endless series of "but also cover..." that never converges |
The engine under every row is identical. A standard is met, and rather than accept it, the person who set it swaps in a harder one and treats the swap as if it were the original agreement. The tell is also identical across all of them: the bar only ever moves after you clear it, and it only ever moves in the direction of harder. A requirement that genuinely existed from the beginning does not wait until you have satisfied the old one to appear. This is a close cousin of treating two unlike things as equal on a single shared trait: both are moves that feel like reasoning while quietly changing the terms of the thing being judged.
Moving the goalposts in your notes and AI tools
For most people now, the version that costs the most does not come from an opponent. It comes from an assistant, and from the way standards vanish when they are never written down. You ask an AI to draft something "good enough to send," it returns a draft, and then you find yourself typing "also make it shorter," "also add a caveat about X," "also match the tone of the other one." Each addition is reasonable. Together they are a standard that was never fixed and now keeps rising, and the tool will happily chase it forever because it has no memory of what "good enough to send" was supposed to mean.
The deeper risk is that the moving standard never gets recorded, so the next time the same work comes around you start from the shifted posts without realizing it. You remember that the last draft "needed a lot of work" and not what the actual target was, and the bar ratchets up one more notch. The fix is to make the capture do the one thing the moving standard refuses to: write the finish line down, before the work starts, in a place you will reread. Checking a claim and the criteria behind it at the moment you save it is the cheap moment to pin a standard in place, so that "done" means what it meant when you agreed to it. A decision made against a target that keeps sliding is the kind you pay for later without seeing it coming, because by the time you notice, the original standard is gone and only the latest, hardest one remains. A note that quietly absorbs each new requirement until the original scope is unrecognizable is the same drift that turns a focused project into a bloated one, run on a standard instead of a feature list.
How to respond to moving the goalposts
You cannot beat this one by working harder, because working harder is what feeds it. You beat it by fixing the target in place and making every later change to it visible. A few moves do most of the work, whether the posts are being moved by a reviewer, a counterpart in an argument, or your own drifting expectations.
- Write the finish line down first, before any work begins. The single most effective defense is a recorded standard both sides agreed to. "We said: tests pass, readable, ships this week." Once that exists, a new demand has to announce itself as new, instead of hiding as something that was always there.
- Name the shift, without naming motives. When a new standard appears, say it plainly and neutrally: "That is a new requirement, not the one we agreed to." You do not have to accuse anyone of acting in bad faith. Most goalpost-moving is sincere. Naming the move is enough to stop it, and it works whether the shift was deliberate or not.
- Separate new information from a moving goalpost. Sometimes the standard should change, because something real was learned. The test is direction and trigger: a legitimate change comes from new information and can move the bar either way; moving the goalposts only ever raises it, and only after the old one was met. Grant the first. Flag the second.
- Put the burden back where it belongs. If someone keeps demanding a higher standard of proof, ask what standard would actually settle it, in advance. If no answer is possible, the request was never about evidence, which is the same point Hitchens's razor makes about claims that arrive without any burden attached: a demand you can never satisfy is not a demand you are obligated to chase.
- Close the loop in writing. When the work is accepted, record that it met the agreed standard, and record any genuinely new requirements as their own next step rather than folding them silently into "it still is not done." This is what stops the next round from starting at the shifted posts.
None of this requires treating the other person as an adversary. The goal is not to win a fight. It is to make the target hold still long enough that meeting it means something.
Moving the goalposts vs related ideas
The fallacy sits next to several neighbors, and the distinctions are worth keeping straight, because each one fails on a different axis.
| Idea | What it gets wrong | How it differs from moving the goalposts |
|---|---|---|
| Moving the goalposts | Changes the standard after it is met, always upward | The baseline case: the target shifts away each time it is reached |
| Scope creep / feature creep | Lets requirements grow past the original plan | About scope expanding over time, often without bad intent; goalpost-moving is specifically a standard raised after it was met |
| False equivalence | Treats two unlike things as equal over a shared trait | About a bad comparison, not a shifting standard |
| Hitchens's razor | Dismisses claims asserted without evidence | About the burden of proof; goalpost-moving abuses an accepted burden by raising it endlessly |
| Special pleading | Demands an exception to a rule without justifying it | A one-off exemption; goalpost-moving is a repeating escalation of the standard itself |
The one most often confused with it is scope creep, because both end with "we are not done yet." The difference is intent and shape. Scope creep is requirements growing as understanding grows, usually sincerely and in all directions. Moving the goalposts is a standard that only rises, and only after the previous one was satisfied. Scope creep is a plan that got bigger. Moving the goalposts is a finish line that runs away.
The one move that matters
Moving the goalposts is hard to catch in the moment because every new demand is reasonable on its own, and the fallacy only becomes visible when you can see the whole sequence at once. That is also where the defense lives. The reliable move is to write the finish line down before the work starts and keep the record, so that when the posts move you have the original position to point at. A knowledge base that holds the standard you actually agreed to, not just the verdict that came later, is how you keep "done" from quietly becoming "do more," and how you tell an honest change of requirements from a target that was never meant to be reached. Try it free.
Share this article