Open-source AI browser agent for web automation: a web browsing agent and computer-use agent in plain English. Browser MCP for Claude Code and Gemini CLI.
AIHawk is an open-source AI browser agent: a web browsing agent with a real browser. You say what you want in plain language, and it browses, clicks, types and reads the actual web to get it done.
<sub>FEATURED IN</sub><br>
Business Insider ·
TechCrunch ·
Semafor ·
Wired ·
The Verge ·
Vanity Fair ·
404 Media
Windows, in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
uvx invisible-playwright fetchLinux:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx invisible-playwright fetchThen tell your assistant it exists.
Claude Code:
claude mcp add --scope user stealth -- uvx aihawkCodex:
codex mcp add stealth -- uvx aihawkGemini CLI:
gemini mcp add --scope user stealth uvx aihawkWe bring the interface, you bring an OpenRouter key.
Chat on the left, the live browser on the right.
Windows, in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
uvx invisible-playwright fetch
uvx aihawk ui --openrouter-key sk-or-...Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx invisible-playwright fetch
uvx aihawk ui --openrouter-key sk-or-...Then open http://127.0.0.1:8765 and type the same thing.
Anything that needs real web automation: a browser rather than an API, and a
person's judgement about what is on the page.
Go to
<paste the URL>. One way, Milan to Lisbon, economy, one checked bag,
one adult. Check every date from the 12th to the 16th of next month, one at a
time, and read the cheapest fare for each day. The date field is a calendar
widget, so click the days rather than typing them. If a date has no
availability, say so. Do not guess a number.
It drives the page the way a person would: the pointer moves, keys are pressed.
--openrouter-key Your key, or the OPENROUTER_API_KEY variable.--model An OpenRouter model id, or AIHAWK_MODEL. Defaults to z-ai/glm-4.6.--proxy Optional. http://user:pass@proxy.example.com:8080 orsocks5://proxy.example.com:1080. Host and port are both required. The--binary An engine binary you already have. It must be the build the seal--seed An integer. Same seed, same browser identity, every run.--profile-dir A directory to keep the profile in, so logins and cookies--headed Show the browser window. The interface shows you the page anyway.--host, --port 127.0.0.1 and 8765. Changing the host.env beside the commandRather than retyping the key and the binary path, put them in a .env in the
directory you run from:
OPENROUTER_API_KEY=sk-or-...
STEALTHFOX_BINARY=/path/to/firefoxIt is read at startup, and on the way in it never overrides something
already set, so the order is --flag > the environment > .env > the default.
Only the directory you are in is read - there is no search upwards, so running
from a subfolder cannot silently pick up a different key. The startup line names
the variables it applied and never prints their values.
Passing --openrouter-key puts the key in your shell history, and on Linux in
the process list. OPENROUTER_API_KEY in the environment or in a .env avoids
both.
The reading room around the agent lives in the
wiki: the
AI browser-agent landscape: browser-use, Operator-style and
computer-use agents compared,
what to check when an agent gets blocked,
and what happened to OpenAI Operator,
among others. Worked examples, transcripts and their outputs live in
articles/.
The MCP server from option 1 ships inside this package: aihawk with no
subcommand is the server, aihawk ui the interface. Its config blocks for
clients that take a file, its settings and its tools are on the wiki page
The MCP server.
This automates a browser under your control. Read the terms of the sites you
point it at, respect their rate limits, and do not submit anything a human has
not read.
MIT. Everything
distributed before 2 September 2026 was released under AGPL-3.0 and stays under
it.
feder-cr/AIHawk
August 4, 2024
September 7, 2026
Python