Files

273 lines
7.3 KiB
Markdown
Raw Permalink Normal View History

# Windows Troubleshooting Guide
OpenDesign runs on Windows natively, but the path is less travelled than macOS, Linux, or WSL2. This guide covers the most common errors you will hit on a fresh Windows machine and the exact fix for each.
> **Tip:** If your coding-agent CLIs run inside WSL2, use the dedicated [`WSL2 setup guide`](wsl-setup.md). This guide is for native Windows (PowerShell).
---
## Installing the desktop app: "Windows protected your PC"
### Symptom
When you run the downloaded installer (for example `open-design-0.11.0-win-x64-setup.exe`), a blue Windows Defender SmartScreen dialog appears:
```text
Windows protected your PC
Microsoft Defender SmartScreen prevented an unrecognized app from starting.
App: open-design-x.y.z-win-x64-setup.exe
Publisher: Unknown publisher
```
The first dialog only shows a **Don't run** button. The **Run anyway** button is hidden until you click **More info**.
### Why this happens
This is expected and does not mean the app is unsafe or broken. SmartScreen warns about any installer that is not signed with a code-signing certificate it already recognizes. OpenDesign ships unsigned Windows builds today, so the installer reports `Publisher: Unknown publisher` and SmartScreen flags it until a given signed binary builds up download reputation. The warning is about verifying who published the file, not about detecting a threat.
### Fix
If you downloaded the installer from an official source, you can proceed:
1. Click **More info** in the dialog.
2. Click **Run anyway**.
3. Continue through the installer as normal.
### Verify the download first
Only run the installer if you got it from an official source:
- [open-design.ai](https://open-design.ai/), or
- [GitHub Releases](https://github.com/nexu-io/open-design/releases) on the `nexu-io/open-design` repository.
Do not run an installer from a mirror, a re-upload, or a link you cannot trace back to one of those two sources. If a release publishes a SHA-256 checksum, you can confirm the file is intact before running it:
```powershell
Get-FileHash .\open-design-x.y.z-win-x64-setup.exe -Algorithm SHA256
```
Compare the printed hash against the checksum listed on the release page. They must match exactly.
---
## Prerequisites
| Tool | Version | How to verify |
|---|---|---|
| Node.js | `~24` | `node -v` |
| pnpm | `10.33.x` | `pnpm -v` |
| Git | any recent | `git --version` |
---
## 1. Node 24 installation
### Symptom
`node -v` returns something older than `v24.x.x`, or you do not have Node installed at all.
### Fix
**Option A — nvm-windows (recommended)**
1. Install [nvm-windows](https://github.com/coreybutler/nvm-windows/releases).
2. In a fresh PowerShell window:
```powershell
nvm install 24
nvm use 24
node -v # should print v24.x.x
```
**Option B — Official installer**
Download and run the Node 24 `.msi` from [nodejs.org](https://nodejs.org/).
### Common nvm-windows gotcha
If running `nvm version` or `node -v` pops up a Windows dialog that asks *"How do you want to open this file?"*, a fake `nvm` file (no extension) has been created in `C:\Windows\System32`.
**Fix:** Delete that file, then restart PowerShell.
---
## 2. pnpm not found
### Symptom
```text
pnpm : The term 'pnpm' is not recognized as the name of a cmdlet...
```
### Fix (npm global — Windows native)
The repo pins `pnpm@10.33.2` in `packageManager`, but `corepack enable` on a
normal Windows Node installation tries to write shims under
`C:\Program Files\nodejs` and fails with `EPERM`. Install the pinned pnpm
version globally instead:
```powershell
npm install -g pnpm@10.33.2
pnpm -v # should print 10.33.2
```
Use Corepack in macOS, Linux, and WSL2 as documented in the root Quickstart;
do not treat a Windows-native `corepack enable` permission failure as a broken
Node installation.
---
## 3. Build scripts blocked
### Symptom
During `pnpm install` you see:
```text
Ignored build scripts: better-sqlite3, ...
```
Later, `pnpm tools-dev run web` fails with native-module errors.
### Fix
pnpm 10 blocks lifecycle scripts by default. Allow the packages that need native compilation:
```powershell
pnpm approve-builds
```
Approve any packages that appear in the list (commonly `better-sqlite3`, `electron`, and `esbuild`). Then re-run:
```powershell
pnpm install
```
> **Expected on Windows native:** `better-sqlite3` does not publish a win32
> prebuilt binary for Node 24, so `pnpm install` compiles it from source with
> node-gyp (often around two minutes). Install Visual Studio Build Tools 2022
> or newer as described in step 4 *before* running `pnpm install`. Compilation
> output by itself is not a Node-version incompatibility.
---
## 4. Visual Studio / `gyp` build errors
### Symptom
```text
gyp ERR! find VS could not find Visual Studio
```
or
```text
error MSB8036: The Windows SDK version was not found
```
### Fix
Install **Build Tools for Visual Studio 2022** with the following workloads:
- **Desktop development with C++**
- **MSVC v143 - VS 2022 C++ x64/x86 build tools**
- **Windows 11 SDK** (or Windows 10 SDK if you are on Windows 10)
Download: [https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
If you see `gyp ERR! find Python`, verify Python is installed:
```powershell
python --version # or py --version
```
If missing, install Python 3.x from [python.org](https://www.python.org/downloads/) and ensure it's on PATH.
After installing all build tools, open a **fresh** PowerShell window and re-run `pnpm install`.
---
## 5. PowerShell execution policy
### Symptom
```text
cannot be loaded because running scripts is disabled on this system.
```
### Fix
On fresh Windows installs, PowerShell blocks script execution by default:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
Restart PowerShell after changing the policy.
---
## 6. Start the dev server
### Symptom
You have completed the steps above but are not sure how to launch the app.
### Fix
From the repository root:
```powershell
pnpm tools-dev run web
```
Expected output ends with something like:
```text
OpenDesign dev server ready
- Local: http://localhost:17573
```
The exact port may change; always read the terminal output.
---
## Quick diagnostic checklist
Run these commands in PowerShell before opening an issue. Include the output in your report.
```powershell
node -v
pnpm -v
where.exe pnpm
where.exe node
where.exe opencode
corepack --version
python --version # or py --version
Get-ExecutionPolicy -List
```
2026-05-13 14:16:42 +05:30
## 7. Optional: quick launcher
If you want a double-click entry point on Windows, create a `launch.bat` file in the repo root with:
```bat
@echo off
cd /d %~dp0
corepack pnpm tools-dev run web
```
That keeps the launcher on the supported `pnpm tools-dev run web` path while still giving you a one-click start.
---
## Optional: OpenCode agent CLI on Windows
OpenCode is one of the local agent CLIs OpenDesign can drive. If you want to use it:
```powershell
npm install -g opencode-ai
where.exe opencode # should show C:\Users\YOUR_USERNAME\AppData\Roaming\npm\opencode.cmd
opencode --version
```
If OpenDesign still shows OpenCode as *not installed* in **Models & providers → Local CLI**, click **Rescan** after confirming the `opencode.cmd` directory is on your user `PATH`.