08-tooling

windows terminal claude code setup mac transition

2026-05-28·tooling·status: active
windowswsl2terminalclaude-codedev-environmentmac-transition

Windows dev-terminal + Claude Code setup (for a decade-on-Mac person)

Context: founder is moving from ~10yr on macOS to a Windows daily-driver workstation and wants the terminal + Claude Code to feel like home. Asked Git Bash vs WSL (2026-05-28). Verdict: WSL2 (Ubuntu) + Windows Terminal — not Git Bash. The always-on COO agent stays on the Mac Mini; this is purely the founder's Windows workstation.

Verdict: WSL2, not Git Bash

WSL2 (Ubuntu) Git Bash
What it is A real Linux kernel running Ubuntu under Windows A thin bash/MSYS2 shim over Windows
Feels like Mac? Yes — zsh, apt, GNU coreutils, real paths/permissions/symlinks Partial — bash + git only, lots missing
Package manager apt (or Linuxbrew for literal brew) none
Path model clean POSIX /home/... quirky /c/Users/...C:\ translation
Claude Code runs native + cleanest (Anthropic's documented Windows path) rough edges (shell detection, paths, some features)
Dotfiles transfer copy .zshrc etc. straight over partial

For someone with a decade of Mac/Unix muscle memory, WSL2 reproduces the environment almost exactly. Git Bash is fine for occasional git-from-Windows but not for a full dev environment or serious Claude Code use.

Setup stack (in order)

  1. Install WSL2 + Ubuntu — open PowerShell as Administrator:

    wsl --install
    

    This enables WSL2 and installs Ubuntu by default. Reboot when prompted, then set a Linux username/password on first Ubuntu launch.

  2. Windows Terminal as the terminal app (preinstalled on Win11; else Microsoft Store). Settings → set the Ubuntu profile as default. This is the iTerm2/Terminal.app equivalent — tabs, splits, profiles, themes.

  3. Replicate the Mac shell — inside Ubuntu:

    sudo apt update && sudo apt install -y zsh git curl
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    chsh -s $(which zsh)     # make zsh the default shell
    

    Then copy your Mac ~/.zshrc, aliases, and dotfiles over (paste them in, or clone your dotfiles repo). Muscle memory transfers intact.

  4. Install Claude Code INSIDE WSL (the Linux environment — NOT Windows-native). Use the same install you used on the Mac (curl installer or npm). It will behave exactly like the Mac Mini — same skills, same MCP, same paths.

  5. A Nerd Font for prompt glyphs (powerline/oh-my-zsh icons): install e.g. MesloLGS NF or JetBrainsMono Nerd Font on Windows, then set it as the Ubuntu profile font in Windows Terminal.

  6. VS Code + the WSL extension (Remote - WSL) — gives native code . from inside WSL, editing Linux files with full extension support. The Mac "code ." experience, intact.

The one gotcha that bites everyone

Keep your repos/projects on the WSL filesystem (~/ inside Ubuntu, i.e. \\wsl$\Ubuntu\home\<you>\), **NOT** on the Windows mount (/mnt/c/...). Cross-OS filesystem access is ~10x slower and causes line-ending + permission headaches. Clone and work entirely inside the Linux home dir. (You can still reach Windows files via /mnt/c/ when you need to, but don't live there.)

Mac muscle-memory → WSL translations

Mac WSL / Windows
Homebrew (brew install) apt install (or install Linuxbrew for literal brew)
open . (folder in Finder) explorer.exe .
pbcopy / pbpaste clip.exe / powershell.exe Get-Clipboard
Cmd-based shortcuts mostly Ctrl; Terminal copy/paste = Ctrl+Shift+C/V (configurable)
Terminal.app / iTerm2 Windows Terminal (Ubuntu profile)

Related