The Mystery of the Un-deletable "nul" File
If you’ve been using the Claude Console or Claude CLI tools on Windows 11, you might have encountered a frustrating little bug: a file named nul appearing in your directories that simply refuses to be deleted.
If you try to delete it via the UI, nothing happens. If you try del nul in the command line, you get an error. It’s like a ghost file haunting your project.
Why is this happening?
In the Windows world, NUL is a reserved system name. It’s not meant to be a file; it’s a virtual device used to discard data (the "black hole" of the OS).
Sometimes, when tools like the Claude Console try to redirect output to "null" but the syntax doesn't perfectly align with Windows' expectations, the system accidentally creates a physical file named nul. Because the OS sees "NUL" as a protected device name, the standard del command can't target it.
The Fix: Using the UNC Path
To delete it, you have to bypass the standard Windows naming checks using the Universal Naming Convention (UNC). This tells Windows: "Treat this path literally, don't look for reserved names."
Option 1: Command Prompt (Recommended)
Open CMD and run this command (replace D:\ with your actual drive letter and path):
del "\\?\D:\path\to\your\folder\nul"
Option 2: PowerShell
If you prefer PowerShell, you must use the -LiteralPath argument:
PowerShell
Remove-Item -LiteralPath "\\?\D:\path\to\your\folder\nul"
Summary
The \?\ prefix is the "magic key" for managing files with reserved names like NUL, CON, or PRN.
If you are a developer working on Windows 11, keep this trick handy. CLI tools—especially those primarily built for Unix-like environments—will occasionally drop these "reserved" files into your folders by mistake.
Top comments (0)