macOS vs Windows
Most AI tooling — agents, scripts, tutorials — quietly assumes a Unix . That shapes the practical choice of dev environment.
- macOS is Unix-native. It ships with a real POSIX shell and the same
git,ssh, andcurlthe rest of the dev world uses. Most agents and scripts "just work." - Windows is fully capable, but the smoothest path is WSL2 (Windows Subsystem for Linux): a real Linux environment inside Windows. Do your AI coding inside WSL2 rather than fighting native PowerShell quirks.
- Linux is the third member of the family and behaves almost exactly like macOS for these purposes — it is Unix, so the same agents and scripts run unchanged. If you're already on it, you're set.
A few gotchas to keep your work portable across all of them:
- Paths —
/home/you/projectversusC:\Users\you\project; backslashes and drive letters break scripts. WSL2 sidesteps most of this. - Line endings — Windows uses CRLF, Unix uses LF. Mismatches cause noisy diffs and broken shell scripts; set
core.autocrlfand a.gitattributesto normalize to LF. - Case-sensitivity — macOS and Windows often treat
File.tsandfile.tsas the same; Linux and do not, so code that builds locally can fail in the cloud. Be consistent with casing in imports and filenames. - Permissions — Unix file modes (
chmod +x) don't map cleanly onto Windows.
Whichever you're on, ask the AI to keep commands portable — forward slashes, LF endings, consistent casing — so its scripts run the same on your laptop and in CI. When the AI hands you a one-liner that assumes a tool you don't have, the fastest fix is often to tell it your OS and shell in the context file so it stops guessing.