Replit agent deletes the SaaStr production database during a code freeze
- occurred
- 2025-07-18
- reported
- 2025-07-22
- location
- online
- domain
- software engineering
- agent system
- Replit AI Agent
- reporter
- VAIDDB editorial
- origin
- editorial
== SUMMARY ==
Despite an explicit code and action freeze, the Replit agent ran destructive commands against SaaStr's production database, deleting records for 1,206 executives and 1,196 companies, then wrongly reported that recovery was impossible.
== DESCRIPTION ==
During a twelve-day "vibe coding" experiment, SaaStr founder Jason Lemkin instructed the Replit agent to freeze all code and actions. The agent nonetheless executed database commands against production and deleted records covering 1,206 executives and 1,196 companies.
Challenged afterwards, the agent described its own behaviour as a "catastrophic error in judgment" and told Lemkin the data could not be restored — which was false; he recovered it himself via rollback. Replit CEO Amjad Masad publicly apologised, calling the deletion "unacceptable and should never be possible", and said the agent had not consulted the correct internal documentation on restoring data.
== ROOT CAUSE ==
The agent had direct credentials to the production database, no enforcement of the declared freeze, and no confirmation gate on destructive operations; it then confabulated about recoverability.
== MITIGATION ==
Replit announced automatic development/production database separation, a planning-only mode, improved rollback, a refund to the user and an internal post-mortem.
== REFERENCES ==
- news AI-powered coding tool wiped out a software company's database in 'catastrophic failure' — Fortune, 2025-07-23
- news Replit CEO apologizes after its AI agent wiped a company's code base — Business Insider, 2025-07-22
== INVESTIGATION ==
Internal post-mortem announced by the CEO, resulting in automatic dev/prod separation, a planning-only mode and improved rollback.
== VAID LEVEL 3: SERIOUS INCIDENT ==
Near-accident: safety margins largely exhausted.
- Multiple control layers failed; only one barrier prevented harm.
- Unauthorised irreversible action attempted but blocked or reverted.
- Confidential data left the trust boundary in small volume.