Even in the era of cloud computing, artificial intelligence, and the sleek, minimalist interface of Windows 11, the operating system remains tethered to a digital past that refuses to fade away. Users who attempt to create a file or folder named "CON," "PRN," or "AUX" will find themselves stonewalled by the OS, which forces them to choose a different identifier. This isn’t a bug, nor is it a modern security feature—it is a stubborn relic of the MS-DOS era, a piece of 1981 architecture that remains woven into the core of the world’s most popular desktop operating system.
The Forbidden List: A Legacy of Hardware Abstraction
The restriction involves a specific set of reserved keywords that the Windows kernel treats as hardware devices rather than filesystem objects. If you attempt to rename a file to any of the following, Windows will issue an error:
- CON (Console)
- PRN (Printer)
- AUX (Auxiliary device)
- NUL (Null/Bitbucket)
- COM1 through COM9 (Serial ports)
- LPT1 through LPT9 (Parallel printer ports)
These names represent "device files" that were fundamental to the operation of early PCs. In the early 1980s, computing was not just about storing documents on a hard drive; it was about communicating with physical peripherals. By reserving these names, Microsoft allowed developers to send data directly to a printer or a serial port as if they were saving a file. For instance, sending data to PRN didn’t create a file on the disk; it routed the data stream directly to the connected printer.
Chronology: From 1981 to the Modern Era
To understand why this persists, one must travel back to the introduction of MS-DOS 1.0. At the time, the operating system lacked the complex directory structures we enjoy today. It didn’t support subfolders, and filenames were strictly limited by the "8.3" format—eight characters for the filename and three for the extension.
Microsoft’s engineers at the time faced a significant challenge: how to allow users to interact with hardware without needing a specific driver or a dedicated command-line utility for every task. Their solution was "Device Names." If a user wanted to print a file, they didn’t need to know how to talk to a printer; they simply needed to move the file to the "PRN" device.

As the years passed, Microsoft updated DOS, and eventually, the Windows graphical user interface was built on top of it. With each iteration—Windows 95, 98, XP, 7, 10, and now 11—the underlying kernel maintained backward compatibility. The logic was simple: millions of programs, batch scripts, and enterprise systems were built on the assumption that these names were reserved. Removing them would have caused a catastrophic failure of legacy software that still powers much of the world’s infrastructure.
Supporting Data: The "Magical" Nature of System Files
Raymond Chen, a long-time software engineer at Microsoft and the author of the blog The Old New Thing, has documented this phenomenon extensively. He explains that these names are not just "reserved" in the sense of a blacklist; they are hardcoded into the way the system interprets I/O requests.
In his analysis, Chen notes that early assembly programmers relied heavily on these shortcuts. If an application wanted to check if a directory existed, it might call an API to check for directorynamenul. The NUL device is essentially the digital equivalent of a black hole; any data sent to it is discarded. Developers used this as a quick way to test path existence without actually creating or writing to a file.
The prevalence of this practice in legacy codebases is the primary reason Microsoft has not "cleaned up" these names. In the world of enterprise software, breaking backward compatibility is a cardinal sin. If Microsoft were to suddenly allow a user to name a folder "CON," any legacy script or ancient internal tool that looks for that device could crash or, worse, perform unexpected actions, leading to potential data corruption or security vulnerabilities.
Official Responses and Engineering Philosophy
Microsoft’s stance has remained remarkably consistent for over four decades: "Compatibility is king." While the company has moved toward modern architectures like the NT kernel, the Windows subsystem for MS-DOS (and later the emulation layers) ensures that these reserved names remain off-limits to user-created files.

In various developer forums and blog posts, Microsoft engineers have acknowledged the absurdity of the restriction in 2025. However, they emphasize that the operating system’s "kernel-mode" drivers still listen for these specific strings. If a file system were to allow a user to create a file named COM1, the operating system would be unable to distinguish between the file on the disk and the serial port controller, leading to a kernel-level conflict.
This "reserved namespace" is essentially an architectural debt. It is a testament to the fact that Windows 11 is not a brand-new OS written from scratch, but rather a deeply layered evolution of a system that has been running the world for 40 years.
The Implications for Modern Users and Developers
For the average user, this restriction is a minor curiosity—a "fun fact" that leads to a frustrated click when Windows refuses to rename a folder. However, for software developers, the implications are more profound.
1. Security and Path Injection
The fact that these reserved names exist means that developers must be extremely careful when handling user-inputted file paths. An attacker could potentially use these reserved names to perform "Denial of Service" attacks or bypass security filters if an application is not properly sanitizing input. For instance, if a web application allows users to upload files and doesn’t filter for "CON" or "NUL," it might crash the server or behave in unpredictable ways.
2. The "Legacy Trap"
The persistence of these names highlights the "Legacy Trap" that Windows faces. By supporting code written in the 1980s, Microsoft ensures that a 40-year-old accounting program can still run on Windows 11. While this is a massive benefit for businesses and governments, it creates a "bloated" architecture where modern features are constantly layered over ancient, immutable foundations.
3. Cross-Platform Friction
This issue is also a point of frustration for users who move between operating systems. Linux and macOS have no such restrictions regarding "CON" or "PRN." A file synced via OneDrive or Google Drive that is named "CON" on a Linux machine will fail to download or sync correctly to a Windows machine. This creates friction in modern cross-platform workflows, as the Windows file system remains the outlier in its rigid adherence to 1980s device naming conventions.
Conclusion: A Living Fossil
The forbidden filenames of Windows 11 are more than just a quirky technical limitation; they are a window into the evolution of computing. They remind us that the devices we use today are built upon the foundation of a million decisions made by engineers who never imagined that their simple shortcuts would still be in use half a century later.
While it is easy to mock the restriction as a sign of an "outdated" operating system, it is also a testament to Microsoft’s commitment to stability. By refusing to break the rules set in 1981, Microsoft ensures that the digital world remains coherent, even as it grows in complexity. The "Ghost in the Machine"—those six categories of forbidden names—will likely remain as long as Windows exists, serving as a permanent, silent reminder of the humble beginnings of the PC revolution.
As we move forward into a future dominated by AI and quantum computing, the "CON" and "PRN" restrictions serve as a grounded, albeit frustrating, link to the past—proving that even in the most advanced software, some ghosts never leave the house.















