-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
aihawk review
This page is the project reviewing itself: it lives on AIHawk's wiki and is written by AIHawk's maintainers, so it is the most conflicted review of AIHawk you will find. It exists anyway because most of what ranks for "AIHawk review" is written by nobody in particular about a repository they have not read, and because a first-party review can do one thing a third-party one cannot: state plainly what the project does not do, and be accountable for it. Every factual claim below is checkable against the repository and the published package, both read on 2026-09-03, and the honest move for a reader is to treat the praise with suspicion and the self-criticism as reliable.
AIHawk is an open-source AI web agent: you describe a task in plain
language and it drives a real browser until the task is done. The
repository sits at about 30,300 stars and 4,600 forks, has existed since
August 2024, and is MIT licensed. The Python package aihawk is on PyPI
at version 0.2.0, published 3 September 2026, requiring Python 3.11 or
newer.
One factual line on where it came from, because the repository description still says it: the project was born as an AI web agent that applied to jobs in bulk, drew mainstream press coverage in 2024 that was in part critical, and has since been rebuilt as the general-purpose agent this wiki documents; that earlier use is not covered here.
There are two ways to run it, and they share one browser:
-
Inside an assistant you already use. One command
(
claude mcp add -s user stealth -- uvx invisible-playwright-mcp) registers the browser as an MCP server in Claude Code, Claude Desktop or Cursor, and your assistant's model does the thinking. -
Standalone.
uvx aihawk uiserves a local page with chat on the left and the live browser on the right. It takes an OpenRouter key, defaults toz-ai/glm-4.6, and accepts--modelfor anything OpenRouter serves. Since 0.3.0 this is the only aihawk entrypoint; headless one-shots run through the assistant path above.
The differentiating bet is the browser itself. Instead of driving a stock automation build over an automation protocol, AIHawk drives a Firefox patched at the source level so that what a page inspects - the things JavaScript can read, the way input arrives - presents as a normal desktop machine. The agent also refuses to set form fields from JavaScript even when that would be quicker, because a page can tell the difference between script writes and typed input.
The browser story is real engineering, not a flag. The fingerprint
work lives in patched C++, is seed-deterministic (--seed gives you the
same browser identity on every run), and is maintained as its own
published engine. This is the part of the project we would defend in any
room.
It is honest about inputs. Keys are handled carefully: the OpenRouter key is stripped from the environment the browser process starts with, by name and by value, and a test in the repository fails if that stops being true.
Operational features match real use. --proxy takes HTTP or SOCKS5
and the browser's timezone, locale and egress follow it; --profile-dir
persists logins between runs; --headed shows the window; on the
assistant path the same knobs ride the MCP registration as
STEALTHFOX_* variables; and for scheduled work the engine itself is a
Python library with Playwright's API. The pieces you need to run it
repeatedly are there, not left as exercises.
It is genuinely open. MIT license, the engine and its wrapper published as installable packages, and the agent code in this repository short enough to actually read before you trust it with a browser.
This list is the reason the page exists. None of it is roadmap coyness; it is what the product is.
- It does not solve captchas. Nothing in the codebase attempts it. When a challenge appears, the agent's options are the same as any script's: stop, or hand the session to you.
- It does not promise you will not be detected. A patched browser changes what a page can read from the browser; it does nothing about your IP's reputation, your pacing, or per-account limits, and this wiki maintains a whole section on exactly those failure modes. Distrust any tool in this category that promises otherwise.
-
No macOS. Windows x86_64 and Linux x86_64/arm64 only; the last
macOS engine build was
firefox-20, and support ended. A Mac user cannot run the standalone product today. -
The keyless mode is a demo, not a product.
uvx aihawk uiwithout a key runs a placeholder that takes literal commands; real work needs an OpenRouter key or an MCP assistant, and tokens cost money. -
The browser is a quarter-gigabyte separate download that arrives on
first use unless you pre-fetch it (
uvx invisible-playwright fetch), and a slow connection can time out confusingly on the first task. - The model is not included, and results track the model. A weak model drives the good browser badly; browser problem or model problem is our own documentation of that boundary.
Sites can restrict accounts. Many platforms prohibit automated access in their terms. If you log the agent into an account on a platform that does, that account can be challenged, limited or closed, and no browser engineering changes the contract you accepted. Read the terms of the sites you point it at; the README says the same thing in its "Using it responsibly" section, and we mean it.
An agent with your session is an agent with your session. Anything
the logged-in browser can do, a misread page or a badly phrased task can
do too. Use --profile-dir deliberately, keep high-value accounts out of
it, and do not submit anything a human has not read.
Prompt injection is a live category. A hostile page can try to talk the model into actions you did not ask for. Big-vendor agents carry classifiers for this; AIHawk's standalone loop places that trust in the model you chose, and caution in the tasks you give it.
The UI binds to localhost for a reason. --host beyond 127.0.0.1
exposes an interface with no authentication; the README warns about
this, and so does this review.
For the searcher asking "is AIHawk safe" in the download-sense: the
canonical repository is
github.com/feder-cr/AIHawk and the
canonical package is
aihawk on PyPI. A project with this
history has accumulated forks and mirrors on other sites, some carrying
old code under the old license and the old purpose; none of them are
maintained here, and anything this wiki says applies only to the
canonical pair above. The code you run is auditable before you run it,
which is the strongest safety statement an open project can truthfully
make - not "trust us", but "check".
AIHawk is MIT licensed today. The relicense landed on 2 September 2026, and the README states the boundary precisely: everything distributed before 2 September 2026 was released under AGPL-3.0 and stays under it. In practice: the current code can be used, modified and embedded under MIT's permissive terms; old snapshots and forks made from them remain AGPL, with its copyleft obligations. If you vendored AIHawk code before that date, your obligations follow the license it shipped under, not the current one.
Use AIHawk if the browser is your bottleneck: your tasks are real browsing on sites that inspect their visitors, you want open code on your own machine, and you accept the token bill and the no-macOS line. Its engine is the most serious open-source attempt we know of at making the browser itself unremarkable, and we say that as the people who would.
Look elsewhere if you need macOS, captcha handling, a hosted
zero-setup product, or the largest possible community -
browser-use has an order of magnitude more
adopters, and the alternatives hub
compares the field with the same disclosure this page opens with. And
whatever this page just told you, it was the project grading its own
exam: run uvx aihawk ui against a real task of yours, which costs an
afternoon and answers the only question that matters.
Is AIHawk legit? The canonical repo is feder-cr/AIHawk (about 30k
stars, MIT) and the package is aihawk on PyPI. It is real, maintained,
and auditable; mirrors elsewhere are not ours.
Is AIHawk safe? The code is open for inspection before you run it, and the API key is provably isolated from the browser process. The operational risks - account restrictions, prompt injection, what you log it into - are yours to manage and are listed above.
Is AIHawk free? The software is MIT-licensed free software. Model tokens are the running cost, via your OpenRouter key or your assistant's subscription.
Does AIHawk work on macOS? No. Windows and Linux only; macOS engine
builds ended at firefox-20.
Does AIHawk solve captchas? No, and it does not claim to. A challenge stops the run or goes to a human.
Who maintains AIHawk? The developer behind the feder-cr account,
who also maintains the patched-Firefox engine and this wiki - which is
exactly the conflict declared in the first line.
See also: Which model to use with AIHawk for the token-cost side of the decision, Using AIHawk without an API key for what the keyless mode really is, and Running AIHawk with Claude Code for the MCP route.
- The AIHawk repository: README, LICENSE,
pyproject.tomlandtests/test_key_isolation.pyread in the working tree on 2026-09-03; stars, forks, license and creation date read via the GitHub API the same day. -
aihawkon PyPI, version 0.2.0 metadata fetched via the PyPI JSON API 2026-09-03. - The relicense commit ("Relicense under MIT", dated 2026-09-02) in the repository history, and the README's license section stating the AGPL-3.0 boundary for earlier distributions, both read 2026-09-03.
- For comparative claims about other tools, the pages linked above carry their own dated sources; none are repeated here.
This is AIHawk's wiki reviewing AIHawk. You have every reason to discount the compliments, so we put the limitations in their own section and made every claim point at something you can check without trusting us.
Alternatives and Comparisons
- OpenAI Operator alternatives
- Open-source Operator-style agents
- Is OpenAI Operator still available?
- OpenAI Operator vs Claude computer use
- browser-use alternatives
- Choosing an AI browser agent
- Open-source AI browser agents
- Open-source computer-use agents
- What is an AI web agent?
- AI browser agents vs traditional scraping
- Cloud browser infrastructure for AI agents, explained
- Browserbase alternatives
- Firecrawl vs an AI browser agent
- Skyvern alternatives
- Stagehand vs browser-use
- Project Mariner is gone: what replaced it
- Manus alternatives
- Gemini computer use vs Claude computer use
- AIHawk, reviewed honestly by its own wiki
- AI browser vs AI browser agent: which one do you want?
When the Agent Gets Blocked
- Why does my AI agent get blocked?
- The timing signal AI agents give off
- Agent retry loops trip rate limits, not fingerprints
- Claude computer use detected as a bot
- browser-use getting blocked: what you can and cannot change
Using the Agent
- Getting an AI agent to fill out forms
- Which model to use with AIHawk
- Browser problem or model problem?
- Running AIHawk's browser from Claude Code
- Using AIHawk without an API key
- Extracting data to a CSV with an AI agent
- Monitoring a page for changes with an AI agent
- Running AIHawk's browser from Claude Desktop
- Running AIHawk's browser from Cursor
- Using an AI agent to hunt for apartments
- Getting website data into Google Sheets with an AI agent
- Using an AI agent to download invoices from portals
- AI agents for web research
- Using an AI agent to test your own website
- Running AIHawk's browser from Cline
- Posting to social media with an AI agent
- Posting to Facebook with an AI agent
- Posting to Instagram with an AI agent
- Posting to X with an AI agent
- Automating LinkedIn posts: read this first
- Appointment bots: what they are and what an agent can legitimately do