Repository navigation
EN Install Troubleshooting
Français · Type: troubleshooting · Audience: author, contributor · Context: engine repository, created project · Status: ready · Applies from: 4.3.0
What goes wrong while installing the engine, creating a project or checking a machine, from what you see to the fix. Each section says where it happens: in a created project or in the engine repository.
Symptom. In a created project, npx quest-n-click doctor prints no report and stops with:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'playwright' imported from …/node_modules/quest-n-click/tools/doctor.ts
Cause. doctor imports Playwright to locate the browsers. The engine package leaves Playwright out of its
dependencies (scripts/pack.mjs: tests and Playwright stay out), so a created project never has it. Observed on
23 Oct 2026 with a project created from the v4.4.0 archive; main has the same code. Your project is not broken:
nothing else in it uses Playwright.
Fix. Either give doctor what it imports, or check the prerequisites by hand.
-
In the created project, install Playwright as a development dependency, at the engine repository's range:
# in the created project npm install --save-dev playwright@^1.64.1
-
doctorrequires Chromium, though a created project never opens it. If it says✖ Playwright Chromium: browser binary missing, install it:# in the created project npx playwright install chromium
-
Run
doctoragain:# in the created project npx quest-n-click doctorIt ends with
Development, asset and browser-test prerequisites are ready., or names what is missing.
-
Or, instead of steps 1 to 3, check by hand what a created project needs:
# in the created project node --version # v22.12.0 or newer (22.13 for the local Studio) python3 -c "import PIL, numpy, scipy" # no output: the art tools will run ffmpeg -version # only if the game has sounds or videos
Limit ·
doctor-created-project-workaroundThe workaround adds Playwright, and a browser ifdoctorasks for one, to a project that does not otherwise use them. Remove them afterwards withnpm uninstall playwrightandnpx playwright uninstall --allif you prefer.
Symptom. npm error 404 Not Found - GET https://registry.npmjs.org/quest-n-click - Not found, at npm install in
a created project, or at npx create-quest-n-click.
Cause. The engine is not on npm (checked on 23 Oct 2026). A project created without --engine=<archive URL>
depends on ^<version>, which npm looks up in the registry.
Fix. In the created project, install the archive: npm install https://github.com/wanoo/quest-n-click/releases/download/v<version>/quest-n-click-<version>.tgz. For a new project,
pass --engine=$T: Install from the release archive.
Symptom. npm warn EBADENGINE Unsupported engine at install, then errors from Vite or the tools; or, from 4.2.1,
the local Studio or a writing tool (ids, i18n, voices, import-layout, provenance) stops on node:sqlite.
Cause. The engine needs Node 22.12; the Studio and the writing tools need 22.13, where node:sqlite is available
without a flag. doctor does not catch this: it checks only the major version.
Fix. Install Node 22.13 or newer (nvm install 22), then node --version.
Symptom. npm run assets or tools/cut-sheet.py stops on ModuleNotFoundError: No module named 'PIL' (or
numpy, scipy); doctor says ○ Python image modules: Pillow, NumPy and/or SciPy missing (optional).
Cause. The modules are not installed for the python3 the tools run.
Fix. In the engine repository, python3 -m pip install -r requirements.txt; in a created project,
python3 -m pip install -r node_modules/quest-n-click/requirements.txt. If pip answers
error: externally-managed-environment (a system Python, PEP 668), create a virtual environment first
(python3 -m venv .venv && . .venv/bin/activate); in a created project, PYTHON=.venv/bin/python npm run assets then
uses it.
Symptom. ✖ Playwright Chromium: browser binary missing, then 1 prerequisite missing., exit code 1.
Cause. In the engine repository, npx playwright install chromium was not run (or ran for another Playwright
version, after a dependency update).
Fix. In the engine repository, npx playwright install chromium. A missing Firefox or WebKit is optional (○)
and does not fail doctor.
Symptom. doctor shows ○ ffmpeg: not found (optional); npm run assets stops when it reaches a sound or a
video.
Cause. assets converts music, sound effects and videos with ffmpeg.
Fix. Install ffmpeg (brew install ffmpeg, or your system's package). npm run doctor -- --release requires it.
Symptom. my-game exists and is not empty.
Cause. create never writes into a folder that holds files.
Fix. Give another folder name, or empty that one.
Symptom. After installing 4.3.0 or later, the game does not build: an import of web-scumm/content (or another
web-scumm/…) is not found; npx web-scumm is not a command.
Cause. The former name's aliases were removed in 4.3.0.
Fix. In the created project, npx quest-n-click migrate, then npm install:
Coming from web-scumm.
Symptom. mdpipe: install Furnace 0.6.8.3 yourself on Windows and put its executable in ….
Cause. The pipeline downloads Furnace on macOS and Linux only.
Fix. Install Furnace 0.6.8.3 yourself, then put its executable in tools/audio/.furnace/ or name it with
FURNACE_BIN: Audio toolchain.
- The Reality Bridge has its own
doctor(npx quest-n-click-bridge doctor), about its journal and store, not about your machine: Bridge and connector troubleshooting. - A game that installs but does not play as expected: Player troubleshooting.
- A deployment that fails: Deployment issues; a hosted Studio: Clever troubleshooting.
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.4.0 r1, documentation revision · révision de la documentation 8dc717c69acb62c4742b69c54a7e7dfb620f75d8.
Earlier versions and permalinks · versions précédentes et liens permanents: https://wanoo.github.io/quest-n-click/docs/
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Start (6)
Play (9)
Install (17)
- Requirements
- Install from the release archive
- Install from npm, once published
- Install from the repository to work on the engine
- doctor: checking your machine
- Image toolchain
- Audio toolchain: ffmpeg, fluidsynth, Furnace, uv
- Upgrade
- Upgrade notes: 4.4
- Upgrade notes: 4.3
- Upgrade notes: 4.2
- Upgrade notes: 4.1
- Upgrade notes: v3
- Upgrade notes: v2 to v3
- Coming from web-scumm
- Package reference
- Install troubleshooting
Create a game (55)
- Your first game
- Layout of a created project and of the engine repository
- The working loop
- Content principles and the identity contract
- Rooms
- Geometry: placement, walk zones, masks, layers, camera
- Something is visible but unreachable
- Reactions
- Game commands
- Conditions
- Flags, variables and events: which to use
- Custom code
- Characters
- Items and inventory
- World map
- Dialogues
- Scripts and events
- Moving characters: patrols and walks
- Exits
- Chapters and objectives
- State and saves: persistent or temporary, renaming an id, migrations
- Staging: wide rooms and animations
- The stage: lights, particles, floors
- Skin and fonts
- Title and credits
- Heroes: several characters and hero choice
- Built-in minigames
- A custom minigame
- Translations
- Music in stems
- Sound effects
- Voices: per language and per hero
- Images: prompts, cutting sheets, transparency, scale
- Asset provenance
- The storyboard, source of truth
- Puzzle design
- Classic mechanics
- Review pages
- DSL reference
- Checking your game
- What the solver proves
- Solver options
- Playtests
- Remix
- Speedrun for authors
- The sealed ending
- Production template
- Example games
- Working with an AI
- Build and release a game
- Publish on GitHub Pages
- The static game on Clever Cloud
- Other static hosts
- Sub-path, cache and service worker, incomplete deploys, going back
- Testing on a phone over the LAN
Local Studio (24)
- The local Studio: overview and launch
- Edit a room
- Placement and stage
- Preview, apply, undo
- Storyboard
- Assets and cutting
- Check: validator, solver, critical path, heat, health, coverage
- Before and after captures
- Semantic diff
- Play and replay a session
- Rule explainer
- Language and objectives
- Voices and the heroes × languages matrix
- Map
- Notes
- Remix in the Studio
- Music
- The Assistant: bring your own key
- Demo mode and studio-apply
- Local and LAN security
- Studio API
- Local MCP: setting up each client
- MCP tools
- Studio troubleshooting
Team Studio (21)
- What runs where
- Concepts: revision, transaction, span, lease, preview, build
- Starting as an invited dev
- Working together day to day
- Roles and actions: the full matrix
- Invitations
- Managing members
- Write refused on the hosted Studio: stale base revision (409)
- Write refused on the hosted Studio: span locked (423)
- Recovering after a lost lease, a disconnection or a stale preview
- Comments
- Map and semantic diff
- Publishing builds
- Remote MCP
- The game in Git
- Upgrading the engine of a hosted game
- Hosted assets
- The server's command line
- Health and metrics routes
- Trying it locally with compose.yml
- Known limits
Clever Cloud (23)
- Clever Cloud: overview, cost and prerequisites
- Apps and add-ons
- Domains and TLS
- Keycloak
- Generic OIDC and GitLab
- Configuration
- First deployment
- Backups
- RPO and RTO
- Restore the Studio on a fresh installation
- Redeploys
- Upgrading the server and checking state after a migration
- Limits of going back
- Monitoring
- Security
- Rotating keys
- Recovering admin access
- Changing domain or OIDC provider
- Worker, PostgreSQL or Cellar down
- Exporting the game and leaving the installation
- Retention
- Clever Cloud troubleshooting
- Costs and teardown
Reality Bridge and connectors (16)
- The Reality Bridge: what it is
- Quick start
- Guarantees
- Install and run the Bridge
- Backup and restore
- Several tenants
- Signals and the manifest
- The Bridge's command line
- Connectors overview
- Email connector
- Telnet connector
- SSH connector
- Open Badges connector
- The connector SDK
- Security: Biscuit and signatures
- Bridge and connector troubleshooting
Contribute (25)
- Welcome
- Developer setup
- The dev loop
- Before a pull request
- Conventions
- Writing documentation
- Architecture
- Code tour
- Import boundaries
- Which tests run when
- Mutation testing
- The coverage ratchet
- The quality baseline
- CI explained
- Field passes
- Benchmarks
- Releasing
- npm packages
- Decisions and ADRs
- Governance
- Bot pull requests
- Contributing with AI agents
- Security policy
- Code of conduct
- Licences and credits