Terminal mit Programmcode und Fehlermeldung

Claude Code: „Ein anderes Programm verwendet diese Datei gerade“ beheben (Windows)

Wenn Claude Code unter Windows eine Datei nicht speichern, ersetzen oder löschen kann und „Ein anderes Programm verwendet diese Datei gerade“ meldet, steckt kein Fehler in Claude dahinter, sondern eine klassische Windows-Dateisperre: Ein laufender Prozess – meistens node.exe oder python.exe aus einem Dev-Server oder Watcher, den der Agent gestartet hat – hält die Datei geöffnet. So findest und beendest du ihn.

Was der Fehler bedeutet

Windows erlaubt es einem Programm, eine Datei mit einer exklusiven Sperre zu öffnen. Solange diese Sperre besteht, darf kein anderer Prozess die Datei überschreiben oder löschen – das System antwortet mit dem Fehler „The process cannot access the file because it is being used by another process“ (deutsch: „Ein anderes Programm verwendet diese Datei gerade“, intern ERROR_SHARING_VIOLATION bzw. Fehlercode 32). Node.js reicht das als EBUSY oder EPERM weiter. Claude Codes Werkzeuge zum Schreiben, Bearbeiten oder Löschen laufen genau dagegen.

Wichtig: Das ist ein Windows-Verhalten. Unter Linux und macOS tritt der Fehler kaum auf, weil sich Dateien dort in der Regel auch dann ersetzen lassen, wenn noch ein Handle offen ist.

Warum er bei Claude Code auftritt

In fast allen Fällen hält ein Prozess die Datei offen, den Claude Code (oder du) zuvor gestartet hat. Typische Verursacher:

  • Laufender Dev-Server: npm run dev, Vite, Next.js, nodemon – läuft als node.exe und schreibt/liest ständig Projektdateien.
  • Test-Watcher: jest --watch, vitest, pytest-watch.
  • Python-Server: uvicorn, Flask, django runserver – läuft als python.exe / pythonw.exe.
  • Build-/Bundler-Prozesse, die im Hintergrund weiterlaufen.
  • Antivirus/Defender, der die frisch geschriebene Datei gerade scannt.
  • Cloud-Sync (OneDrive, Dropbox) oder die Datei offen in einem Editor.
Siehe auch  Einführung in LLMs: Was sind Tokens und warum sind sie entscheidend für die Leistung von KI-Modellen?

Welcher Prozess es ist, hängt davon ab, womit der Agent gearbeitet hat: In einem JavaScript-/TypeScript-Projekt (npm, pnpm, Vite, Next.js) ist es node.exe; in einem Python-Projekt (uvicorn, Flask, Django, pytest) ist es python.exe.

Schnelllösung: den blockierenden Prozess beenden

Am schnellsten beendest du den passenden Interpreter. Danach führst du die Aktion in Claude Code einfach erneut aus.

Node.js-Projekte

REM Eingabeaufforderung (CMD)
taskkill /IM node.exe /F
# PowerShell
Stop-Process -Name node -Force

Python-Projekte

REM Eingabeaufforderung (CMD)
taskkill /IM python.exe /F
taskkill /IM pythonw.exe /F
# PowerShell
Stop-Process -Name python -Force

/F bzw. -Force beendet den Prozess hart. Nicht gespeicherte Daten im Prozess gehen verloren – bei Dev-Servern und Watchern ist das unkritisch, dein Quellcode auf der Festplatte bleibt unberührt. Startest du mehrere Node-Projekte gleichzeitig, beendet taskkill /IM node.exe /F alle; wer nur eines treffen will, nutzt den gezielten Weg unten.

Gezielt: welcher Prozess sperrt die Datei?

Statt pauschal alle Node- oder Python-Prozesse zu killen, kannst du genau den Schuldigen bestimmen.

Mit dem Ressourcenmonitor (resmon)

Der Windows-Ressourcenmonitor zeigt offene Datei-Handles. So geht’s:

  • Win + R drücken, resmon eingeben, Enter.
  • Reiter CPU öffnen und den Bereich Zugeordnete Handles aufklappen.
  • In das Suchfeld den Dateinamen (oder einen Teil des Pfads) eintippen.
  • In der Trefferliste Abbild (Prozessname, z. B. node.exe) und PID ablesen.

