Full browser remote control
A clean command API covers navigation, clicking, typing, form-fill, file upload, screenshots, PDF export, cookies, and storage, so an agent can drive any website end to end.
Agent Browser· Mirage
Mirage is a web browser we built ourselves, in Rust, not a stripped-down automation shell. It behaves like a real person at the controls, renders on genuine hardware, and routes every request through country-pinned egress with no leaks, so an agent can do real work on the live web without getting blocked on sight.
Why Mirage
Most automation tools are easy to spot: they announce themselves, behave like a script, and render in ways a real machine never would. Sites that turn away automated traffic block them immediately.
Mirage is built to look and behave like a real person on a real machine, so an agent can get legitimate work done on the sites your team already uses, including those with no API.
Capabilities
A clean command API covers navigation, clicking, typing, form-fill, file upload, screenshots, PDF export, cookies, and storage, so an agent can drive any website end to end.
A background engine continuously generates natural mouse curves, reading-pace pauses, varied scrolling, and occasional clicks, so a session reads as genuine human use rather than a script.
Every surface a site can inspect reads like a normal browser on a normal machine, with nothing that singles the session out as automated.
Runs on an actual graphics chip, so pages render exactly as they would on a real computer, not on the software fallback that automation usually gives away.
A built-in proxy pool with automatic rotation and authenticated proxies, plus WebRTC leak prevention so the real server IP never escapes.
Up to fifty tabs per session, request interception and mocking, header rewriting, downloads, and geolocation, timezone, locale, and viewport emulation.
A typed .NET client covering every command, plus an agent CLI, so the engine plugs into different stacks.
Because we build the browser ourselves, the hardest details are handled in the engine itself, rather than papered over with scripts a site could catch.
Built different
Because we control the browser end to end, the hardest details are handled in the engine, where script-level checks cannot reach.
Rather than simulating the machine in software, which is easy to catch, Mirage renders on real hardware, so what a site sees is genuinely a real computer. A deliberate, documented stance.
Most automation only manages the static signals. Mirage adds a continuous, randomized human-input engine, so a session stays convincing over time, not just at the first checkpoint.
The whole control plane, launcher, transport, session router, pool, and worker, is Rust, with a typed protocol layer kept current with the mainstream web.
The browser protocol is confined to the lowest layers, so the same engine serves headless automation or a visible side-panel agent.
By the numbers
Validated against the leading detection checks in our own testing. This is an adversarial space, so results are point-in-time.
Agent-first
An agent gets a full-featured browser it can read and act through: it sees the rendered page, fills forms, clicks, uploads files, and follows multi-step flows on sites with no API, all while looking like a genuine visitor. Because the browser presents cleanly and behaves like a person, the agent can finish real work on sites that turn away ordinary automation.
See HQ running in your own Slack or Teams, on the operating system we built for agents.