Running

Troubleshooting

A cached scenario keeps failing and the recording looks wrong (an empty value where the step passes one, a click on the wrong control). Do not edit the JSON. Re-record it:

npx saffron run --rerecord --filter @tag      # or a feature path

--rerecord discards the selected scenarios' caches and lets the agent record them fresh, seeded from every other recording, then files a proposal for review as usual. Two guards make this rarer: the recorder flags a fill recorded with an empty value on a step that passes one (the proposal arrives UNVERIFIED with the reason), and saffron accept --all skips UNVERIFIED proposals unless you pass --include-unverified or accept that file explicitly.

Symptom Cause & fix
Cache is stale (feature file changed) Step text no longer matches the recording. With the agent on, it re-records automatically; review the new proposal.
Red with --no-agent on a new scenario No cache exists. Run once with the agent to record.
Scenario heals on every run Something volatile is baked into the cache (a literal price/date). Reject, re-record, the agent's rules now capture/pattern these, or hand-edit the cache JSON (it's yours).
Agent invocation failed: … maximum number of turns Very long scenario. Raise maxTurns in config.
Login wall in every scenario Configure storageState (§8).
First run seems slow That's recording (minutes per scenario). Replays are seconds. Record once, replay forever.