When something goes wrong
The problems people actually hit, and what to do about them.
Start here
npx @wiluszdamian/cue doctor
It checks everything and gives you the exact command for each problem. Most of this page is just the longer explanation behind those lines.
A rule is blocking me and I think it is wrong
First, read the full reasoning:
npx @wiluszdamian/cue explain no-hard-waits
The message tells you what to write instead. If it genuinely does not fit your case, that is worth reporting — a rule that fires on correct code is a bug in the rule, and the fix belongs in the rule rather than in a workaround.
“No entry for …” when I look up an element
Cue has not seen that page yet.
npx @wiluszdamian/cue survey http://localhost:3000/the-page
This is working as intended. It would rather tell you it does not know than invent something that fails later and looks like a broken app.
The notes say “stale”
That page has not been confirmed in over a month.
npx @wiluszdamian/cue survey http://localhost:3000/that-page
The old note is not wrong, necessarily — but it has stopped being something to rely on without checking.
survey cannot reach my app
Check in order:
- Is the app running? Open the URL in a browser.
- Are the browsers installed?
npx playwright install - Is the CLI installed?
npx @playwright/cli --help
If the environment needs a VPN or credentials this machine does not have, capture a snapshot somewhere that does and pass it in:
npx @wiluszdamian/cue survey http://internal/login --from snapshot.txt
survey says the output is not a snapshot format it understands
survey reads the text that playwright-cli snapshot prints, and that text is
Microsoft’s format, not ours. A release that changes it is refused with an error
naming the CLI version, rather than turned into an empty or partial map. Nothing is
written.
- Check the version.
npx @playwright/cli --version. Cue is tested against the versions that have a directory underpackages/engine/test/snapshots/(today0.1.22). - Install a tested one:
npm install --save-dev @playwright/cli@0.1.22. - Or capture elsewhere and pass the text in with
--from <file>.
A page that parses but contains lines the parser did not understand is still
surveyed; the lines are listed under Gaps in the map so the loss is visible.
doctor says a tool version is outside the tested range
Cue uses tools it does not own: @playwright/cli to look at pages,
@playwright/test to run them, and @playwright/mcp for browser calls from an agent.
compatibility.yaml in the repository lists, for each, the range it claims to work
with and the version it was last run against.
cue doctor compares what is installed in your project with those ranges. A tool
outside its range is a warning, not an error: it may well work, and nothing here has
shown that it does. The warning carries the command that installs the version that was
tested, for example pnpm add -D @playwright/cli@0.1.22.
The MCP configuration init writes names exact versions too, and not @latest: ours is
the release that wrote the file, and Playwright MCP is the version that was tested. After
upgrading Cue, cue sync shows the diff that moves them.
The project checks the other direction weekly. The upstream workflow looks up the newest
release of each tool and fails, saying which one and what to do, when it has moved outside
its range. That is a prompt to run the suite against the new release and then widen the
range, or to hold it and say why.
init did not overwrite my file
By design. If you have edited a file Cue wrote, it leaves it alone and tells you.
To deliberately take the new version and lose your changes:
npx @wiluszdamian/cue init --force
It will show you what it is about to discard first.
Tests pass locally but fail in CI
Usually one of:
- Different data. CI may have a different database.
- Timing. CI machines are slower. If you are waiting properly, this should not matter — if it does, something is waiting on a timer somewhere.
- Missing environment variables. Check the secrets your workflow uses.
Start with the trace from the failed run, which the workflow uploads for you.
sync --check fails in CI
The rules moved and this project has not caught up.
npx @wiluszdamian/cue sync
It shows a diff before changing anything.