Ubuntu Dev Environment Setup on Windows (WSL)
It’s been hard for me to sit back and watch everyone dig into Claude Code without me. This weekend I took a little time to get it installed and it was a journey. Claude Code doesn’t run native on Windows so I had to do some WSL magic. I want to write about Claude Code, but not write now. Let’s just say I’m not going back to Cursor, VS Code, Windsurf or Aider… I’m team Claude Code, until the next shiny thing distracts my attention.
Any way Ubuntu isn’t my thing so this was harder than it should be. Good thing we have these super intelligent machines at our disposal. I asked my AI assistant George to write an install guide. Below is what I got. This wasn’t as straight forward as the guide lays it out, but it wasn’t too hard to go back and forth with George to get everything up and running.
I am basically running Claude Code in Cursor running in Ubuntu. Fun times.
This guide walks you through installing and configuring a full-featured development environment using WSL, Ubuntu, and essential development tools. You’ll be ready to develop locally with Docker, Claude Code, Azure, GitHub, and more.
1. Prerequisites
- Windows 10/11 with WSL enabled
- WSL2 installed (wsl –install in PowerShell)
- A Linux distribution (we used Ubuntu 24.04)
- Terminal: Windows Terminal
2. Setup Folder Structure
mkdir -p ~/projects
cd ~/projects
Keep all your development projects in this folder. Easy to back up, mount, and manage.
4. Git + GitHub CLI
sudo apt update
sudo apt install git gh -y
gh auth login
Use gh to clone, create, and manage GitHub repos easily.
5. Node.js (via nvm)
# Install NVM (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Load nvm into current shell session
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"
# Verify nvm is available
nvm –version
nvm install --lts
nvm use –lts
nvm alias default 'lts/*'
node -v
npm -v
3. Claude Code + Cursor Setup
Install Cursor (AI coding editor)
In WSL Ubuntu:
cd ~/projects
mkdir my-project && cd my-project
cursor .
Inside Cursor terminal, run:
npm install -g @anthropic-ai/claude-code
claude doctor
Inside Claude run:
/terminal-setup
/init
If Claude is stuck “Synthesizing” or “Offline”:
- Make sure Claude is signed in and internet is stable and you are working on a folder in Ubuntu not Windows
- Press Esc to cancel
- Restart Cursor and check Claude Code panel
6. .NET SDK
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install dotnet-sdk-8.0 -y
7. Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login --use-device-code
If login doesn’t open a browser, copy the code and paste it at: https://microsoft.com/devicelogin
8. Docker CLI
Install Docker Desktop for Windows with WSL integration enabled.
In Ubuntu:
docker version
docker context ls
Ensure your context is set to desktop-linux if needed:
bash
docker context use desktop-linux
If permission denied on /var/run/docker.sock:
sudo usermod -aG docker $USER
newgrp docker
9. Optional Dev Tools (Highly Recommended)
| Tool | Use Case | Install Command |
| make | Build automation | sudo apt install make |
| jq | JSON manipulation | sudo apt install jq |
| htop | Process monitor | sudo apt install htop |
| fzf | Fuzzy file finder | sudo apt install fzf |
| ripgrep | Fast file search (used by Claude) | sudo apt install ripgrep |
| tree | Directory visualizer | sudo apt install tree |
| redis-cli | Redis command-line | sudo apt install redis-tools |
| psql | PostgreSQL command-line | sudo apt install postgresql-client |
10. Azure Functions Core Tools
npm install -g azure-functions-core-tools@4 --unsafe-perm true
11. Terminal Enhancements
Oh My Zsh (already installed if you ran /terminal-setup)
To fix re-opening setup prompt:
rm ~/.zshrc.pre-oh-my-zsh
Add completions:
gh completion -s zsh >> ~/.zshrc
az completion >> ~/.zshrc
source ~/.zshrc
12. Sync Windows Projects to Ubuntu (Optional)
rsync -avh /mnt/c/Users/YourName/path/to/project/ ~/projects/
Final Checklist
| Area | Tools |
| AI Pairing | Claude Code + Cursor |
| Git Workflows | Git + GitHub CLI (gh) |
| Web Dev | Node.js, npm, nvm |
| C#/.NET | .NET SDK 8 |
| Cloud | Azure CLI + Functions Core |
| Containers | Docker + Desktop Integration |
| Data Access | PostgreSQL + Redis CLI |
| Dev Tooling | jq, htop, tree, ripgrep, fzf |
You’re done. You’ve got a complete AI-first, cloud-ready, full-stack dev environment right in your Ubuntu WSL.