Потребител на Claude Code съобщи за тежък инцидент със загуба на данни, при който автономен агент за програмиране се твърди, че е изтрил 48 218 активни файла от проектно дърво под Windows и е унищожил хранилището за Git обекти на репозиторито.
Съобщава се, че изтриването е станало само за 103 секунди, между 22:10:31 ч. и 22:12:14 ч. ET, след като на агента е било разрешено да преизгради огледално копие за задача, обозначена като „#873“. Твърдението идва от публикация в Reddit и приложен верификационен доклад, а не от независимо публикувано криминалистично разследване.
Според споделения в Reddit доклад агентът е установил, че build_mirror.py не може да обнови огледалното копие на място и затова е създал скрипт на Python за премахване на по-старо копие, съхранявано във временна директория.
Твърди се, че агентът Claude Code изтрива файлове
Това огледално копие е съдържало 7 332 обикновени файла и 614 директорийни връзки (junctions) в Windows, сочещи обратно към действащото дърво на Dashboard. Скриптът за почистване е използвал os.walk(..., followlinks=False), очевидно с предположението, че това ще предотврати обхождането на свързаните директории.
Това предположение се е оказало катастрофално за Windows. Верификаторът посочва, че os.path.islink() е върнал false за директорийните връзки, което е позволило на скрипта за премахване да третира директориите под всяка връзка като нормални пътища.
Въпреки че скриптът е включвал защита за връзките, според доклада тя е защитавала само файлове, намиращи се директно в корена на съответната връзка; вложените директории са били обходени и изтрити. Собственият му лог отчита 55 550 файла, 614 връзки и 1 808 директории.
След изваждане на планираните 7 332 огледални файла, проверяващият е изчислил 48 218 изтрити активни файла. Съобщените щети са надхвърлили съдържанието на самото приложение. Директориите .git/objects, refs и logs са били празни, в резултат на което git log не е успял да намери комити. Индексът е оцелял и е продължил да изброява 7 221 пътя, но базовите обекти (blobs) са липсвали, което е направило невъзможно възстановяването чрез Git.
Верификаторът също така е преброил 728 изпразнени директории, включително 418 под Runners, докато файловете в основната директория, документацията, резервните копия, записите от чатове и файловете извън Dashboard са останали непокътнати.
Инцидентът разкрива критична слабост в работните процеси с агентно програмиране: разрешението за изпълнение на легитимна задача за поддръжка може да се превърне в правомощие за изпълнение на опасна имплементация.
Документацията на Anthropic посочва, че режимът Manual изисква одобрение за Bash команди и модификации на файлове, докато bypassPermissions прескача подканите и трябва да се използва само в изолирани контейнери или виртуални машини.
Функцията за контролни точки (checkpoint) на Claude Code не би спасила непременно този сценарий, тъй като промените, направени чрез Bash команди, включително изтриванията, не се проследяват за връщане назад.
Разработчиците трябва да третират AI агентите за програмиране като автоматизация с повишени привилегии, а не като разговорни асистенти. Деструктивните операции трябва да започват с пробно изпълнение и списък с пътища, да използват обратими премествания вместо незабавно изтриване и да се изпълняват под профили с минимални привилегии в изолирана среда с ограничени права до файловата система.
Anthropic документира наложени от операционната система ограничения на файловата система за Bash, PowerShell и дъщерни процеси, което прави изолираната среда съществена мярка за сигурност, а не опционално удобство.
Докато не бъдат публикувани логове или криминалистични доказателства обаче, точният разказ остава инцидент, съобщен от потребител, без независимо потвърдено приписване към конкретен дефект в Claude Code на засегнатата машина.