{
 "schema_version": 1,
 "generated": "2026-10-26",
 "id": "ying-kai-liao-jev-browser--log-in-and-fill-web-forms-from-claude",
 "repo": "Ying-Kai-Liao/jev-browser",
 "repo_url": "https://github.com/Ying-Kai-Liao/jev-browser",
 "repo_slug": "ying-kai-liao-jev-browser",
 "title": "Log in and fill web forms from Claude Code",
 "page_title": "How to log in and fill web forms from Claude Code with Jev Browser",
 "summary": "Give Claude one outcome such as logging in or submitting a form, and let the browser tool run the steps.",
 "who": "A developer or ops person who repeats the same web form or login work and wants Claude Code to do it through a browser.",
 "problem": "Clicking through multi-step forms by hand is slow, and a plain script breaks when the page layout changes.",
 "outcome": "Claude calls browser_do with a goal and values, and gets back a status such as done, needs_login, or needs_confirmation along with the list of actions taken.",
 "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.",
  "Restart Claude Code and ask it to open the target site with browser_open.",
  "Ask Claude to call browser_do with the goal and a values object holding the email and password or the form fields.",
  "Check the returned status and the actions list before you rely on the result."
 ],
 "agent_prompt": "Use the jev-browser MCP server from the Ying-Kai-Liao/jev-browser repo to open <target-url> and run browser_do with the goal \"<outcome>\" and values <values-object>. Return the status, url, and actions list. Verify that the status is done before reporting success.",
 "agents": [
  "claude-code"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "The README says Jev only answers with probabilities and never writes text, so every typed value has to come from the values you pass in.",
 "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": "Passwords passed in values are kept out of the TypeSafe request, but the agent still logs into your account, so use a test account first."
  }
 ],
 "best": true,
 "score": 1.0,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/ying-kai-liao-jev-browser/log-in-and-fill-web-forms-from-claude/",
 "md": "https://dedupedai.com/use-cases/ying-kai-liao-jev-browser/log-in-and-fill-web-forms-from-claude/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--log-in-and-fill-web-forms-from-claude.json",
 "api_version": "v1"
}
