Shaduf.Research preview
Jev: Use Cases, Alternatives & Products/Jev browser and computer use
Use casesRead in source , 05:12–05:24 UTC · spot-checked 05:20 UTC

Jev browser use and computer use (TypeSafe AI)

Browser and computer-use agents that let Jev pick the next click, tap or keystroke, read in source. "jev browser use" and "jev computer use" were suggested on Google, Bing and DuckDuckGo when the pool checked on . A suggestion shows that people search for something; it does not show how many. This page reads seven agents that act in a browser, on a phone or on a Mac, plus one shopping extension that only recommends. For each it shows whose session the agent uses, what leaves the page, and whether it still clicks, types or submits when Jev errors, gives a bad or unsure answer, has no key, or is skipped. The pool ran none of them: no agent, no extension, no Jev call.

Key finding

Of 7 Jev browser and computer-use agents read in source, none clicks or types when Jev errors, but 5 act on low-confidence answers, and only 1 asks a person before send, buy or delete.

Documentedsource at pinned commits, checked

Picked from the plan's leads, three GitHub searches and the 24-hour scan, preferring exact name matches with a real Jev call path; not a survey. 8 counted, 1 excluded as a mock by default (how they were chosen). The counts describe these 7 agents at these commits, with default settings, and nothing more.

What the seven agents add up to

One square per agent (n = 7 agents that click, type or tap): a filled square counts towards the number on the left

  • U jev-ultrafast
  • I ironbee-express
  • B jev-agent-browser
  • A jev-android
  • M computer-use-jev
  • C Jev for Chrome
  • L Ulka
  • Clicks, types or taps on a Jev error or timeoutall 7 are fail-closed0/7
    • U no
    • I no
    • B no
    • A no
    • M no
    • C no
    • L no
  • Can click after a malformed answer0/7 act directly on it; jev-agent-browser can click a target picked by its word-overlap fallback1/7
    • U no
    • I no
    • B yes
    • A no
    • M no
    • C no
    • L no
  • Acts on any confidence (no-threshold)2/7 stop with no action below a cut: jev-android 0.65, computer-use-jev 0.5 for mutating actions5/7
    • U yes
    • I yes
    • B yes
    • A no
    • M no
    • C yes
    • L yes
  • Can still act with no key6/7 refuse. ironbee-express replays a cached recording unjudged. jev-agent-browser opens its start URL before the key check (navigation only)1/7
    • U no
    • I yes
    • B no
    • A no
    • M no
    • C no
    • L no
  • Has a recorded way around Jevnot recorded in 3/7 (the code read showed none)4/7
    • U not recorded
    • I yes
    • B yes
    • A not recorded
    • M yes
    • C not recorded
    • L yes
  • Acts in the user's own browser, phone or Mac session by defaultironbee-express uses a fresh headless profile; jev-agent-browser uses its own session unless told to attach5/7
    • U yes
    • I no
    • B no
    • A yes
    • M yes
    • C yes
    • L yes
  • Asks a person before send, buy or deleteUlka. computer-use-jev has a Jev confidence gate (0.5) on every mutating action, not one for irreversible actions; jev-android's gate allows everything by default; none found in 4/71/7
    • U no
    • I no
    • B no
    • A no
    • M no
    • C no
    • L yes
  • Counts
  • Does not count
  • Not recorded in the code read
Counts from the tables below; each line adds up to 7. Error, malformed-answer, below-threshold and no-key counts are kept apart and are not added together. second-look recommends only and is not in these counts (see below). Documented source at pinned commits, 5 Oct 2026.

Guard before an irreversible action (submit, buy, send, delete), n = 7

  • A person approves (Ulka)1/7
  • Jev confidence gate on every mutating action, 0.5 (computer-use-jev)1/7
  • Gate present but allows everything by default (jev-android)1/7
  • None found (jev-ultrafast, ironbee-express, jev-agent-browser, Jev for Chrome)4/7

Seven agents and one adviser: whose session, and does a failure still act?

