Local Setup Overview
To develop Shopify themes on your computer, you need three tools installed and verified before anything else: Node.js (includes npm), Git, and Shopify CLI. This page walks through checking what you already have, installing anything missing on Windows, and confirming your environment is ready.
Open PowerShell or Windows Terminal as a normal user (Administrator only if a package manager asks for it). Run each verification command in order — do not skip straight to Shopify CLI if Node or Git is missing.
Step 1 — Check if Node.js is Installed
Node.js runs Shopify CLI and powers the theme dev server. npm (Node Package Manager) ships with Node and is how you install Shopify CLI globally.
node -v
npm -vIf both commands print version numbers, Node is installed. Write down what you see — you will compare against the expected versions at the end of this page.
If you see 'command not found' or 'not recognized', Node is not installed or not on your PATH. Install it using one of the methods below, then restart your terminal completely before running node -v again.
Install Node.js (Windows)
Pick one package manager. Chocolatey requires Chocolatey itself to be installed first (chocolatey.org). Winget ships with Windows 10/11 and is the simplest option for most developers.
# Option A — Chocolatey
choco install nodejs-lts -y
# Option B — Winget (recommended on Windows)
winget install OpenJS.NodeJS.LTS- Close and reopen your terminal after installation — PATH updates only apply to new sessions
- Run node -v and npm -v again to confirm
- If versions still do not appear, reboot Windows once
Step 2 — Install Git
Git tracks theme file changes locally and lets you collaborate with teams. Shopify CLI works without Git, but every professional theme workflow uses it.
winget install Git.Git
# Verify
git --versionAfter install, restart the terminal. You should see something like git version 2.x.x. Configure your name and email once: git config --global user.name "Your Name" and git config --global user.email "you@example.com".
Step 3 — Install Shopify CLI
Shopify CLI is installed globally through npm. Use @latest so you always get the current 3.x release with theme commands built in.
npm install -g @shopify/cli@latest
# Verify
shopify versionIf npm reports permission errors on Windows, close the terminal, reopen as Administrator, and retry. Alternatively, fix npm's global directory permissions rather than using sudo-style workarounds on every install.
Step 4 — Log In to Shopify
Before pulling or developing a theme, authenticate CLI with your Partner account or store staff login. This opens your browser for OAuth — complete the login there, then return to the terminal.
shopify auth loginTo target a specific store immediately: shopify auth login --store your-store.myshopify.com. Run shopify whoami anytime to confirm which account is active.
Step 5 — Clone an Existing Theme
If the store already has a theme (Dawn, a custom build, or a client theme), pull it to your machine instead of starting from scratch.
# Download theme files from a store
shopify theme pull --store your-store.myshopify.com
# Pull a specific theme by ID (from shopify theme list)
shopify theme pull --store your-store.myshopify.com --theme 123456789012This creates a folder with assets/, sections/, snippets/, templates/, and config/ — the full Online Store 2.0 structure. cd into that folder before running theme dev.
Step 6 — Run the Local Development Server
shopify theme dev uploads your local files to a hidden development theme and gives you a preview URL with hot reload. Leave this command running in a terminal tab while you edit in VS Code.
shopify theme dev --store your-store.myshopify.comWhen theme dev is running you get:
- Hot reload — CSS and section changes refresh the browser automatically
- A local preview URL — test cart, product pages, and Liquid output with real store data
- Full VS Code editing — install the Shopify Liquid extension for syntax highlighting
- Custom Liquid development — every .liquid file you save syncs to the dev theme within seconds
Step 7 — Push Changes Back to Shopify
When you are ready to upload local changes, use theme push. Never push directly to the live theme without testing on a development or unpublished theme first.
# Push to current directory's linked theme
shopify theme push --store your-store.myshopify.com
# Safer: push to a new unpublished staging theme
shopify theme push --store your-store.myshopify.com --unpublished --theme "Staging"My Typical Setup — Verification Checklist
After completing installation, run all four commands in one terminal session. Compare your output to the expected ranges below.
node -v
npm -v
git --version
shopify version- Node v22.x (or latest LTS) — e.g. v22.14.0
- npm 10.x or higher — e.g. 10.9.2
- Git 2.x or higher — e.g. git version 2.47.0
- Shopify CLI 3.x or higher — e.g. 3.84.0
Fixing Node Version Conflicts with NVM (Windows)
If you previously installed Node and get build errors, permission issues, or version conflicts with Shopify CLI, use NVM for Windows to manage multiple Node versions side by side. Node 22 LTS is currently the safest choice for Shopify theme development and custom Liquid themes.
# Install NVM for Windows
winget install CoreyButler.NVMforWindows
# Restart terminal, then:
nvm install 22
nvm use 22
node -v- nvm install 22 downloads and installs Node 22 LTS
- nvm use 22 activates it for the current terminal session
- Re-run npm install -g @shopify/cli@latest after switching Node versions
- Run shopify version to confirm CLI still works on the new Node version
macOS & Linux (Quick Reference)
# macOS — Node via Homebrew
brew install node
# macOS — Shopify CLI
brew tap shopify/shopify
brew install shopify-cli
# Linux / macOS — Node via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22
nvm use 22