claude code
Claude Code on Windows (PowerShell or WSL, Explained Simply)
Claude Code on Windows runs two ways, native PowerShell or WSL. Which one a beginner should pick, the gotchas Mac tutorials skip, and how to prove it worked.
Every Claude Code tutorial on the internet was apparently filmed on a MacBook.
The commands assume a Mac. The screenshots have those little traffic-light window dots. Every path starts with /Users/somebody. And you, a person with a normal Windows computer like most of the actual working world, are left translating every step and wondering why the very first command threw a wall of red text at you.
(It was the Mac command. It was always the Mac command.)
I run this stuff on Windows machines and Macs both, and I promise the Windows story is way better than the tutorials make it look. Claude Code runs natively on Windows now. No virtual machines, no dual boot, no "just buy a Mac" advice from a guy named Blake.
You do have one real decision to make though. So let's make it properly.
The Two Roads, and Which One to Take First
There are two legitimate ways to run Claude Code on Windows.
The native install. Claude Code runs as a regular Windows program, right inside PowerShell. One installer and you are done.
WSL. The Windows Subsystem for Linux, which is a real little Linux world living inside your Windows machine. You install Claude Code inside that world, and it behaves exactly like it does on a Mac or a Linux server.
Beginners always ask which one is "correct," and the internet answers with a holy war. Ignore the war. Here is the boring truth.
Start with the native install. It is one command, there is no second operating system to learn on day one, and it works on any Windows 10 from build 1809 up, which covers basically every Windows machine still drawing breath.
WSL is not the beginner path. It is the escape hatch. It earns its keep later, when and if you hit friction, and I will tell you exactly what that friction feels like in a minute so you recognize it when it shows up.
And no, picking native today does not lock you into anything. Nothing about starting native stops you from adding WSL in month three when your projects get weirder. This is a pick-a-lane-for-today decision, not a marriage.
The Native Install, Start to Finish
Open PowerShell. Regular PowerShell, no need to run it as Administrator. Paste this.
irm https://claude.ai/install.ps1 | iex
That pulls down the Windows installer and runs it. Self-contained binary, no Node.js, none of the npm mess from the older guides (I covered the full current install for every platform in the install guide if you want the whole picture). It also keeps itself updated quietly from then on, which is exactly the level of attention you want to spend on tooling maintenance. None.
Two gotchas, right here at the start.
First, if PowerShell refuses and mutters something about "running scripts is disabled on this system," that is the execution policy, a Windows safety setting. Loosen it for your own user account only.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Answer yes, then run the installer again. You are not disabling security. You are telling Windows that you, specifically, are allowed to run reasonable scripts on your own machine.
Second, when the install finishes, close PowerShell completely and open a new window. Old windows do not know about freshly installed commands, and that one habit saves you from the most common install error on any platform.
One more thing worth doing while you are in there. Install Git for Windows if you do not have it. It is free, Claude Code leans on it for version control (which is your undo button), and it quietly hands Claude a proper Bash shell to work with.
And a heads-up before you get attached... the login screen wants a paid Claude plan or API credits. The install is free. The tool is not.
When WSL Earns Its Keep
So when do you take the escape hatch?
You will know, because it feels like this. Every tutorial you follow keeps assuming Linux commands your PowerShell does not have. A guide casually says "now just chmod the file" and PowerShell stares back at you like you asked it for directions in Latin. Some tool in your project installs weird or breaks only on Windows. You spend more time translating instructions than following them.
That is tool-ecosystem friction. When it becomes your daily tax, WSL makes it vanish, because inside WSL you ARE the Linux machine the tutorials were written on. No translation layer, no "well on Windows you actually..."
Getting in is one command, this time in an Administrator PowerShell.
wsl --install
Reboot, set up Ubuntu with a username and password, and then inside that new Linux terminal run the same installer every Mac tutorial shows.
curl -fsSL https://claude.ai/install.sh | bash
One important thing people miss. The native install and the WSL install are two separate worlds. Claude Code installed in PowerShell does not exist inside WSL, and vice versa. Pick one world as home base, keep your projects there, and future-you will not spend a Saturday wondering where anything lives.
Related tip while we are here. If you go the WSL route, keep your project folders inside the Linux side (under your Linux home folder, not under /mnt/c/...). Everything runs noticeably faster, and half the weird WSL complaints you read online trace back to people working across that boundary all day.
The Gotchas Mac Tutorials Never Mention
Your paths look different, and that is fine. The tutorial says cd ~/projects/my-app. Your reality is closer to C:\Users\you\projects\my-app. Good news, modern PowerShell understands ~ and forward slashes just fine, so the tutorial command usually works as written. When it does not, swap the front of the path and keep moving. You are not doing it wrong. You are just not on a Mac.
The better news is that Claude Code itself knows it is on Windows and behaves accordingly, so path weirdness mostly bites when YOU are the one typing, not when it is.
Line endings are a real thing, sadly. Windows and Mac end lines of text differently (CRLF versus LF, if you enjoy trivia at parties). Git can silently smooth this over for you, and you should let it, once, right now.
git config --global core.autocrlf true
If a tool ever screams about mysterious \r characters, or files show as changed when you swear you touched nothing, this is almost always the culprit.
Keyboard shortcuts in guides. When a tutorial says Cmd, read Ctrl. That one translation covers ninety percent of the friggin confusion.
The old blue console is not your friend. If your terminal looks like it time-traveled from 2003, you are probably in the legacy console. Use Windows Terminal instead. It ships with Windows 11 and it is a free install from the Microsoft Store on Windows 10, and it makes living in a terminal feel like something a person might do on purpose. Better fonts, tabs, copy and paste that behaves.
Prove the Install Worked
Do not just hope. Verify. Fresh PowerShell window, then...
claude --version
A version number back means you are in business. If you are the trust-but-verify type (welcome, you will do well here), Get-Command claude will also show you exactly where the program landed on disk.
Now the real test. Move into any actual folder on your machine and start a session.
cd ~/Documents/some-project
claude
The first run bounces you to the browser to log in. After that, ask it something harmless like "what is in this folder?" and watch it actually go look. That moment, when it reads YOUR files on YOUR Windows machine, is when this whole thing stops being abstract.
If you got command not found instead, do not spiral. It is the most common stumble on every platform, it is nearly always a two-minute fix, and I wrote the step-by-step fix for exactly this moment.
One Last Thing for My Windows People
There is a quiet assumption running through developer content that serious work happens on a Mac, and it makes Windows folks feel like guests in someone else's building.
Forget that noise. Claude Code on Windows is a first-class setup. Native installer, real support, and WSL sitting right there if you ever want the full Linux experience without giving up your machine.
Start native. Ship something. Move to WSL only if the friction actually shows up in your week, not because some guy in a comment section was snooty about it.
Your operating system was never the thing standing between you and building. It was just the excuse with the best marketing.
Frequently asked questions
- Does Claude Code run natively on Windows?
- Yes. It runs as a regular Windows program on Windows 10 build 1809 or newer, straight from PowerShell, and you do not need Administrator rights to install it. Installing Git for Windows alongside it is worth the two minutes, since it gives Claude a proper Bash shell to work with.
- Should a beginner use WSL or the native Windows install?
- Start native. It is one command, there is no second operating system to learn on day one, and it handles most work fine. WSL earns its keep later, when tutorials keep assuming Linux commands you do not have or some tool in your project fights Windows. Move then, not before.
- Why does the curl install command fail in PowerShell?
- Because that command is the Mac and Linux installer, and nearly every tutorial just assumes you are on a Mac. Windows has its own one-liner, irm claude.ai/install.ps1 piped to iex, run in PowerShell. Same tool at the end, different front door.
Learn it by doing it
Reading about Claude Code only gets you so far
Meet Claude drops you into a working terminal and makes you run the commands yourself. No setup, no video, nothing to install to get started.
- 62 lessons across Claude Code, Git, GitHub, Railway and Vercel
- A real terminal in the browser, so you practise instead of watching
- Progress, streaks, and a certificate when you finish
Keep reading
How to Install Claude Code (Mac, Windows and Linux)
Install Claude Code in about two minutes with one command. No Node.js, no npm, and a fix for the "command not found" error that trips up almost everybody.
ReadClaude Code Without Coding Experience (An Honest Answer)
Claude Code without coding experience is how I shipped 17 projects in my first month. What you actually need to learn and the trap that sinks most beginners.
ReadClaude Code Command Not Found? Here Is the Fix
Claude Code command not found is the most common install stumble there is. The real fixes in order of likelihood, including the one PATH line that ends it.
Read