You have asked the Agent to fix the same thing five times. It said it fixed it each time. The app is still broken, and every one of those attempts was charged to your account. Somewhere around the fourth try the question stops being how to write a better prompt and starts being how much longer to keep paying for this one.

A Replit app that keeps breaking is usually one of four things: an Agent fix loop, a fix that landed in the Project Editor and never reached the published app, a crash under real traffic, or a Replit incident. Only one of the four is a bug in your code.

Sorting which one you have is worth doing before you buy another attempt, because attempts are not free and the pricing is documented. First, though, the reason the Agent can report success on an app that is visibly broken.

The Agent says it fixed it and the app is still broken

Someone eight builds into this described it in a single sentence: “The replit agent says it has fixed the issue but we’re on build 8.” Eight rounds of being told the problem was handled.

Two documented mechanisms explain most of that, and neither one requires the Agent to be wrong about the code it wrote.

The first is that your app lives in two places. Replit’s deployments documentation describes a published app as its own running copy, separate from the code in the Project Editor. A change made in the editor reaches your customers only when you publish again, so until then the fix is real in one place and absent in the other. This is the same shape as why an app can work in one place and fail in another, with Replit naming both places for you.

The second is the database. Current Replit Apps keep separate development and production databases, and Agent works against the development one. So a fix that depends on a data change, a new column, a corrected row, a record that should have been there, can be visibly working in the editor and do nothing at all for the live app.

Preview adds a third copy. On Replit’s own forum on 25 February 2026, one person described an app they could no longer get into: “Instructed to clean it up, said it did, and since then can’t get back to review App.” Another replied that they had “seen a number of oddities in previews as of late” and suggested testing in a real browser rather than the preview pane. No staff member answered that thread and nothing in it was resolved, so treat it as one person’s account. The advice still matches the documentation: the copy you are looking at is not necessarily the copy your customers get.

Most of the time the Agent is reporting accurately on a copy of your app that nobody else is using.

Why does my Replit app keep breaking?

Telling the four apart takes one check each: does the Agent repeat itself, does the app work when you run it in the Project Editor, does it fail only under real traffic, and is Replit’s own status page green. The table below matches each answer to the thing that settles it.

What you seeWhat it usually isWhat settles it
The Agent keeps trying the same steps and reporting the same successA fix loopReplit’s help centre documents this state and gives two actions: Stop in the Agent panel, and Restart compute from the command palette
Works in the Project Editor, broken once publishedSomething that does not travel with the codeProduction Secrets are entered in the Publishing pane, the server must listen on 0.0.0.0, the homepage must answer within five seconds, and the file system resets on every publish
A 502, or the Replit app keeps crashing once real people use itThe app process died or returned output the server could not useThe Logs tab in the Publishing pane holds the stack trace; an Autoscale app’s first request after a quiet period is a cold start and is expected to be slow
Everything is broken at once, and it is not only youA Replit incidentReplit’s status page reports separately on Replit Agent, Publishing, Published Apps, Published App Databases and Replit Auth

Replit’s help centre for the Agent, checked 15 August 2026, treats the first row as a known state rather than a user error. Its documented actions are to “Select Stop in the Agent panel to halt it immediately” and to open the command palette, search for Restart compute and select it. That is the whole documented remedy, and none of it inspects your code.

The second row catches people twice. Replit’s publishing troubleshooting guide, checked 15 August 2026, says the file system in published apps “is not persistent and resets every time you publish”, and that data belongs in a database. An app that writes uploads, generated files or a small store to disk works right up until the next publish, at which point the same glitch returns looking brand new. Fixing the code never removes it. The same page is where the Secrets, 0.0.0.0 and five-second health-check rules in that row come from.

For the third row, Replit’s networking and app errors page says “A 502 usually means your app process crashed or returned output the server couldn’t use”, and that with Autoscale deployments “the first request after a quiet period can take a few seconds (a cold start), which is normal”. A slow first load and a crash are different problems that produce similar complaints from customers.

Three neighbouring problems are deliberately not on this list, because each has a different answer: an Agent that hangs mid-run rather than looping, a store build that crashes on a real device after publishing, and an app paused because credits ran out.

What does each Agent fix attempt cost?

A paid Agent attempt costs money. Replit’s billing documentation states that Free Mode covers no-cost everyday Agent work for Core and Pro subscribers within its allowance, that paid modes and confirmed paid work are priced by effort, and that Replit asks for confirmation before a paid action starts. Its help centre states those charges are non-refundable. The cost of each paid attempt depends on the work Agent performs.

Replit’s Agent billing documentation, checked 25 August 2026, describes effort-based pricing that scales with the complexity of the request, one checkpoint per request, and smaller requests costing less. It says “Free Mode supports no-cost everyday Agent work for Core and Pro subscribers within its allowance”, that paid modes and confirmed paid work use effort-based pricing based on request complexity, and that “Replit asks for confirmation before a paid action starts.” It also covers the case people find hardest to believe: “In the paid path, Plan Mode can perform billable reasoning even when it does not change code.” No per-attempt dollar figure is published there, so nobody can tell you in advance what attempt nine will cost on the paid path, only that it will cost something.