"Whose session" is the browser, device or desktop the agent acts in by default, with whatever logins and payment methods it holds. The last two columns answer the page's question for the situations in the failure table. Documented source at the pinned commit, checked 5 Oct 2026, 05:12–05:24 UTC; file paths are in the sources.

Project (commit; licence) and what Jev decidesWhose session (default; switch)What leaves the pageDoes a failure still click, type or submit?Guard before irreversible actions
browser-use/jev-ultrafast (1231850; MIT)Next operation (click, type, select … done, blocked) and its target, Choice. A separate text LLM writes field values onlyThe user's existing Chrome, background tab via CDP. No switch in the code read. README: "Owned tabs share the existing Chrome profile" ReportedURL, title, viewport text up to 6,000 characters, element labels and current field values. Password, file and hidden inputs excluded
  • Error: no
  • Malformed: no
  • Unsure: yes (no cut)
  • No key: no
None found. A page-freshness check before input only
ironbee-ai/ironbee-express (05079b4; Elastic License 2.0)Next operation, target, tab, key, ask-user reason and text value, all ChoiceHeadless, fresh profile with no cookies. A named saved profile keeps loginsMasked snapshot: 6,000 text characters, 250 elements, 160-character labels; shrinks to 50% then 25% if too large. Secrets masked; password values never read
  • Error: no
  • Malformed: no
  • Unsure: yes
  • No key: conditional (cached replay)
  • Bypass: yes
None found. ASK_USER is a Jev choice for CAPTCHA or login hand-offs
forvela/jev-agent-browser (eb35251; MIT; npm 0.2.1)Operation, target and input key (Choice); goal reached and stuck (Noul)Its own agent-browser session. --auto-connect or --cdp attaches to the user's running Chrome; research mode requires itAccessibility snapshot up to 18,000 characters, URL, up to 180 element refs. Secret input values redacted by literal replace; other page data sent as is
  • Error: no
  • Malformed: conditional (fallback target can be clicked)
  • Unsure: yes
  • No key: start URL only
  • Bypass: classify mode only
None found
dougsong/jev-android (be8364a; MIT)Operation, target and text, all Choice; confidence is the lowest of the threeThe user's own Android device and apps (accessibility service). No sandbox switch seenUp to 220 accessibility nodes, text and labels up to 300 characters. Password nodes skipped
  • Error: no
  • Malformed: no
  • Unsure: no
  • No key: no
None by default: the action gate allows every action. The host app can supply a gate. Editing password fields is refused
paulsmith/computer-use-jev (ff0ad8b; MIT)Next action, target and shortcut (Choice); goal satisfied (Noul)The user's own macOS session, through the Accessibility APIAccessibility snapshot of apps, windows and elements. [secure] fields cannot be typed into; whether their values are sent: not recorded
  • Error: no
  • Malformed: no
  • Unsure: no (mutating actions)
  • No key: no
  • Bypass: yes (passthrough)
Jev confidence gate at a fixed 0.5 on every mutating action; no person
chy4pro/jev-for-chrome ("Jev for Chrome", d5c24de; MIT)Operation and a target per operation (Choice); goal done and stuck (Noul)The user's own tab and logins (Chrome extension)Visible text up to 6,000 characters, labels and field values. Password, file and hidden inputs excluded
  • Error: no
  • Malformed: no
  • Unsure: yes
  • No key: no
None found
razaanstha/ulka (Ulka, bb04433; MIT)Operation and target, Choice, through the Vercel AI Gateway model typesafe-ai/jevThe user's own Chrome (extension; tabs in the user's window)Accessibility or page text up to 6,000 characters; field values up to 4,000 characters. Passwords excluded
  • Error: no
  • Malformed: no
  • Unsure: yes (non-risky actions)
  • No key: no
  • Bypass: yes, approval-gated
