{
 "schema_version": 1,
 "generated": "2026-10-26",
 "id": "ying-kai-liao-jev-browser--stop-before-placing-an-order",
 "repo": "Ying-Kai-Liao/jev-browser",
 "repo_url": "https://github.com/Ying-Kai-Liao/jev-browser",
 "repo_slug": "ying-kai-liao-jev-browser",
 "title": "Stop a checkout before it places an order",
 "page_title": "How to stop a checkout before it places an order with Jev Browser",
 "summary": "Run a cart and checkout flow that pauses at any irreversible button until you approve it.",
 "who": "A shopper or small team member who wants an agent to prepare an order but not to submit it without a human check.",
 "problem": "An agent that clicks through checkout could place an order by mistake, and a plain script has no pause step.",
 "outcome": "The run stops with needs_confirmation and shows the pending action, so you can approve or cancel it.",
 "steps": [
  "Run `npx playwright install chromium` once.",
  "Run `claude mcp add jev-browser -e TYPESAFE_API_KEY=your-key -- npx -y -p jev-browser jev-browser-mcp` and replace your-key with your key.",
  "Ask Claude to call browser_do with the cart and checkout goal, without allow_irreversible.",
  "When the status is needs_confirmation, read the pending field and confirm with the user.",
  "Re-call browser_do with allow_irreversible set to true only if the user approves the order."
 ],
 "agent_prompt": "Use the jev-browser MCP server to run browser_do on <store-url> with the goal \"<checkout-goal>\". Stop when the status is needs_confirmation and return the pending action. Verify with the user before you re-call with allow_irreversible true.",
 "agents": [
  "claude-code"
 ],
 "difficulty": "Intermediate",
 "time": "45 minutes",
 "basis": "readme",
 "caveat": "The README reports that across about 200 rounds it flagged only the saucedemo Finish button, so it may not catch every irreversible action on other sites.",
 "category": "Work and operations",
 "tags": [
  "Work and operations"
 ],
 "lang": "javascript",
 "requirements": [
  "Node.js and npm",
  "A TypeSafe API key, or an OpenRouter API key",
  "Claude Code for the MCP route, or a source checkout of the repo for the read example"
 ],
 "risk": "dual-use",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "credentials",
   "notice": "A checkout run uses saved payment or login details, so run it only on accounts you control and review the pending action first."
  }
 ],
 "best": false,
 "score": 0.7,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/ying-kai-liao-jev-browser/stop-before-placing-an-order/",
 "md": "https://dedupedai.com/use-cases/ying-kai-liao-jev-browser/stop-before-placing-an-order/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/ying-kai-liao-jev-browser--stop-before-placing-an-order.json",
 "api_version": "v1"
}
