Windows 11 continues to refuse folder names like CON, PRN, and AUX. If you’ve ever tried to create a folder with one of these names and hit an “invalid device name” error, you’ve collided with a design decision that predates the graphical desktop itself.

The Forbidden Folder Names

Right-click on your desktop, create a new folder, and type CON. Windows rejects the name and reverts to “New folder” as if nothing happened. The same error appears for PRN, AUX, NUL, COM1 through COM9, and LPT1 through LPT9. Microsoft’s file-naming documentation officially reserves these 22 base names, plus six more esoteric variants with superscript digits (COM¹, COM², COM³, LPT¹, LPT², LPT³).

These aren’t bugs or filesystem limitations. They are deliberate carryovers from the DOS era, when those three‑letter words pointed not to files, but to physical hardware.

What’s Really Happening Under the Hood

Each reserved name is an old device alias. CON represents the console—keyboard input and screen output. PRN points to the default printer. AUX is an auxiliary serial device. NUL is the null device, a digital wastebasket that discards anything sent to it. COM1–COM9 are serial communications ports, and LPT1–LPT9 are parallel printer ports.

DOS exposed hardware through ordinary file‑style operations. A program could open PRN and send bytes to the printer, just as it would write to a file. Reading from CON gathered keystrokes; writing to it displayed text on‑screen. The idea was elegant: software didn’t need separate routines for every output device. But DOS did something Unix did not: it made these device names globally recognizable wherever a filename could appear. Unix confined device nodes to /dev; DOS let them live everywhere.

That global scope still applies. When Windows sees a path like C:\\Users\\Alice\\Documents\\PRN, it doesn’t look for a file or folder named PRN—it identifies the printer device. The reservation holds in every directory, regardless of extension. Adding .txt or .mp3 doesn’t help; Windows inspects the base name before considering the suffix. So CON.txt is still the console, NUL.mp3 is the null device, and AUX.c is still trapped.

The restriction lives in the Win32 path‑parsing layer, not necessarily in the filesystem itself. Technicians sometimes demonstrate that NTFS can physically store a folder named CON when accessed through an extended‑length path (\\\\?\\C:\\...). That trick bypasses normal path normalization, but File Explorer and most applications still use regular Win32 parsing, so the folder becomes impossible to open, rename, or delete through ordinary means. The 2000 CON/CON crash bug on Windows 95/98/SE—where a malicious webpage referencing C:\\CON\\CON could lock up the entire PC—showed just how deeply broken that legacy device‑logic could become. Microsoft patched the crash but kept the names.

What This Means for You

For everyday users, the blocked names are mostly a curiosity. You’ll bump into the error when renaming a folder, but there are effectively unlimited alternatives. The annoyance is real, yet the practical cost is near zero.

For developers and IT professionals, the headache is more concrete. Cross‑platform projects frequently contain filenames that are perfectly valid on Linux or macOS but boobytrapped on Windows. A repository with source files called aux.c, nul.h, or con.log will choke during checkout because the Win32 API refuses to create them. Git, package managers, archive extractors, and automated build tools all stumble. The fix is to rename those files in the repository—a simple but friction‑inducing step that derails workflows.

For system administrators, the problem appears when handling external drives, backups, forensic images, or archives created on non‑Windows systems. A ZIP file unpacked on a Windows box may contain a folder named aux, leading to extraction failures or undeletable entries. Understanding the extended‑path syntax (\\\\?\\) becomes the emergency escape hatch.

For scripters and power users, the device names remain useful. Redirecting output to NUL still discards data silently. Batch files and older command‑line tools depend on the aliases. Removing them would break countless automation tasks.

How We Got Here: A 1981 Decision Echoes On

The chain starts with PC DOS 1.0, shipped with the original IBM PC in August 1981. The original FAT filesystem had a single flat directory; there were no folders. Device names were global by necessity, because there was nowhere else to put them. Then came DOS 2.0 in March 1983, bringing hierarchical directories with the IBM PC/XT. Suddenly, the same device‑name collision scale exploded: PRN had to work from any folder without breaking existing software.

Microsoft chose backward compatibility. Rather than moving device aliases into a dedicated system location, they taught the path parser to recognize the reserved names in every single directory. A path containing PRN was simply never treated as an ordinary filesystem object. That decision, made at the dawn of the PC revolution, has been carried forward through every iteration of Windows—through graphical shells, NT kernel rewrites, and cloud‑first strategies.

What to Do Now

Pick a different name. For almost every user scenario, choosing something like notes, console_log, or printer_output avoids the conflict entirely. The list of blocked names is tiny.

Rename cross‑platform assets. If you maintain a repository or software project, grep for these forbidden base names (aux, nul, con, prn, com[1-9], lpt[1-9])—including case‑insensitive matches—and replace them. One early rename saves your Windows‑using collaborators hours of frustration.

Use extended paths when you must interact with existing reserved‑name files. From the Command Prompt, you can create or delete such objects with:

mkdir \\\\?\\C:\\path\\to\\con
rmdir \\\\?\\C:\\path\\to\\con

The \\\\?\\ prefix bypasses normal Win32 path handling and speaks more directly to the filesystem. This is a deliberate backdoor, but one that proceeds at your own risk; File Explorer will not manage the result gracefully.

Validate filenames in your applications. If you write software that generates files, extracts archives, or synchronizes data, add a check against the reserved‑name list before writing. Microsoft’s documentation gives the complete set. A few lines of validation can prevent cryptic “invalid device” failures for your users.

Outlook

Microsoft has shown no signs of retiring these legacy aliases. The compatibility web is vast: factory‑floor scripts, healthcare integrations, government batch files, and countless line‑of‑business tools all assume that NUL, CON, and friends will behave exactly as they have since the Reagan administration. Freeing the names would unlock a couple of dozen folder spellings but risk breaking software whose source code no longer exists. The tradeoff is asymmetrical, and the blocklist is essentially permanent.

Next time Windows 11 tells you “the specified device name is invalid,” it’s not a bug. It’s a 43‑year‑old deal with the past, one that still keeps your printer’s old ghost alive in every folder you can see.