@eN
Experimental  ·  v0.3.0

Browser automation.
Written in Zig.
For AI agents.

Single binary · 464 KB · @eN accessibility refs · Auth profiles · Security audits · Zero Node.js

curl -fsSL https://raw.githubusercontent.com/justrach/kuri/main/install.sh | sh

16%
Lower token cost
3ms
Cold start
464KB
Binary size
40+
API endpoints
How it works
Navigate. Snapshot. Act.
terminal HTTP API
# Start kuri
$ kuri
# Server running on http://127.0.0.1:8080
 
# Navigate to a page
$ curl "localhost:8080/navigate?url=https://google.com/flights"
 
# Get interactive elements with @eN refs
$ curl "localhost:8080/snapshot?filter=interactive"
  @e0  textbox "Where to?"
  @e1  button  "Search"
  @e2  link    "Explore"
 
# Click by ref
$ curl "localhost:8080/action?ref=e0&action=type&text=Tokyo"
$ curl "localhost:8080/action?ref=e1&action=click"
Capabilities
Built for agents,
not for humans
01
@eN accessibility refs

Compact, stable element references from the accessibility tree. 66% fewer tokens than full DOM. Interactive filter cuts even further.

02
HTTP API

40+ endpoints over plain HTTP. Navigate, snapshot, click, type, screenshot, evaluate JS. Any language, any framework.

03
Auth profiles

Save and load authenticated sessions. Cookies + storage backed by macOS Keychain. Log in once, run workflows forever.

04
Security audits

Built-in cookie audit, header inspection, IDOR detection, JWT scanning. Security testing without extra tools.

05
Four tools, one binary

kuri (server), kuri-agent (CLI), kuri-fetch (standalone fetcher), kuri-browse (terminal browser). All from one 464 KB build.

06
Zero dependencies

Written in Zig. No Node.js, no Python, no npm. Arena-per-request memory, no GC. 3 ms cold start.

Performance
Token cost, measured
Vercel homepage — snapshot tokens
Lower is better
Kuri
2,107
agent-browser
4,694
lightpanda
262,682
Workflow cycle — total tokens
Navigate → snapshot → click → snapshot → evaluate
Kuri
4,110
agent-browser
4,880

Snapshot tokens — Vercel

Lower is better

Snapshot tokens — Google Flights

Lower is better

Workflow cycle

Full interactive loop — lower is better

Binary size

KB — smaller is better

Full benchmark breakdown →
Ready to
automate browsers?

Experimental — works and tested. 230+ tests passing. API surface may still change.