A fixed rule plus a person. Send, submit, publish, purchase, buy, checkout, delete, remove, subscribe, confirm order or account need side-panel approval; with no approver the action is blocked
KaushikSiva/second-look (0c05d16; MIT; created 4 Oct)Recommendation only. One shopping verdict: BUY_NOW, WAIT, SKIP or BUY_ALTERNATIVE (Choice)The user's own browser: Chrome side panel with <all_urls> permission. Reads pages, opens result links in new tabsDerived signals only: product title and price, ratings, price history, other offers, alternatives. No form values
  • No UI action in any case
On a Jev error or no key it shows a heuristic verdict with confidence None
Not applicable: a person decides every purchase

Chips: yes the failure can still lead to a click, tap, keystroke or submit; no it does not; conditional it can, depending on a fallback, a cached recording, a mode or an approval. A bypass chip appears only where a way around Jev was recorded.

What happens when Jev fails, by situation

Open a situation to highlight its column. Opening one closes the others. Failure terms use the pool's shared vocabulary: fail-closed (stops with no action), fail-open (acts anyway), fallback-<what> (a named substitute), no-decision (returns nothing; the caller must handle it) and no-threshold (no confidence cut, so any answer is acted on). Below-threshold cells are never added to error cells. Retries and status codes are on Jev API errors, limits and retries.

The Jev call failsHTTP error or timeout

0 of 7 agents still act: all 7 are fail-closed. Timeouts are 25 s (jev-ultrafast, ironbee-express, jev-android), 30 s (jev-agent-browser) and 60 s (computer-use-jev). Jev for Chrome and Ulka set no timeout: a hung call waits rather than acts. second-look shows a heuristic verdict instead (fallback, recommendation only).

Malformed answerMissing or invalid fields

0 of 7 act directly on a malformed answer. In 1 of 7 (jev-agent-browser) a missing or invalid target goes to a word-overlap resolver, and the action then runs on the target it picks. computer-use-jev re-reads the screen and asks again on a bad target, without acting.

Jev is unsureLow confidence

5 of 7 act on any confidence (no-threshold). 2 of 7 stop with no action below a cut: jev-android at 0.65 (a default the caller can set per task; it replans twice, then reports BLOCKED) and computer-use-jev at 0.5 for click, fill, type, press and activate. Neither hands the item to a person, so these are no-decision, not held. Choosing a cut: how to choose a confidence threshold.

No API keyJev cannot be called

6 of 7 refuse to act. ironbee-express replays a cached recording if one exists, and nothing judges it; without a recording it refuses. jev-agent-browser opens its --url start page before the key check (navigation only). Testing without a key: testing a Jev integration without an API key.

Ways around JevPaths that skip the Jev call

Recorded in 4 of 7: ironbee-express (cached replays and an LLM takeover after a stall, budget limit or BLOCKED), jev-agent-browser (regex label overrides, in classify mode only), computer-use-jev (passthrough mode runs raw tool calls, including click, with no Jev and no key) and Ulka (cached actions and a forced first action, both still behind the approval gate). Not recorded in 3 of 7.