Prozess gezielt per PID beenden

REM CMD
taskkill /PID 12345 /F
# PowerShell
Stop-Process -Id 12345 -Force

Dev-Server über den Port finden

Läuft ein Dev-Server auf einem bekannten Port (z. B. 3000 oder 5173), findest du die PID so:

netstat -ano | findstr :3000
REM Die letzte Spalte ist die PID, dann:
taskkill /PID <PID> /F

Optional: Sysinternals „Handle“

Das kostenlose Microsoft-Sysinternals-Tool handle zeigt auf der Kommandozeile, welcher Prozess eine Datei offen hält – die CLI-Variante von Process Explorer:

handle64.exe meinedatei.txt

Wenn kein node/python läuft: weitere Ursachen

  • Antivirus/Defender-Echtzeitscan: kurz warten, bis der Scan die Datei freigibt, oder den Projektordner als Ausnahme hinterlegen (nur bei vertrauenswürdigen Projekten).
  • OneDrive/Dropbox-Sync: Synchronisierung pausieren oder das Projekt aus dem synchronisierten Ordner herausnehmen.
  • Datei offen im Editor/VS Code/Excel: schließen.
  • Zweites Terminal, dessen Arbeitsverzeichnis in dem Ordner liegt: schließen oder das Verzeichnis wechseln.
  • Letztes Mittel: Terminal bzw. Claude-Code-Session neu starten – und wenn nichts hilft, den Rechner neu starten. Das gibt alle Sperren frei.
Siehe auch  Wie groß kann eine Minecraft Welt werden (in GB) ?

Sonderfall: Fehler bei Installation oder Update

Tritt die Meldung beim Installieren oder Aktualisieren von Claude Code auf, blockiert laut offizieller Claude-Code-Dokumentation meist der Virenscanner eine teilweise heruntergeladene Binärdatei. Leere den Download-Ordner und starte den Installer erneut:

# PowerShell
Remove-Item "$env:USERPROFILE\.claude\downloads\*" -Recurse -Force

Zusätzlich: andere Installer-/PowerShell-Fenster schließen, den Virenscan abwarten und – in Unternehmensumgebungen – claude.exe samt der von ihm gestarteten Prozesse (cmd.exe, bash.exe) bei AppLocker/EDR auf die Allowlist setzen lassen.

So vermeidest du den Fehler künftig

  • Dev-Server und Watcher in einem eigenen Terminal starten, das du selbst kontrollierst – nicht im selben, in dem Claude Code arbeitet.
  • Vor größeren Änderungen an vielen Dateien den Watcher kurz stoppen.
  • Von Claude Code gestartete Hintergrund-Dev-Server beenden, bevor du an denselben Dateien weiterarbeiten lässt.
  • Projektordner möglichst nicht in OneDrive/Dropbox ablegen – oder eine Sync-Ausnahme setzen.
  • Vertrauenswürdige Projektordner in die Defender-Ausnahmen aufnehmen (reduziert Scan-bedingte Sperren).

FAQ

Muss ich node.exe oder python.exe wirklich hart beenden?

Bei Dev-Servern und Watchern ja – das ist unkritisch. Verloren gehen nur nicht gespeicherte Daten im Arbeitsspeicher des Prozesses, nicht dein Quellcode auf der Platte. Der Server lässt sich danach einfach neu starten.

Ist das ein Bug in Claude Code?

Nein. Es ist das normale Windows-Verhalten bei exklusiven Dateisperren. Deshalb tritt es unter Linux und macOS praktisch nicht auf.

Woher weiß ich, ob node oder python schuld ist?

Nach dem, womit gearbeitet wurde: JavaScript-/TypeScript-Projekt → node.exe; Python-Projekt → python.exe. Im Zweifel zeigt der Ressourcenmonitor den genauen Prozess.

Hilft ein Neustart des Rechners?

Ja, als letztes Mittel – er gibt alle Sperren frei. Der gezielte taskkill ist aber schneller und stört den restlichen Arbeitsablauf nicht.

Siehe auch  Als 700.000 Netgear-Router einen einzigen Zeitserver fluteten

Quellen: Claude Code Docs – Troubleshoot installation · Winhelponline (Ressourcenmonitor) · The Windows Club.

Nach oben scrollen