Troubleshooting
What to check when a run stops, fails verification or will not start.
Overview#
| Symptom | Fix |
|---|---|
| missing Jev API key | Set TYPESAFE_API_KEY (see Fast path: Jev API key). Offline: --provider keyword. |
| Browser does not launch | Run doctor; it reports the channel it tried and falls back to bundled Chromium. Install Chrome or run npx playwright install chromium. |
| unsupported capability | The backend does not advertise that operation (for example tab borrowing without the extension). This is intentional, not a bug to work around. |
| Run stops at a credential step | Expected: secret fields never reach the model and are never typed; a person completes them (or --no-human stops cleanly). Use --yes only for approval-required actions, never for secrets. |
| The run asks what to type, or hands a step over | The goal has no reusable value for that field. Answer the prompt, quote the value in the goal, or configure a text provider (MLOLA_TEXT_*). Exploratory goals always ask by design. |
| Costs are higher than expected | Check planner calls and fast-path share in the trace summary. Escalation is capped at two per run; --llm none disables the stronger model entirely so you can measure the fast path. |
| stop-before triggered | The goal asked to stop at that boundary; the run completes with "stopped at the requested boundary". |
| Daemon unreachable | mlola browser daemon status, then stop/start. Stale state files are cleared on stop. |
| npm install cannot find the package right after a release | The registry serves a new package through a CDN; the packument can 404 for a few minutes. Retry; dist-tags and tarballs are already live. |