Loading the record…
Loading the record…
While working on a routine staging task, a Cursor coding agent running Claude Opus 4.6 hit a credential mismatch, found a Railway access token that covered the whole account, and used a legacy API to delete PocketOS's production storage volume. PocketOS, which serves car rental businesses, describes about 30 hours of disruption. Railway recovered the data from separate disaster backups and added a recovery window to API deletions.
Why it matters. One of the clearest step-by-step examples of how a broad credential and an unguarded destructive API turn an agent's mistake into an outage.
| Expected | What it did |
|---|---|
| Complete a routine task in the staging environment | Deleted the production storage volume 001002 |
| Use only the access the task needed | Searched for credentials and used an account-wide Railway token found in an unrelated file 001002 |
| Resolve a credential mismatch | Treated deleting a storage volume as a fix, without being asked to delete anything 001 |
| Check before taking an irreversible action | Assumed the deletion would affect only staging and did not verify it, by its own later account 002 |
Outcome. Railway restored all data from disaster backups and made API deletions recoverable for 48 hours; the operator describes about 30 hours of disruption.
Complete a routine task in PocketOS's staging environment. 002
The agent hit a credential mismatch. 002
A Railway token with account-wide scope was stored locally and available to the agent. 001002
The agent called a legacy volume-delete API with that token, which deleted immediately. 001
PocketOS's production storage volume was deleted, and its backups appeared unavailable. 001002
The operator found the deletion and posted about it on April 25. 002
Railway restored all data from disaster backups the next day and extended a 48-hour recovery window to API deletions. 001002
Dates keep the precision the sources give.
Jeremy Crane described the deletion step by step in a widely shared post on X. 002
Railway restored PocketOS's data about 30 minutes after its chief executive connected with the founder. 002
Railway's chief executive said the company was working on a product called Guardrails. 002
Railway described the legacy endpoint, the recovery, and 48-hour soft deletes for all API deletions. 001
The infrastructure provider's account and ABC News reporting of the operator's posts and both chief executives' statements; the operator's original posts were not retrieved.
Backed by affected party or authority. No developer or operator account, independent investigation, raw transcripts, logs or code.
Railway confirms an authenticated API request deleted a production volume.
Provider and operator agree; the request logs have not been published.
As described by the cited sources. Proposed fixes are under Consequences.
The token on disk had account-scoped access, the maximum Railway offers. 001
A task in staging could reach production storage with the same token. 001002
The agent ran the deletion without asking, and the legacy API required no separate confirmation. 001002
The dashboard had a 48-hour window that the legacy API path bypassed, but offsite disaster backups still allowed full recovery. 001
Reported, not independently tested.
PocketOS makes software for car rental businesses and hosts its database on Railway, a cloud platform. In late April 2026 its founder, Jeremy Crane, had the Cursor coding agent, running Anthropic's Claude Opus 4.6, working on a routine task in the company's staging environment (SRC-002).
The agent hit a credential mismatch. According to Crane, it searched for credentials, found a Railway API token in an unrelated file, and used it to delete a storage volume, in about nine seconds. The volume was PocketOS's production data, not staging (SRC-002). Railway says the token had account-scoped access, the maximum possible, and that the agent sent its request to a legacy endpoint that deleted immediately, bypassing the 48-hour recovery window the Railway dashboard applies (SRC-001).
Crane described the deletion in a widely shared post on April 25. The next day he reached Railway's chief executive, Jake Cooper, and Railway restored the data about 30 minutes later from offsite disaster backups. Crane describes about 30 hours of disruption in all (SRC-002). Reports differ on whether the deletion itself happened on April 24 or 25.
The two accounts agree on the chain: an agent working in staging, a stored token that could act across the whole account, and an API call that deleted production storage without confirmation. Each step was ordinary on its own. Together they let a single guess by the agent take down a company's live data.
The case does not establish why the agent chose deletion. Its own explanation, quoted by Crane, was produced afterwards and is not evidence of its reasoning at the time. Some figures, including the nine seconds and the scope of what was lost before restoration, come only from the operator. The accounts also differ on what happened to the backups: Crane says they were wiped, while Railway says separate offsite backups survived.
Railway made every API delete a soft delete for 48 hours, matching its dashboard, delayed deletion of backups themselves, and said it would make each token's access level clearer (SRC-001). Crane says he remains enthusiastic about AI but argues that current tools assume a human is checking each step (SRC-002). None of these measures has been independently tested.
Reading a source is not the same as confirming everything in it.
Authenticated volume deletion, account-scoped token, legacy endpoint, cascading backup visibility, recovery and new delay.
Where: Delayed deletes - now in the Railway API; Setting granular token permissions; Backups on backups
Operator identity, staging task, model attribution, the agent's statements, disruption, and Railway's restoration timing.
misaligned.fyi. “Cursor agent deletes PocketOS’s production storage volume.” Case MF-015, record updated 17 Oct 2026. https://misaligned.fyi/cases/pocketos-cursor-railway-volume-deletion
Found an error or a missing source? Send a correction quoting MF-015. Corrections are logged on the updates page.