Windows 11 · Developer How-To
Best Windows 11 Settings for Developers and Power Users
Seven changes do most of the work: install Windows Terminal with PowerShell 7 as the default shell, add WSL2 for real Linux, manage software with winget, turn on long path support, create a ReFS Dev Drive for code and package caches, enable Sudo for Windows, and set up Git and an SSH key. Developer Mode is optional — switch it on only when a tool asks for it. Everything here works on Windows 11 Home as well as Pro, with the one Group Policy exception noted below.
Web, cloud, cross-platform and .NET developers, plus power users who live in the terminal. You do not need Visual Studio installed to follow along — most of this is command line and Windows Settings. Commands are shown for PowerShell; run an elevated (administrator) session where noted.
1. Developer Mode — optional, not mandatory
Developer Mode is the first thing many guides tell you to flip on. In practice, most modern development does not require it. It exists mainly to allow sideloading unsigned apps, easier remote and device-portal debugging, and creating symbolic links without elevation. If none of that applies to you, leave it off — it slightly widens your machine's attack surface for no benefit.
To turn it on when a tool requires it:
- Open Settings > System > For developers.
- Switch Developer Mode to On and confirm the prompt.
Developer Mode installs a developer package and relaxes some app-trust protections. On a managed or shared machine, check with whoever administers it first — organisation policy may control or block this toggle.
2. Windows Terminal + PowerShell 7
Windows Terminal is the default terminal app on Windows 11 — a tabbed, GPU-accelerated host that runs Windows PowerShell, Command Prompt and any WSL distribution side by side. What you should change is the shell it defaults to.
Windows ships with Windows PowerShell 5.1 (built on the older .NET Framework).
PowerShell 7 is the cross-platform, open-source successor built on modern .NET. It installs
as a separate app called pwsh and lives happily alongside 5.1, so nothing breaks. Install it with
winget:
winget install --id Microsoft.PowerShell --source winget
Then make it your default in Windows Terminal: open the dropdown next to the new-tab button → Settings → Startup → set Default profile to PowerShell (the 7.x profile, not "Windows PowerShell"). While you are there, set Default terminal application to Windows Terminal so command-line tools and debuggers open in it too.
Windows Terminal stores its configuration as a JSON file you can version-control. Open Settings → Open JSON file to copy your colour scheme, key bindings and profiles between machines.
3. WSL2 — run Linux on Windows
The Windows Subsystem for Linux (WSL2) runs a genuine Linux kernel in a lightweight, managed virtual machine, fully integrated with Windows networking and the file system. It is the single biggest quality-of-life upgrade for anyone who deploys to Linux. One command — the method set out in Microsoft's Install WSL guide — installs the platform and a default Ubuntu distribution:
# Run in an elevated PowerShell window
wsl --install
Reboot when prompted, then launch Ubuntu from the Start menu to create your Linux username and password. Useful follow-ups:
wsl --list --online # see available distributions
wsl --install -d Debian # install a specific distro
wsl --set-default-version 2 # make WSL2 the default
wsl --update # update the WSL kernel
Keep your Linux project files inside the Linux file system (your WSL home directory, e.g.
~/code), not under /mnt/c/. Cross-file-system access between Windows and Linux is
much slower, and it is the most common cause of "why is my WSL build so slow" complaints.
WSL2 relies on the Windows virtual machine platform and hardware virtualization. If wsl --install
reports a problem, make sure virtualization is enabled in your PC's firmware (UEFI/BIOS). WSL2 works on both
Windows 11 Home and Pro.
4. winget — the built-in package manager
winget (the Windows Package Manager) is included with Windows 11 via the App Installer, so there is usually nothing to install. It turns software management into repeatable commands you can script and share:
winget search git # find a package
winget install Git.Git # install by ID
winget list # what's installed
winget upgrade --all # update everything at once
winget uninstall <id> # remove a package
A clean way to reproduce a setup on a new machine is to install your core toolchain in one line:
winget install Microsoft.PowerShell Microsoft.WindowsTerminal Git.Git Microsoft.VisualStudioCode
winget can also export your installed apps to a JSON manifest
(winget export -o apps.json) and import them on another PC
(winget import -i apps.json) — a lightweight way to rebuild a machine without a full config
framework.
5. Enable long paths
Windows historically capped file paths at 260 characters (MAX_PATH). Deep dependency trees —
node_modules is the classic offender — routinely blow past that and produce cryptic
"path too long" build and Git errors. Since Windows 10 version 1607 you can lift the limit, but apps must opt
in — as Microsoft's Maximum Path Length Limitation
reference explains — so the switch is off by default.
On Windows 11 Pro, Enterprise or Education, use Group Policy:
- Press Win + R, type
gpedit.msc, press Enter. - Go to Computer Configuration > Administrative Templates > System > Filesystem.
- Open Enable Win32 long paths, set it to Enabled, and click OK.
- Restart the PC.
On Windows 11 Home (no Group Policy Editor), set the registry value directly in an elevated PowerShell:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWord -Force
Reboot afterwards. Tell Git to respect long paths as well:
git config --system core.longpaths true
6. Dev Drive — a faster ReFS volume for your code
A Dev Drive is a storage volume formatted with Microsoft's ReFS file system and tuned for developer workloads. Its headline advantage is a Microsoft Defender performance mode: on a trusted Dev Drive, antivirus scanning runs asynchronously rather than blocking every file operation, which meaningfully cuts build and package-restore times without simply switching protection off. On Windows 11 24H2 and Windows Server 2025, ReFS block cloning also makes large file copies nearly free.
Requirements (per the Dev Drive documentation on Microsoft Learn): Windows 11 build 10.0.22621.2338 or later, a minimum of 50 GB free space, local administrator rights, and ideally 16 GB of memory (8 GB minimum, since ReFS uses a little more RAM than NTFS). Dev Drive is available on all Windows 11 editions.
To create one through Settings:
- Open Settings > System > Storage > Advanced storage settings > Disks & volumes.
- Select Create dev drive.
- Choose how to allocate it — a new virtual hard disk (VHD/VHDX), by resizing an existing volume, or from unallocated space — then set the label, drive letter and size (50 GB or more).
Prefer the command line? From an elevated PowerShell you can format an existing empty volume as a Dev Drive:
Format-Volume -DriveLetter D -DevDrive
Check and manage its trusted status with fsutil:
fsutil devdrv query D: # is it a trusted Dev Drive?
fsutil devdrv trust D: # (re)designate as trusted
What to put on it: source repositories, package caches and build output. You can point your package managers at the drive, for example an npm cache:
setx /M npm_config_cache D:\packages\npm
Similar environment variables exist for NuGet (NUGET_PACKAGES), pip
(PIP_CACHE_DIR), Cargo (CARGO_HOME) and others.
Formatting a volume as a Dev Drive erases whatever is on it; an existing drive cannot be converted in place. The C: drive cannot be a Dev Drive, and Microsoft recommends keeping Visual Studio, SDKs and other applications on C: rather than installing them onto the Dev Drive. A Dev Drive also can't live on a removable/USB disk.
7. Sudo for Windows
Sudo for Windows lets you run a single command with elevation straight from your current terminal, instead of opening a separate administrator window. It is available in Windows 11 version 24H2 and later, per Microsoft's Sudo for Windows documentation. Enable it in Settings:
- Open Settings > System > For developers on Windows 11 version 24H2; in version 25H2 and later these settings moved to Settings > System > Advanced (the page formerly named "For developers").
- Turn Enable sudo to On.
It offers three configuration modes, which you can also set from the command line:
- In a new window (
forceNewWindow) — the default; runs the command in a new elevated window. - Input closed (
disableInput) — runs elevated in the current window but with the input handle closed. - Inline (
normal) — closest to Linuxsudo; runs elevated in the current window and can accept input.
sudo config --enable normal # switch to inline mode
sudo winget upgrade --all # run one command elevated
Microsoft notes that Sudo — particularly the inline mode — can be a privilege-escalation vector, because an elevated process shares a window with unelevated ones. If you don't specifically need inline behaviour, leave it on the default new-window mode, and don't enable Sudo at all on a machine you don't trust.
8. Git and SSH basics
Install Git with winget (it also gives you Git Bash and the credential manager):
winget install Git.Git
Set your identity once, globally:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
Windows 11 includes the OpenSSH client, so you can generate a modern Ed25519 key without installing anything extra:
ssh-keygen -t ed25519 -C "you@example.com"
Press Enter to accept the default location (%USERPROFILE%\.ssh\id_ed25519) and set a
passphrase. Then start the agent, add your key, and copy the public key to your clipboard to paste
into GitHub, GitLab or Azure DevOps:
# Enable and start the ssh-agent service (run elevated once)
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard
Share only the .pub file. The matching private key (no extension) must never be uploaded,
emailed or committed to a repository — treat it like a password.
Putting it together
A sensible order on a fresh install: install Windows Terminal and PowerShell 7, run
wsl --install, enable long paths, create a Dev Drive and move your repos and caches onto it,
turn on Sudo if you want terminal elevation, and finish with Git plus an SSH key. Leave Developer Mode off
unless something asks for it. That gives you a fast, scriptable, reproducible Windows 11 workstation without
weakening security more than necessary.
Frequently asked
Do I need Windows 11 Pro to set up a developer environment?
No. Developer Mode, Windows Terminal, winget, WSL2, Dev Drive and Sudo for Windows all work on Windows 11 Home. The main things Home lacks are the Local Group Policy Editor and Hyper-V's management tools, so on Home you enable long paths through the registry instead of Group Policy. WSL2 still runs on Home because it uses the lightweight virtual machine platform rather than the full Hyper-V role.
Is Developer Mode required for everyday development?
Not usually. Developer Mode mainly enables sideloading of unsigned apps, easier device portal and remote debugging, and symbolic links without elevation. Most web, cloud and cross-platform work does not need it, so leave it off unless a tool or SDK specifically asks for it. You can install Windows Terminal, WSL2, winget and a Dev Drive without turning Developer Mode on.
Should I put my source code on a Dev Drive?
Yes, that is exactly what a Dev Drive is for: source repositories, package caches and build output. It uses the ReFS file system and a Microsoft Defender performance mode that reduces scanning overhead on trusted volumes, which speeds up builds. Keep your operating system, Visual Studio and SDKs on the C: drive, since the C: drive cannot be a Dev Drive and installing applications on a Dev Drive is not recommended.
What is the difference between Windows PowerShell and PowerShell 7?
Windows PowerShell 5.1 ships in the box and is built on the older .NET Framework. PowerShell 7 is the cross-platform, open-source successor built on modern .NET; it installs alongside 5.1 as a separate app named pwsh, so both stay available. For new scripting work, install PowerShell 7 with winget and set it as your default profile in Windows Terminal.
Browse all how-to guides for more Windows 11 walkthroughs, or explore the windows-now.com archive of restored community posts. You may also like our guides to Windows 11 Home vs Pro and Storage Spaces on Windows 11.