How we reviewed this: we built the extension, loaded it into Chromium in a container, pointed it at a sign-in page we wrote with a password, a hidden field and a pre-filled email, and read the snapshot its content script produces. We ran its test suite. We did not point it at anyone else’s site.
What it does
A Manifest V3 extension that drives the tab you are already looking at: you type a goal in the popup, and each step the model picks the next click, keystroke or dropdown value from what is on the page. It is a port of jev-ultrafast — same observation format, same questions, same execution rules — with the README saying so in the first paragraph.
Using the tab you already have is the point. No second browser, no separate profile, no re-authentication: if you are signed in, so is it.
What the snapshot contains
We gave it a login form with three inputs and read what its content script produced:
| on the page |
in the snapshot |
<input type="password" value="CANARY_PASSWORD_9"> |
not present |
<input type="hidden" value="CANARY_HIDDEN_7"> |
not present |
<input type="email" value="ada@example.com"> |
present, value included |
| page text |
"Sign in\nEmail\nPassword\nSign in\nForgot your password?…" |
Password and hidden values never leave; the field is still in the action space as something to fill, it just does not carry its contents. That is the correct division, and it is the exact failure we found in jev-voice-browser, where a filled password was sent as its element’s label.
Visible values do go out, along with up to 6,000 characters of page text and the last ten actions. On a page where you have already typed something private into an ordinary text box, that is the thing to remember.
Enter is a decision, not a side effect
This is the detail we most wanted to check. In jev-browser we found that typing always pressed Enter, which submitted a form the task had said not to submit. Here the README says Enter is never implicit, and the action space bears it out. With the email field focused and holding text, a new control appears next to the others:
fill:Email
click:Sign in
click:Reset it
key: Press Enter in the focused field "Email" to submit it
wait:Wait for the page to update
The model has to choose that control. Typing alone does nothing further. It is one line in an action space and it is the difference between filling a form and sending it.
The permissions are the price
"permissions": ["storage", "activeTab", "scripting", "tabs", "debugger"],
"host_permissions": ["<all_urls>"],
"content_scripts": [{"matches": ["<all_urls>"]}]
debugger is there so input is dispatched through Chrome’s DevTools protocol — a real click or keystroke rather than a synthetic event, which is how nanobrowser, Taxy and browser-use do it too. The README explains that Chrome does not allow debugger to be optional, and that you can switch it off in Options and fall back to synthetic events. Chrome shows an info bar on the tab while it is attached.
It is an honest trade and it is written down, but it is still an extension that can attach a debugger to any tab you have open. Install it deliberately, and keep the Options page’s kill switch in mind.
Engineering
Eighty-six tests across seven files, all passing. Thirty commits, MIT, created 18 September, one author, and a comparison table in the README that names its differences against jev-ultrafast, jev-browser and browser-use rather than claiming to beat them. The extension builds with Vite in under a minute.
Verdict
The most careful of the browser extensions in this batch: the risky values are excluded at the source, the one action that sends a form is a separate decision, and the permission it cannot avoid is explained rather than buried.
If you want an agent in the browser you already use, this is the one to read first. Just be clear-eyed about what <all_urls> plus debugger means, and prefer the Step button over Run the first few times.
For the upstream it ports see jev-ultrafast; for an agent with its own browser and cited answers, fastbrowse.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 21, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.