Project (commit)Jev error or timeoutMalformed answerBelow thresholdNo keyBypass
jev-ultrafast (1231850)fail-closed25 s; "Model connection failed; no action executed."fail-closedNo retryno-thresholdConfidence only recorded; acts on any answerfail-closedKeyError on TYPESAFE_API_KEYnot recordedNone found in the files read
ironbee-express (05079b4)fail-closed25 s, 3 tries, then "no action executed"fail-closedAfter 1 retryno-thresholdConfidence only reported; acts on any answerfail-open (conditional)A cached recording replays unjudged; fail-closed without oneacts without JevCached replay; LLM takeover after a stall, budget limit or BLOCKED
jev-agent-browser (eb35251)fail-closed30 s; loop ends with status errorfallback-semantic target resolverWord overlap on the target hint, then the action runs. Unsupported operation: fail-closedno-thresholdFor actions. Fixed cuts (0.8; 0.6 with evidence) govern stopping onlyfail-closedFor decided actions; the start URL is opened firstconditionalRegex label overrides in classify mode only
jev-android (be8364a)fail-closed25 s call timeout; task deadline 120 sfail-closed"Jev response rejected"no-decisionBelow 0.65 (caller can set): replans up to 2 times, then BLOCKED, no actionfail-closednot recordedA DeepSeek provider can be chosen in the sample app (configuration, not a fallback)
computer-use-jev (ff0ad8b)fail-closed60 s; the loop returns an errorfail-closedBad target: re-reads the screen and asks again, no actionno-decisionMutating actions below 0.5: "not executed: confidence below threshold". Not exposed by the CLI; non-mutating actions not gatedfail-closedacts without JevPassthrough mode (no -goal) runs raw tool calls, including click, with no Jev and no key
Jev for Chrome (d5c24de)fail-closed3 retries (0.8, 1.6, 3.2 s), then "no action executed". No timeout on the fetchfail-closedAfter 1 retryno-thresholdFor actions; DONE and BLOCKED under 0.5 get a second lookfail-closednot recordedOpenRouter or Cloudflare can serve the same model (provider choice)
Ulka (bb04433)fail-closedTries an HTTP route to the same model, then throws. No timeout foundfail-closedAfter 1 retryno-thresholdConfidence only traced; risky actions still need approvalfail-closedconditionalCached actions and a forced first action; both pass the approval gate
second-look (0c05d16)recommendation onlyfallback-heuristic verdict15 s; "Good deal — buy it" unless a fake discount is detected; confidence Nonefallback-heuristic verdictRaised inside the same tryno-threshold (advisory)Confidence shown on the card only; a person decidesfallback-heuristic verdictNo key returns None, then the heuristicnot recorded
  • fail-closed or held (a person or the host's own prompt decides)
  • fail-open or acts-anyway; a "conditional" cell that can act is counted fail-open
  • fallback-<what> (named in the cell)
  • no-decision: nothing returned; the caller must handle it
  • advisory (Jev never decides), or conditional where this page has no count
  • not recorded in the code read, or no-threshold (no confidence cut; the cell says which)

Colours follow the shared legend on when Jev fails (changed ; this page used its own colours before). Before, no-threshold cells were red; they are now white, as on when Jev fails, and still mean that any answer is acted on.

The ironbee-express no-key cell is counted as fail-open because it can act, following the run-7 rule for conditional cells. All eight rows appear on the when-Jev-fails checklist under "Browser".

second-look: a shopping adviser that never acts

second-look (0c05d16, created 4 Oct 2026) is a Chrome side-panel extension that gives one verdict on a product page. It has no click, submit or form-fill code: the pool searched its extension files for .click(), dispatchEvent, submit( and executeScript and found only content-script injection. A person buys. It is counted as a browser row on the when-Jev-fails checklist, but not in the counts of 7 acting agents on this page. Documented

On a Jev error, a timeout (15 s), a malformed answer or no key, second-look still shows a verdict. The fallback is "WAIT" if a fake discount was detected, otherwise "BUY_NOW", with confidence None. The BUY_NOW card headline reads "Good deal — buy it". Whether the card tells the shopper that Jev was not consulted is not recorded: the card renderer was not read. Documented backend/app/jev.py L17–32; backend/app/research.py L189–191, L203

Listed but not counted

  • trycua/cua jev-use example (ba0033a; MIT)Jev picks a candidate ID (Choice) in an isolated new browser profile; "abstain" and "reobserve" are offered as candidates. Not counted: the default provider is mock (run.py L587), so as shipped it does not call Jev. With --provider live an error is not caught (fail-closed); its no-key behaviour was not recorded. Documented
  • HN 49849950Links a tweet only, no repository (checked 05:12 UTC). Excluded.

Before you let a Jev agent drive your browser, phone or Mac

  • Your logged-in session is the agent's session. 5 of 7 agents act in the user's own Chrome, phone or Mac session by default, with whatever logins and payment methods it holds. Prefer a fresh profile (ironbee-express does this by default) for anything you do not watch. Documented
  • Page content leaves your machine. Every agent sends page or screen text to Jev: up to 6,000 to 18,000 characters, with field values in 3 of 7 (jev-ultrafast, Jev for Chrome, Ulka). All 7 exclude or mask password fields. Other personal data on the page is sent. Read what data leaves your system. Documented
  • Unsure is not the same as failed. All 7 agents stop on a Jev error, but 5 of 7 act on low-confidence answers because they set no threshold. See how to choose a confidence threshold. Documented
  • Irreversible actions. 1 of 7 (Ulka) asks a person before send, submit, buy or delete. If you build one, add a fixed-rule or human gate before these actions, and do not rely on Jev's confidence alone. Tool-call guards in coding agents are compared on Claude Code and MCP.
  • Speed and benchmark claims are Reported. An AndroidWorld result comes from arXiv 2609.30186, "Jev-Mobile: Jev as an Executor for Mobile GUI Agents", by a single author, submitted 24 Sep 2026 per arXiv. It is the author's claim; the pool did not run it and states no figure. jev-ultrafast's speed claims are the project's README claims. Reported

How the agents were chosen and read

Picked from the plan's leads, three GitHub searches and the 24-hour scan, preferring exact name matches with a real Jev call path; not a survey. 8 counted, 1 excluded as a mock by default. The leads were "Fast browser agent (using Jev)" (which is browser-use/jev-ultrafast), jev-android, computer-use-jev, "Jev for Chrome", jev-agent-browser, HN 49849950 and "jev cua driver". The searches were GitHub "jev android", "jev computer use" and "jev cua", plus HN Algolia; two browser repositories came from this run's scan window. Where a search returned several repositories with the same name, the exact name match was read and the rest were not.

Each project was pinned to one commit and read through raw files at that commit, 5 Oct 2026, 05:12–05:24 UTC. A helper agent read the seven acting agents; the runner read second-look and spot-checked 15 of the helper's key lines at the same commits. 14 matched as quoted; one line reference was corrected (Jev for Chrome's fetch without a timeout is at http.ts L21–25). Rows go in the products ledger, one per project.

What was not verified

  • No agent or extension was run, installed or given a key. Every cell comes from source at the pinned commit.
  • Test contents for 5 projects (names only: ironbee-express, jev-android, computer-use-jev, Jev for Chrome, Ulka). jev-ultrafast and jev-agent-browser tests use mocks; second-look's smoke test was not read.
  • Whether the jev-agent-browser npm package 0.2.1 (published 3 Oct 2026, 06:35 UTC, 2 minutes after the pinned commit) matches the repository.
  • Whether computer-use-jev sends [secure] field values to Jev.
  • second-look's verdict card wording on the fallback path, and whether it says Jev was not consulted.
  • trycua/cua's no-key behaviour and live timeout.
  • Not recorded in the code read: a way around Jev in jev-ultrafast, jev-android and Jev for Chrome; a timeout in Jev for Chrome and Ulka.
  • The seven helper-read rows were spot-checked (15 lines), not re-read line by line.
  • Not read (same-name repositories): slatinwine/jev-cua, Eronmmer/jev-cua, ericjuta/omp-cua-jev, mimo-3/cua-jev, ronadin2002/jev-cua, edgeteamio/jev-cua, Friedjof/jev-mobile, antiyro/jevdroid, Rajmeet/jev-phone, ZTRRTUO/Jev-PhoneControl, Aben25/jev-sim, savka777/jev-use, zisshh/computer-use, bgivenb/flick-computer-use, ZJU-REAL/CUA-JEV, kofanlabs/typesafe-computer-use-windows. y2kshukla/self_protector is a feed filter, not a UI agent.

Sources and check times (5 Oct 2026, UTC)

  • R8-S60: browser-use/jev-ultrafast at 1231850 (MIT), read 05:13: jev_ultrafast/model.py L12, L15–27, L30–45, L81–116, L119–127, L160–198; agent.py L127–128; browser.py L22–27, L100–107; snapshot.js L9, L73–92; tests/test_agent.py. README L126 (Reported).
  • R8-S61: ironbee-ai/ironbee-express at 05079b4 (Elastic License 2.0), read 05:13: src/engine/systemone.ts L12, L107–140, L149–172; src/engine/jev.ts L8–14; src/agent/policy.ts L509–543, L606–649; src/agent/agent.ts L500–695; src/run/runner.ts L318–338, L466+, L607–616; src/config/config.ts L147; src/profile/profiles.ts L2–6; src/text/mask.ts L21–30; devtools-plugin/snapshot.ts L69–71.
  • R8-S62: forvela/jev-agent-browser at eb35251 (MIT), read 05:14: src/decision.js L7–8, L12–51, L104–123, L208; src/loop.js L85–134, L282–291, L374–377; src/browser.js L10, L16; src/cli.js L88–89, L108, L124–131, L161–166, L304; src/classifier.js L66–78; npm registry (0.2.1, 3 Oct 2026, 06:35:53 UTC).
  • R8-S63: dougsong/jev-android at be8364a (MIT), read 05:15: core/…/JevAgent.kt L13, L26–121 (L47–61); core/…/Models.kt L34–35, L157–158; sdk/…/JevProvider.kt L16, L27–31, L131–137; sdk/…/ProviderTransport.kt L64; sdk/…/AccessibilityRuntime.kt L94, L200–204; sample/…/ProviderSelection.kt L5.
  • R8-S64: paulsmith/computer-use-jev at ff0ad8b (MIT), read 05:16: decide/decide.go L26, L67–72, L165–213, L250–265, L405; typesafe/client.go L58, L67–69; cmd/computer-use-jev/main.go L34–39, L46–48, L120–150; computeruse/computeruse.go L2, L38.
  • R8-S65: chy4pro/jev-for-chrome at d5c24de (MIT), read 05:17: src/background/agent.ts L51, L78, L96–147, L444–516, L621, L645–654; src/shared/providers/http.ts L15–35 (no timeout at L21–25); src/shared/providers/typesafe.ts L9–11; src/shared/providers/index.ts L98–110; src/content/snapshot.ts L101, L186, L258.
  • R8-S66: razaanstha/ulka at bb04433 (MIT; HN 49752776), read 05:15, under apps/extension/src/: agent/approvals.ts L4–27; agent/agent-runner.ts L88–96, L175–177, L273–279; agent/vercel-jev.ts L94, L106–150, L251–293; agent/observer.ts L20, L147–149, L191; background.ts L95–96, L228, L241, L289, L343–349.
  • R8-S67: KaushikSiva/second-look at 0c05d16 (MIT; created 4 Oct 2026, 22:07 UTC), read 05:17: backend/app/jev.py L8–32; backend/app/research.py L180–205; extension/manifest.json L27–28; extension/content.js; extension/sidepanel.js L66–72, L568.
  • R8-S68: trycua/cua at ba0033a (MIT), read 05:17: libs/cua-driver/examples/jev-use/python/run.py L390, L447–451, L587; jev_adapter.py L23–57, L151–166. Mock by default; not counted.
  • R8-S69: arXiv 2609.30186, submitted 24 Sep 2026, single author, read 05:17. Reported.
  • R8-S70: HN 49849950 (25 Sep 2026; links a tweet only) and HN Algolia search "browser agent jev", 05:12:37. Excluded.
  • R8-S71: GitHub repository searches "jev android", "jev computer use" and "jev cua", 05:15:40.
  • R8-S72: runner spot-check of 15 helper lines at the pinned commits, 05:20:44 (14 matched; 1 line reference corrected).
  • Query wording, 05:14:58. Google suggest (client=firefox) offered "jev browser use" and "jev browser use github" for "jev browser use", and "jev computer use" and "jev computer use github" for "jev computer use". Bing (api.bing.com/osjson.aspx) and DuckDuckGo (duckduckgo.com/ac/?type=list) offered "jev browser use" and "jev computer use" for the same words.

Search published pools, pages, reports, and evidence.