macOS: mkdir: /data: Read-only file system / touch: /usr/bin/x: Read-only file system
Since Catalina the system volume is read-only and sealed; you can't create directories at / or modify system folders.
mkdir: /data: Read-only file systemtouch: /usr/bin/x: Read-only file systemRead-only file system macOS Catalinamkdir: /opt/data: Read-only file systemcannot create directory at /: Read-only file system Meaning
Put data in your home directory, /usr/local, /opt (via /etc/synthetic.conf on Catalina+ for new top-level names), or /Users/Shared. To add a root-level directory, create /etc/synthetic.conf entries and reboot. Docker/bind mounts must use shared paths.
Common causes
- Creating a folder at the filesystem root
- Writing to /System, /usr, /bin
- Installers assuming writable root
- Scripts expecting /data, /srv, /mnt
- Disk/volume mounted read-only after errors
⚡ Quick fix
- Use
~/,/usr/localor/opt/homebrew - For a root alias add
data /Users/me/data(tab-separated) to /etc/synthetic.conf and reboot - Check mount:
mount | grep " / "
Detailed fix by platform
macOS
mount | head -3andcat /etc/synthetic.conf
How to diagnose
- Path — Root-level or system?
- Alternative — Home or /usr/local?
- Mount — ro by design?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- Finder error code -36 macOS: The Finder can't complete the operation because some data in "x" can't be read or written. (Error code -36)
- Finder error code -43 macOS: The operation can't be completed because one or more required items can't be found. (Error code -43)
- Homebrew Cask: It seems there is already an App at Homebrew: Error: It seems there is already an App at '/Applications/Chrome.app'
Most viewed in macOS
- is damaged and can’t be opened macOS: “App” is damaged and can’t be opened. You should move it to the Trash.
- zsh: command not found: brew macOS: zsh: command not found: brew (Homebrew not on PATH on Apple Silicon)
- Homebrew: Permission denied @ dir_s_mkdir Homebrew: Error: Permission denied @ dir_s_mkdir - /usr/local/Cellar / /opt/homebrew is not writable
Other ways to find it
Where this error sits
Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 5 Nov 2026