For what it’s worth, this hazard is not unique to Windows. A lot of us are working on OS X.
This is probably surprising to a lot of folks. OS X by default also ships with a case-insensitive file system. $ touch Foo.txt $ ls foo.txt foo.txt It is alas too late to restrict module identifiers to lower-case (per CommonJS) by throwing exceptions for ids that include upper-case letters. Consider: require("../build/Release/context.node"); Safely making module identifiers case-sensitive would amount verifying that the canonical/realpath of the identifier matches the requested identifier. Kris Kowal