* chore: add Windows helpers to run OmniRoute and Claude Code from a source checkout Adds contrib/windows/ with two double-clickable scripts for Windows users who cloned the repo instead of installing the npm package: - start-omniroute.bat -> npm run dev (resolves the repo root from its own path) - launch-claude.bat -> node bin/omniroute.mjs launch, forwarding extra args The README documents a fresh-clone gotcha on Windows with npm >= 11: the optional better-sqlite3 dependency is silently skipped, the server falls back to node:sqlite and logs "Module not found: Can't resolve 'better-sqlite3'". Since better-sqlite3@13 ships win32-x64 prebuilds inside the package, extracting the npm pack into node_modules fixes it without a compiler. Verified on Windows 11, Node 24.14.0, npm 11.6.1. * chore(contrib): start Claude Code in the project folder, not the OmniRoute checkout launch-claude.bat used to cd into the repo root before exec'ing `omniroute launch`, so Claude Code always started inside the OmniRoute checkout and loaded this repo's CLAUDE.md/AGENTS.md (~60k chars) into the user's own coding session. Take the project folder as the first argument (or prompt for it on double-click) and resolve bin/omniroute.mjs from the script's own path instead. Remaining args are still forwarded to `omniroute launch`.
Windows helpers — run OmniRoute from a source checkout
Two double-clickable .bat files for Windows users who cloned the repo instead of
installing the npm package. Both resolve the repo root from their own location, so they
work from any checkout path.
| File | What it does |
|---|---|
start-omniroute.bat |
npm run dev — dev server + dashboard on http://localhost:20128 |
launch-claude.bat |
node bin\omniroute.mjs launch — opens Claude Code pointed at the local OmniRoute |
Usage:
npm installonce (see the note below if you are on npm ≥ 11).- Double-click
start-omniroute.batand wait fordev server listening on http://0.0.0.0:20128. - Open the dashboard, connect a provider, copy an API key from Endpoints.
- Double-click
launch-claude.bat. Extra arguments are forwarded, e.g.launch-claude.bat --profile glm52afternode bin\omniroute.mjs setup-claude.
npm ≥ 11 skips better-sqlite3 on Windows
better-sqlite3 is an optionalDependency. npm 11 blocks install scripts of optional
dependencies by default, so on a fresh clone node_modules/better-sqlite3/ may simply not
exist. The server still boots (it falls back to node:sqlite, which Node marks
experimental), but npm run dev logs Module not found: Can't resolve 'better-sqlite3'
and [DB] Driver: node:sqlite.
Since better-sqlite3@13 ships prebuilt binaries inside the package
(prebuilds/win32-x64.node), no compiler is needed — just put the package in place:
cd node_modules
npm pack better-sqlite3@13.0.3
tar -xzf better-sqlite3-13.0.3.tgz
Remove-Item -Recurse -Force better-sqlite3 -ErrorAction SilentlyContinue
Rename-Item package better-sqlite3
Remove-Item better-sqlite3-13.0.3.tgz
Restart the server; the log should now read [DB] Driver: better-sqlite3.
If you do need to compile a native addon and
pythonresolves to the Microsoft Store build,node-gypfails withcommon.gypi not foundeven after downloading headers — the Store Python sandboxes%LOCALAPPDATA%. Pass--devdirpointing outsideAppData\Local(or install python.org Python).