Browser control for Claude and Codex

Your browser, one decision every half second.

Claude plans. Jev, TypeSafe's decision model, clicks, types and scrolls in a real Chrome window that stays signed in to your sites. Each step takes about half a second and costs a fraction of a cent.

5 to 40 times cheaper than letting Claude's or Codex's own model do the clicking (measured). Prepaid credits with one key: no other accounts to set up.

Goal: Search Wikipedia for “Ristretto” and open the Ristretto article.

TYPE_TEXT step 1670 ms

    Jev calls 1Jev time 0.0 scost $0.0000
    A real run, replayed. Every probability, decision time and cost is what Jev returned on Sep 19, 2026 (typesafe/jev-1.13; cost at OpenRouter prices).

    A fraction of what Claude Code or Codex spends on the same clicks

    Claude and Codex are great at deciding what to do. Clicking through a page doesn't need a frontier model. We ran three live tasks through the same browser loop and changed only who picks each step: a Wikipedia search, a 7-field order form, and opening a Hacker News thread.

    Total cost and time for the three tasks, per model
    Who picks each stepTotal cost for the three tasksTime
    Jev Browser Control$0.02817.8 s
    GPT-5.3 Codex$0.153 5× Jev38.9 s
    Claude Sonnet 5$0.249 9× Jev43.3 s
    Claude Opus 5$0.795 28× Jev45.4 s
    GPT-6 Astra$1.129 40× Jev38.3 s

    Every model finished all three tasks; Jev was more than twice as fast. The models ran the way Claude Code and Codex run them: tool definitions in the prompt, the whole conversation resent at every step, reasoning on and prompt caching on. On a Claude or Codex subscription, each step Jev takes is one your plan doesn't spend. Measured September 19, 2026 at OpenRouter prices; raw results and the script are on GitHub.

    Jev picks. It never writes code.

    Jev Browser Control turns the page into a numbered list of what you can click or type into. Jev answers one question: which option, with a probability for each. Code maps the number back to the real element, so a model's answer never becomes a selector or a script.

    1. Read the page

      Visible buttons, links and fields become numbered rows, with their current values and checked states. Password fields are never listed.

      in the page · ~20 ms
    2. One Jev call

      Which operation, which element for each operation, and is the goal already met? One request answers all three.

      Jev · ~0.5 s
    3. Check before acting

      Stop gates run in code: done, blocked, over budget, or a click that buys, sends or deletes. If the page moved while Jev decided, nothing is clicked and it looks again.

      code
    4. Act like a person

      A trusted mouse click or keystroke on that exact element. Only typing needs words, and a small model writes them from your goal.

      Chrome · ~50 ms

    What Claude gets

    Claude Code and Claude Desktop see these tools through a small MCP server on your computer. Claude can drive the browser itself, or hand a whole sub-task to Jev and check the result.

    ToolWhat it does
    jev_taskRuns a multi-step task (search, filters, forms) with Jev and returns every step, the cost and the final page.
    jev_findFinds the element that matches a description, with probabilities. Clicks nothing.
    jev_checkHow likely is a statement about the page true? A cheap way to verify a result.
    browser_snapshotThe page as numbered elements plus its visible text.
    browser_click · browser_type · browser_selectAct on element [n] with real input.
    browser_navigate · browser_tabs · browser_backOpen URLs and move between tabs. Tabs Claude opens join an orange “Jev” group.
    browser_read · browser_screenshot · browser_waitThe whole page as markdown, a screenshot, or wait for text to appear.

    Also works with OpenAI Codex (ready-made agent files in the repo), and with Grok Bot, ChatGPT and other cloud apps through remote control, which is off until you switch it on.

    It asks instead of inventing

    Another recorded run, on httpbin's test form. The goal named a customer and a phone number but no email. Jev filled everything it was given, then stopped and asked.

    1. 1TYPECustomer name ← “Ada Lovelace”
    2. 2TYPETelephone ← “555-0100”
    3. 3CLICKLarge
    4. 4TYPEPreferred delivery time ← “19:30”
    5. 5CLICKBacon
    6. 6CLICKOnion
    7. 7TYPEE-mail address: no value in the goal, skipped
    8. STOPneeds_input: “E-mail address” needs a value the goal doesn't give. Nothing invented, nothing submitted.

    8 Jev calls · 7.3 s · $0.0012 at OpenRouter prices

    • Asks before it's hard to undoClicks that buy, pay, send, post or delete stop and wait for you. From the side panel you get an Allow button; Claude gets the pending click and asks you.
    • Never sees your passwordsPassword and file-upload fields are left out of the element list, so neither Jev nor Claude can type into them.
    • Treats pages as dataEvery request tells Jev that page text is untrusted. Jev can only choose from options the code offered.
    • Stays on your computerThe MCP server runs on your computer and listens on 127.0.0.1 only. Block any site, such as your bank, in the settings.
    • Has limitsEvery task stops at a number of actions, seconds and dollars you choose.

    Pay only for what Jev does

    One key runs Claude Code, Codex, the extension, Grok Bot and your own code. No subscription and no other accounts: add credits and each step comes off your balance.

    What a task costs

    Recorded taskTimeCost
    Search Wikipedia and open an article4.9 s$0.0092
    Fill a 6-field order form7.3 s$0.0058

    $10 covers about 1,000 to 1,700 tasks like these. Pages with many links cost more per step, because Jev is priced per token read.

    Set up in three steps

    Get a key

    Create an account in your dashboard and add credits. Put the key in ~/.jev-browser-control/config.env:

    JBC_API_KEY=jbc_…your key…

    Add it to Claude

    Claude Code (Codex: codex mcp add, same command after it). Needs Node.js 18+ and Google Chrome.

    claude mcp add -s user jev-browser -- npx -y https://jevbrowsercontrol.com/downloads/jev-browser-control-mcp-0.3.0.tgz

    Claude Desktop and other clients: see the docs.

    Ask Claude

    “Use the browser to …”. A Chrome window opens and you watch Jev work. Sign in to your sites there once; the logins are kept.

    Rather use your everyday Chrome, or Grok Bot? Get the extension.