This site is available as Markdown for AI agents. For the full index, see llms.txt.
AI-native · MCP-native · local-first

Your agent writes the E2E tests. You review and commit.

unotest is AI-native end-to-end testing. Your AI agent drives your real app over MCP and writes clean, reviewable tests in your repo — for web and for iOS.

Works with Claude Code · Cursor · Codex

Full control

AI does the work. You keep control.

The whole point: speed from the agent, ownership stays with you.

Plain .js in your repo

Tests are ordinary JavaScript in unotest/e2e/*.js. Git, code review, CI — no proprietary format, no binary blob.

No silent fixes

agent_fix composes context and a suggestion — it never calls an LLM itself and never applies a patch on its own. You read the diff and commit.

Runs locally

Everything runs on your machine. Your app never leaves it. No cloud, no account to start.

Safe to run blindly

Scenarios execute in a sandboxed AST interpreter — no require, no fetch, no filesystem. AI-generated tests can run without surprises.

What's new

unotest 0.39.0

Released 18 September 2026.

The Picker without a box

An account now has a Picker of its own. Switch it on in the dashboard and connect any project — a laptop, a CI job, a second suite — with one command. There is no hourly charge for it: what bounds the spend is your monthly ceiling, and the command states it before anything is spent.

Switching off takes the access back

Every grant is remembered by its id. Disconnecting one project hands that grant back; switching the Picker off in the dashboard hands back every grant on the account, instead of leaving tokens alive until they expire.

Screens that name the next step

A box with no suite yet names both commands it takes to fill it, in the order they run. And every time the dashboard prints now names its zone — "paid until" read from a zone ahead of UTC no longer looks like an hour already gone.

Pick your platform

Same idea, two surfaces — the web and iOS.