Blog

Gavin Pickin

May 26, 2022

Spread the word


Share your thoughts

If you are using Windows these days, Windows 10 and 11 give you many of the tools you want and need in the Web Developer Toolbox. After working on Macs and deploying to Linux for a long time, I made the switch back to Windows a while ago, and the list of things that I genuinely miss on Windows is pretty slim, with one major issue, Case Sensitivity or lack of, on Windows.

Why does Case Insensitivity matter?

Windows does not care about the case of files and folders, which is not usually a big deal until you interact with a system that does care, like Linux. If you have fellow developers on Mac or deploy to Linux, this might pop up, be subtle, or be a major issue.

What types of issues does it cause?

If the case of the file on your Windows machine is all uppercase, but the code refers to all lowercase, it will find the file. The file will not be found on a *nix box that is case-sensitive. This means all of your local work and testing will look good, you push it, and now it fails.

But wait CFML isn't case sensitive, or is it?

CFML is usually case insensitive once you get to it, so if the webserver like nginx can get the call to CFML, generally, once you are inside, most things work. Still, things that drop to the system or java will fail since they resort to the system case sensitivity. So, something that does sometimes work might not now. Are you getting a headache? You should be.

Can I just rename my files? On Windows, it's not that easy.

If you have a handler called users.cfc and you rename it Users.cfc, it should solve the problem, right? The issue is that Git on Windows is case insensitive, too, so it doesn't see users.cfc vs. Users.cfc as a change, and you can't commit it. The hack workaround is to rename it to users2.cfc, commit, and then rename to Users.cfc and commit again. How many times will you remember to do that? If you do not do it right, you'll get a situation like in the video below.

What happens when you rename a file on Windows for case without the hack?

If you rename the file from users.cfc to Users.cfc and do not change the case, nothing will happen until you add code and then push. You might get that updating the existing file in Git, or Git might create a second file, Users.cfc, with the new changes as a new file and the old users.cfc exists. When someone else updates Users.cfc, and you pull, will you get users.cfc or Users.cfc, which now can both exist in Git but not on your machine.

This video shows an extreme case caused by case insensitivity and how it can affect your whole team

How do I set my Folders on Windows to be Case Sensitive?

In the next blog in this series, we'll show you how to do it, but, should you do it? This change might not be the silver bullet you think it is, which we'll share as well as we continue this series.

Add Your Comment

Recent Entries

Ortus & BoxLang November Recap 2025

Ortus & BoxLang November Recap 2025

November 2025 was a big month at Ortus. BoxLang 1.7.0 arrived with real-time streaming, distributed caching, and faster compiler internals. ColdBox gained a cleaner debugging experience with full Whoops support, while CBWIRE 5 launched with stronger security, smarter lifecycles, and easier uploads.

Victor Campos
Victor Campos
December 02, 2025
Thanksgiving Week Extended + Cyber Monday Deals Are Live!

Thanksgiving Week Extended + Cyber Monday Deals Are Live!

Because you asked; we’re extending the Thanksgiving Week offer and officially launching our Cyber Monday BoxLang Deals today!

To support everyone who wants to understand whether they’re running on legacy CFML or modern-ready code, and whether BoxLang is the right fit; we’ve decided to extend the dates and increase the number of companies we can support.

Maria Jose Herrera
Maria Jose Herrera
December 01, 2025
Registration Is Now Open for Your Free BoxLang Compatibility Report! 🦃

Registration Is Now Open for Your Free BoxLang Compatibility Report! 🦃

Originally set to open on the 24th, we’ve decided to release the registration early, starting November 20th, so we can begin scheduling your BoxLang Compatibility Report audits next week and make sure they’re completed before the end of the year.

Maria Jose Herrera
Maria Jose Herrera
November 20, 2025