Forged
Start building
← Blog

Why does the AI keep fixing one thing and breaking another?

September 29, 2026

Because each fix is made with a partial view of your product. The AI is working with less than it needs: (1) it sees a few files, not the whole product, (2) it fixes the error you showed it, not always the cause, (3) nothing checks the features that already worked, and (4) it doesn’t remember why things were built the way they are. Each gap has a fix, and none of them requires you to read code.

Why this starts happening later, not at the beginning

In the first weeks, almost every request adds something new. There is little to break yet.

Later, most requests change something that already exists. A new checkout option touches the cart, the emails, and the admin page. Most parts of the product now depend on other parts. A change in one place can land somewhere you never asked about.

Founders report this too. One, days before a demo for a potential client, described an agent stuck in a loop of fixes and new diagnoses that never resolved the problem (opens in a new tab).

That loop is what makes this expensive. On a platform that charges per request, each round of repair costs money, and the loop does not stop on its own.

The four reasons it happens

1. The AI sees a few files, not your whole product

An AI can only hold so much of your code in view at once. When you ask for a change, it reads the files that look relevant and edits those.

The code it didn’t read can still be affected. Your signup page might share a piece of logic with your billing page. The AI changes that logic for signup, and billing quietly changes with it. The request never mentioned billing, so the AI never looked there.

2. It fixes the error you showed it, not always the cause

When something breaks, you describe the symptom: a message, a blank screen, a wrong number. The AI changes code until that symptom goes away.

A symptom going away is not the same as the problem being solved. Sometimes the fix hides the error. Sometimes it moves the problem somewhere else. You see a new error the next day and ask for another fix, and the loop begins.

3. Nothing checks the features that already worked

For most founders, the check after a change is clicking through the app.

Engineers use saved tests for this. A test is a small program that checks one thing your product must do, such as “a new user can sign up.” Saved with your product, it runs after every change and catches a break right after the change that caused it. Without tests, a break shows up days later, far from the change that caused it. By then, it’s hard to connect the two.

4. It doesn’t remember why things were built the way they are

Earlier decisions often live in an old chat. Maybe you asked for prices to be rounded a certain way, or for one page to skip a login check on purpose.

The next conversation starts without that history. So the AI sees code that looks odd and tidies it up. Developers report the same problem in their own work. One team keeps a rules file within the project (opens in a new tab), listing every pattern the AI kept getting wrong, every shortcut they banned, and every decision that was settled.

When the AI doesn’t know a solution already exists, it writes a second one. Now the same rule lives in two places. The next fix updates one copy and misses the other.

What you can do about it this week

Go back instead of patching again. When a repair loop starts, go back to the last version that worked instead of asking for one more patch. Your platform or your repository, the place where your code and its history live, usually keeps earlier versions. Returning to a version that worked usually costs less than another round of guessing.

Say what “fixed” means before you ask. Write one or two sentences the change must satisfy. For example, “a customer with a discount code sees the lower price at checkout, and customers without one see no change.” The AI now has a target to meet, not just an error to make disappear.

Change one thing at a time. Small requests are easier to check and easier to undo. A request that touches five features can break in five places.

Keep a short rules file. List the decisions that must survive: how prices are calculated, which pages are public, which services you pay for. Give it to the AI at the start of every session. It takes minutes to write and can save many rounds of repair.

Ask for a test with every fix. Ask the AI to add a test that fails before the fix and passes after it, and to keep it with the product. If the same bug comes back, the test catches it. Our guide to whether your app is safe to keep building on covers what good tests look like.

None of these need a developer. Together, they are what engineering teams do by habit: agree the change, keep it small, prove it works, and write down why.

How Forged handles this

Forged is built to close these four gaps. Every change starts from the product as it already is, in the repository you own.

Dimension The Forged approach
Before anything changes Forged reads your repository and the notes it keeps about your codebase
What it builds around The decisions confirmed in earlier changes
How big each change is Each feature is broken into small action items, each with its own acceptance criteria
What counts as done Every acceptance criterion is met, and the evidence shows it
Where the change goes A pull request in your repository, which you approve before users see it
What a repair costs you Work Forged has to redo because of its own problem is not charged

It starts from your code. When you connect a repository, Forged reads the code first. As it works, it keeps short notes about your codebase, and every later plan and build can draw on them. The shared logic behind signup and billing is something it has already seen.

“Fixed” is agreed in advance. Each change comes with acceptance criteria: plain statements of what must be true when it is done. You approve them before any code is written. The work is verified against them, so a finished change means it did what was agreed.

Decisions carry forward. The choices confirmed in one change become part of the plan for the next one. A shortcut you chose on purpose three months ago is kept, not tidied away.

Your questions, answered

Is this a problem with one particular platform?

No.

Founders describe repair loops on several vibe coding platforms, and developers describe the same pattern in their own work. It comes from how AI makes changes, not from one product.

Should I just start over with a clean rebuild?

Usually not.

A rebuild throws away what works along with what doesn’t, and the new version meets the same four gaps. Put the habits above in place first. If the product still can’t take a change safely after that, a developer can tell you whether a rebuild is worth it.

How do I know if I am in a repair loop?

Count the rounds.

If the same feature has needed three or more fixes in a row, or each fix creates a new error somewhere else, you are in one. Stop and go back to the last version that worked.

Will a better AI model fix this?

It helps, but it won’t remove the problem.

A stronger model reads more and guesses better. It still can’t respect a decision nobody wrote down, and it still can’t prove old features work without tests. The gaps are in the process around the AI, so better habits are what close them.

See how Forged plans a change to the product you have

Connect Forged to your repository and give it the bug that keeps coming back.

You approve the plan and what “fixed” means before any code is written. Then the fix arrives as a pull request you can check.

Start building