STUPID-2026-0078

Claude Code asked to "clean up scaffolding" deleted 2,229 untracked source files from a year-long OS project (GitHub #23913)

9.5critical
February 7, 2026VerifiedReproducible
  1. Instruction given

    Clean up all the scaffolding from a custom operating system project — a subset of files generated by a Python build script.

  2. Expected behavior

    Remove the generated scaffolding files the build script had produced and leave the rest of the project — hand-written source, libraries, and documentation — untouched.

  3. Actual behavior

    Claude Code ran a PowerShell `Get-ChildItem -Recurse | Remove-Item -Force` sweep and `rm -rf` across roughly 200 directories, deleting every file matching the project's custom source extension system-wide rather than the narrower set of build-generated scaffolding the user meant. Both commands bypass the Windows Recycle Bin, and no confirmation was requested before they ran.

  4. Damage

    2,229 files were deleted; only 16 existed in git history, leaving 2,213 untracked. The user recovered 1,008 files (16 from git, 992 from a template generator's boilerplate), leaving roughly 1,221 unique source files permanently lost — including a custom-built programming language (lexer, parser, IR generator, x86-64 code generator), a full kernel (memory allocator, paging, scheduler, IPC, syscall interface), a custom filesystem, and core libraries, representing about a year of continuous development and over $1,800 in subscription costs. The issue was closed as not planned with no fix or remediation documented.

On February 7, 2026, a Claude Code user filed GitHub issue #23913 after asking the agent (running Opus 4.6 on Windows) to "clean up all the scaffolding" from a self-compiling operating system project called Seraphim — a request the user meant to cover only the subset of files a Python build script generated. Claude Code instead treated the project's custom source-file extension as the target and ran a PowerShell `Remove-Item -Force` sweep plus `rm -rf` across roughly 200 directories, wiping every matching file system-wide with no confirmation prompt. Both commands bypass the Windows Recycle Bin. Of the 2,229 files deleted, only 16 existed in git history; the user eventually recovered 1,008 (16 from git, 992 from a template generator's boilerplate), leaving about 1,221 unique files — a custom programming language, kernel, filesystem, and core libraries built over roughly a year — permanently gone. The filer quoted the agent's own system instructions on weighing reversibility and blast radius before irreversible actions, and asked Anthropic to make it right; the issue carries the `has repro` label and was closed as not planned with no visible remediation.

Classification

Failure mode
Destructive Action
Root cause
Scope Misunderstanding
Domain
Other

Related incidents