Replit’s help centre on billing and refunds, checked 15 August 2026, states the consequence in one sentence:

Agent and AI usage charges are non-refundable, because each charge reflects compute that Replit already used to run your tasks.

That turns a technical decision into a budget one, and it is the part no other page on this search mentions.

A rule you can actually apply: give the same failure two clean attempts. If the second one does not hold, stop. A third attempt is also billable and may cost more or less depending on the work Agent performs. It carries no more information than the first two had, and it is usually the one that starts changing files next to the problem rather than the problem itself. Having a person read the code is cheaper from there, because a person can tell you which of the four shapes above you are in before anything changes.

The same billing and refunds page documents ways to cap the damage while you decide, including a usage limit, a budget, and Plan mode. Replit currently lists Core at $20 a month when billed annually. The subscription includes a separate $25 monthly credit allowance before additional billing starts.

How do I get back to the version that worked?

A checkpoint is Replit’s automatic snapshot of your app, and its documentation says Agent takes one before it attempts fixes for critical issues. That usually means a way back to before the loop exists. Rolling back removes every change made after that point, and your database only comes back if you ask for it.

Replit’s checkpoints and rollbacks documentation, checked 15 August 2026, defines a checkpoint as “a complete snapshot of your Replit App state”, created by the Agent on its own at key moments in a build rather than by anything you do. It lists four moments Agent creates one, and the fourth is the useful one here: “Before attempting fixes for critical issues”. If that held on your app, a snapshot from before the loop started already exists.

The same page puts checkpoints in three places, the Agent tab, the Git pane where they appear as commits, and the History view reached from the history icon in Agent chat, and names the control Rollback to here. The warning travels with the instruction. Restoring a checkpoint puts your files back exactly as they were at that moment, so anything written afterwards goes with it, including work you wanted to keep. The database is a separate decision: the page says “By default, rollbacks do not change your database”, and that “Database changes are also reverted if you choose to restore your database”. Before you tick that box, read what a rollback can destroy.

Then there is the published app, where Replit’s help centre gives two different answers and both pages are current. The projects and files page, checked 15 August 2026, says “Replit no longer supports rolling a published app back to a previous version”, and that the route is to roll the project back to an earlier checkpoint and publish again. The deployment and publishing page, checked the same day, says that when the published app is broken and the editor works, you open Publishing then History, find the last working version and redeploy it. Neither page announces itself as replacing the other. The order that is safe under either reading is to look in Publishing History first, and if nothing there can be redeployed, roll the project back to a checkpoint and publish that state.

Code and data run on separate clocks. Rolling code back does not restore a database, and rolling back a database change is its own operation. Replit documents point-in-time recovery for production databases of up to 7 days on Core and 28 days on Pro and Teams, a different window from checkpoint rollback. What Replit’s platform does and does not test for you covers both properly.

This section stops at the decision on purpose. What to do in the first ten minutes after an AI edit breaks something is a separate job with its own sequence, and so is rolling back a deployment.

Why a fix that was really written still does not hold

There is a third reason the loop repeats, and it has nothing to do with which copy of the app you are looking at. The fix gets written. It never runs.

Across the fixed June to July 2026 AxonBuild corpus of 26 AI-built apps, one pattern shows up often enough to name: code that exists and never executes. The clearest example is an error boundary, written properly, sitting in a file, and never mounted into the component tree it was meant to catch errors for. It is present in every review of the repository and absent from every run of the app. Rate limiting turns up the same way. The pattern is example-led rather than counted, so there is no denominator to quote, and the corpus carries no per-tool attribution, so it establishes nothing about Replit specifically: those 26 apps came from several workflows and tools, and the corpus was never designed as a head-to-head product test.

What it does explain is the sentence at the top of this page. A generated fix can be genuinely written, genuinely sitting in the file the Agent showed you, and genuinely never reached when the app runs. Nothing in the app volunteers which one you got. At least 23 of the 26 apps had no working automated test, including one whose checkout test suite never ran the actual checkout code, so nothing existed that would have caught the difference.

That is what the loop is made of. Nothing proves the fix, nothing catches the regression it caused, and the only feedback available is opening the app again and forming an impression. Recording errors so a failure leaves a trace is the cheapest thing that changes this, and it is the first thing missing in most generated apps. Why each change gets riskier than the last is the same mechanism over months, and the security checks a Replit app still needs is the version that costs you data rather than time.

None of this is specific to Replit. Fixing AI-generated code in general runs into the same wall, and cleaning it up yourself is possible if you have the time to build the missing checks first.

When it stops being a bug and becomes a business problem

Two fragments from posts written in late July 2026, both by people well past debugging. One described a “full production outage for a real business running on Replit”. The other wrote “I have $200,000 in active customer jobs I cannot access”. No prompt fixes either of those.

