Using Steam on case-sensitive macOS

Steam has put off adding support for case-sensitive macOS filesystems for years, despite supporting them on Linux. See their Support Page for details.

The first step to take is to Contact Steam Support to let them know that you are having this issue, if enough people raise this I assume it will get prioritised.

Detecting Case-Sensitivity

You can tell if you have a case-sensitive filesystem (and are thus hitting this issue) by running:

diskutil info /

You should see the following lines in the output:

File System Personality:   Case-sensitive APFS
Type (Bundle):             apfs
Name (User Visible):       APFS (Case-sensitive)

If you see HFS instead of APFS, then you're using an old version of macOS and need to find a different guide (or update your OS).

Fixing the Issue

Install Steam

First install and open Steam.app, the easiest way is via Homebrew:

# Install Steam.app
brew cask install steam

# Open it so it starts up and gets to a failing point:
open -a Steam

Move Steam to a case-sensitive volume

Then run these commands in a Terminal:

# Create a new case-insensitive volume called "Steam".
diskutil apfs addVolume disk1 APFS Steam
# Move the installed app into it.
mv /Applications/Steam.app /Volumes/Steam/Steam.app
# Make /Applications/Steam.app a symlink to the new location.
ln -s /Volumes/Steam/Steam.app /Applications/Steam.app

# Create Steam's cache dir if it doesn't already exist.
mkdir -p "~/Library/Application Support/Steam"
# Move it to the case-insensitive volume.
mv "~/Library/Application Support/Steam" /Volumes/Steam/Library
# Symlink it from the old location so it's still found.
ln -s /Volumes/Steam/Library "~/Library/Application Support/Steam"

This will create a new case-insensitive volume called "Steam" and move the Steam files into it.

Everything should work after this.