If your app is down right now and customers are locked out, this page is the second stop. The first is Replit’s own status page and support, because a platform incident and a broken app look identical from the outside and only one of them is yours to fix. Once you know which one you have, finding out before your customers do is what changes the next occurrence.

Two pages selling Replit fixes rank on this search, so the demand is real. The higher of the two, usamamoin.com, publishes a flat rate per issue with no dollar figure, promises most fixes within 24 to 48 hours, and as of 15 August 2026 carries no case study, no named client and no before-and-after of any kind. Whoever you hire, including me, ask what they actually fixed and how they proved it worked. People who fix AI-built apps for a living should be able to show you.

The size of the job matters more than the label. One failure that keeps coming back may be one blocker if it has a clear finish line. Several unrelated failures need to be priced as larger work. If most of the app needs redoing, whether to fix it or rebuild it is the question to settle before anyone quotes you anything, and what a cleanup costs follows from that. Moving off Replit is a different job again, and fixing an app does not require leaving it. The same problem on Base44 and on Lovable starts differently and ends in the same place.

Your first $99 repair starts with a free 20-minute call to confirm whether one broken behavior qualifies. If it does, we agree on the blocker, complete it within three business days once access works, and charge $99 after you see it work. The price is available once to each new client. It is not an audit and does not make the whole app safe, production ready, or issue free.

Common questions about a Replit app that keeps breaking

Why is my Replit app not working?

Four causes cover most cases: the Agent is in a fix loop reporting success on changes that never took effect, the fix reached the Project Editor but the app was never published again, the published app is crashing or timing out under real traffic, or Replit itself has an incident. Check which copy is broken first, because the editor and the published app are separate running instances and a fix in one does not appear in the other until you publish.

How do I fix a corrupted app?

Corruption is almost never what happened. What you usually have is a state you can get back from. Replit’s Agent creates checkpoints automatically, including before it attempts fixes for critical issues, and restoring one puts your project files back exactly as they were then. The job is choosing which checkpoint to return to, and the cost is that every change made after it goes too.

How do I reset my apps back to normal?

Roll back to a checkpoint. Replit’s documentation puts checkpoints in the Agent tab, the Git pane and the History view, with a Rollback to here control on each one. Restoring a checkpoint returns the project files, the Agent conversation context and the configuration to that moment. Your database is not included by default and only reverts if you choose to restore it. Pick the last checkpoint you are confident about and expect to lose everything after it.

Does Replit charge me when the Agent fails to fix the bug?

On the paid path, yes. Replit’s Agent billing documentation, checked 25 August 2026, says Free Mode covers no-cost everyday Agent work for Core and Pro subscribers within its allowance, that paid modes and confirmed paid work are priced by effort, and that Replit asks for confirmation before a paid action starts. It also says that in the paid path, Plan Mode can perform billable reasoning even when it does not change code, so a request that changed no code can still carry a charge. Pricing is described as effort-based, scaling with the complexity of the request. A failed paid fix is billed the same way as a successful one, because the charge is for the work attempted.

Can I get a refund for credits spent on a fix that did not work?

No. Replit’s help centre states that “Agent and AI usage charges are non-refundable, because each charge reflects compute that Replit already used to run your tasks”, checked 15 August 2026. The same page documents the controls that exist instead: a usage limit and budget in your account settings, Economy mode for everyday builds, and Plan mode before the Agent builds. Those cap what you can spend going forward. They return nothing already spent.

How many times should I let the Agent try the same fix?

Two clean attempts at the same failure. If the second does not hold, the third is unlikely to, because it has no more information than the first two did and it tends to start editing code near the problem rather than the problem itself. Every attempt is billed and none of it is refundable, so the third try is a spending decision. At that point someone reading the code is usually faster and cheaper.

Why does my Replit app work in the editor but break for my customers?

Because they are two different running copies. The published app is a separate instance from the Project Editor, so anything you changed in the editor is invisible to customers until you publish again. Replit also documents several things that do not carry over: Secrets set in the editor must be added again in the Publishing pane, the server has to listen on 0.0.0.0 rather than localhost, the homepage has to respond within five seconds, and the published file system resets on every publish.

Do I have to move my app off Replit to get it fixed?

No. Every failure shape described here gets fixed in place, and none of the documented causes, a fix loop, an unpublished change, missing production Secrets, a crash under load, has anything to do with which host you are on. Moving is a decision about cost and control, taken when nothing is on fire. Doing it while the app is broken means changing two things at once and learning nothing from either.

What if my Replit app is down right now and my business runs on it?

Check Replit’s status page first. It reports separately on Replit Agent, Publishing, Published Apps, Published App Databases and Replit Auth, so it tells you within a minute whether the problem is yours at all. If Replit reports an incident, open a support ticket and wait, because nothing you change in the app will help. If everything is green, the fastest route back is usually the last published version that worked rather than another fix attempt.