← Home

REVIEWED & READY TO INSTALL

AIHawk

feder-cr/aihawk

Automated job application pipeline with anti-detect browser automation and AI-tailored resume submissions.

STEP BY STEP

How to install AIHawk

The step-by-step guide is right on this page, written for people who have never installed anything from GitHub.

Updated 9/30/2026
GitHub preview image of AIHawk
GitHub stars
32,382
Language
Python
Added
9/22/2026

How to install AIHawk, step by step

Work from top to bottom. Each grey box is one command: copy the whole line, paste it into the terminal window and press Enter.

Never used a terminal? Read this first (1 minute)

A terminal is a window where you type commands for your computer. You do not need to understand them, just copy and paste them exactly.

  1. Windows: press the Windows key, type "PowerShell", then press Enter.
  2. macOS: press Command + Space, type "Terminal", then press Enter.
  3. Linux: press Ctrl + Alt + T.
  4. Copy a command from the guide, right-click inside the window you just opened to paste it (macOS: Command + V), then press Enter.
  5. Wait for the command to finish (the cursor blinks again on a new line) before running the next one.

Lines starting with # are notes; you do not need to copy them. If red error text appears, check the common errors section at the end of the guide.

1. What is AIHawk?

An important notice first: the address github.com/feder-cr/aihawk now redirects to github.com/feder-cr/invisible_playwright_mcp. The author renamed the repository and replaced its contents. AIHawk used to be a tool that applied for jobs automatically. What lives at this address today is invisible_playwright_mcp: an AI-driven web browsing agent. The current README no longer contains installation steps for the old job-application tool, so this guide covers what you actually get when you open the repository.

invisible_playwright_mcp works like this: you type a request in plain language, for example "go to this page, check the fare for each day and report back". It opens a real Firefox browser on your computer, clicks, types and reads the page by itself, then gives you the answer. That browser is built so websites see an ordinary Firefox, which means it is mistaken for a robot less often than other automation tools.

The software is free and open source (MIT license). The AI model behind it is not free: you bring your own key for a model provider and pay for what you use.

A good fit if:

  • You use Windows or Linux and do not mind typing a few commands.
  • You have repetitive web chores: checking prices, collecting information from several pages, filling in forms.
  • You already use Claude Code, Codex or Gemini CLI and want to give your assistant a browser.

Not a good fit if:

  • You are on a Mac or a phone. The project's browser engine is built for Windows and Linux only.
  • You are looking for the old AIHawk job-application bot. It is no longer documented here.
  • You want a captcha solver. The documentation is explicit: this is a browser, not a tool that solves or bypasses challenges.
  • You do not want to pay for an AI model.

2. What do you need first?

Computer: 64-bit Windows, or Linux. On first run the software downloads its browser engine from GitHub: about 240 MB on Windows, roughly 550 MB once unpacked. You need a stable connection and at least that much free disk space.

Software to install beforehand:

  • uv: a tool that installs and runs Python programs, so you do not have to set up Python yourself. Official site: https://docs.astral.sh/uv/. The install command is in Step 1.

Accounts and keys:

  • An OpenRouter key (for the web interface): OpenRouter is a broker that gives access to many AI models through one key. Sign up at https://openrouter.ai. Keys start with sk-or-. You pay OpenRouter by usage; per-model prices are on their site.
  • If you only plug it into an assistant you already have (Claude Code, Codex, Gemini CLI), no OpenRouter key is needed. The assistant uses whatever model you already pay for.

Note: On every turn the whole conversation so far is sent to the model again, so a multi-step task costs far more than a single chat question. Add only a small amount of credit to OpenRouter while you are trying it out.

3. Step-by-step installation

There are two ways to use it. Route 1 (the web interface) is the easiest for beginners: a chat panel on one side, the live browser on the other. Route 2 is for people who already run a command-line AI assistant.

Step 1: Install uv

Windows, in PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"

Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

Check it:

uv --version

What success looks like: one line with uv and a version number.

Step 2: Get an OpenRouter key

Sign in at https://openrouter.ai, create an API key and copy it. Treat it like the password to a wallet: do not paste it into chats or send it to anyone.

Step 3: Save the key in a .env file

Create a dedicated folder, for example web-agent. Inside it, create a file named exactly .env containing one line (replace the part after the equals sign with your real key):

OPENROUTER_API_KEY=sk-or-...

This is safer than typing the key into the command. The README explains that a key passed on the command line stays in your shell history. The program only reads a .env file from the exact folder you run the command in.

Step 4 (Route 1): Open the web interface

From the folder that holds your .env file, run:

uvx invisible-playwright-mcp ui

The first run takes a while because the package and the browser engine are downloaded. Then open your normal browser and go to:

http://127.0.0.1:8765

What success looks like: a page with a chat panel on the left and a browser panel on the right. The startup line in the terminal names the variables it picked up (it never prints their values).

If you would rather not create a .env file, you can pass the key directly and accept that it ends up in your command history:

uvx invisible-playwright-mcp ui --openrouter-key sk-or-...

Step 4 (Route 2): Plug it into an assistant you already use

After Step 1, run the commands for your assistant.

Claude Code:

claude plugin marketplace add feder-cr/invisible_playwright_mcp
claude plugin install invisible-playwright-mcp@feder-cr

Codex:

codex plugin marketplace add feder-cr/invisible_playwright_mcp
codex plugin add invisible-playwright-mcp@feder-cr

Gemini CLI:

gemini extensions install https://github.com/feder-cr/invisible_playwright_mcp

What success looks like: claude plugin list, codex mcp list or gemini extensions list shows the tool. The documentation stresses that "added" does not mean "connected", so do run one of these checks.

For Claude Desktop, Cursor and other apps that use a config file, add this block to the app's MCP config file (the file location for each app is listed on the project's "The MCP server" wiki page):

{
  "mcpServers": {
    "stealth": {
      "command": "uvx",
      "args": ["invisible-playwright-mcp"]
    }
  }
}

4. First use

With the web interface at http://127.0.0.1:8765:

  1. Type a simple, read-only task into the chat panel. For example: "Open https://example.com and tell me the heading and the first paragraph."
  2. Watch the right-hand panel: the browser opens the page, the pointer moves and keys are pressed as if a person were using it.
  3. When it is done, the agent answers in text in the chat panel.

Once that works, try something with more steps. A tip for writing tasks, in the spirit of the README: say which page, what to read, in what order, and add "if there is no data, say so, do not guess".

Useful options for the ui command:

OptionWhat it does
--modelPick another OpenRouter model. The default is z-ai/glm-5.3-flash
--profile-dirA folder for the browser profile, so logins and cookies survive restarts
--headedAlso show the real browser window (the interface shows you the page anyway)
--portUse another port when 8765 is busy
--proxyRoute traffic through your own proxy; host and port are both required

Note: Nothing caps the number of steps in a task. If the model wanders, it keeps going and keeps billing. Watch the first few runs and stop when something looks off. Do not change --host away from 127.0.0.1: the interface has no login, so exposing it lets anyone on the network drive it.

5. Common problems and fixes

SymptomCauseFix
uv or uvx is not recognisedThe terminal does not yet know where uv was installedRun the second line of Step 1 again (the Path line on Windows, the source line on Linux), or close and reopen the terminal
The browser will not start on a MacThere is no macOS build of the browser engineUse a Windows or Linux machine
The first run seems frozenThe browser engine (about 240 MB on Windows) is being downloaded from GitHubWait for it to finish. Check your connection and free disk space
The assistant answers "the main browser is not open. Call browser_open to open it."Over MCP, the browser must be opened before any other actionTell the assistant to open the browser (the browser_open tool), then continue
The assistant answers "the main browser is gone: it closed or crashed..."The browser window was closed by hand, or it crashedAsk the assistant to open it again. It comes back as the same identity
The plugin is installed but the assistant has no browser toolsuv is missing, the config has a typo, or the engine has not finished downloadingCheck with claude plugin list, codex mcp list or gemini extensions list; restart the assistant
http://127.0.0.1:8765 will not openThe ui command has not finished starting, was closed, or another program owns port 8765Check that the terminal is still running it; try --port with a different number
The website still blocks you or shows a captchaThe tool only covers "the browser looks ordinary". A distrusted network address, too many requests or machine-like rhythm still get blockedSlow down and do less. The wiki page "Why does my AI agent get blocked?" explains the four layers
OpenRouter credit disappears quicklyEach turn resends everything before it, so long tasks get expensiveSplit work into smaller tasks, start a fresh conversation for a new job, choose a cheaper model

6. Uninstalling and updating

Updating: uvx keeps the version it fetched last time. To run the newest one, add @latest after the package name (standard uv syntax):

uvx invisible-playwright-mcp@latest ui

The latest release at the time of writing is v0.70.2 (25 September 2026). The project ships new versions very often; see the repository's Releases page.

Removing:

  1. Stop the running command with Ctrl+C.
  2. Delete the data folder that holds sessions, profiles and screenshots. On Windows it is the invisible-playwright-mcp folder inside %APPDATA%; on Linux it is invisible-playwright-mcp inside $XDG_DATA_HOME.
  3. Delete the folder containing your .env file.
  4. Clear what uv downloaded, using uv's standard command:
uv cache clean
  1. If you plugged it into an AI assistant, remove the plugin or extension as that assistant's own documentation describes, or delete the stealth block from the config file.
  2. Revoke the key in OpenRouter if you no longer need it.

7. Frequently asked questions

Does it cost anything? The software does not. The AI model does: the web interface uses your OpenRouter key and you pay by usage. If you plug it into an existing assistant, the cost falls under whatever you already pay for that assistant.

Is my data sent anywhere? According to the Privacy Policy section of the README, the agent runs on your machine and has no server of its own. What leaves your computer: the sites you visit see the browser; the model provider (OpenRouter) receives the conversation and what the agent reads on the page; GitHub sees your IP address when the engine and a small launch-counter file are downloaded. Nothing is sent to the author. Sessions and screenshots are stored locally.

Should I let it log into my accounts? Be careful. The project's own documentation says a signed-in session lets the agent do anything you could do, including clicking the wrong thing. Use a separate profile, start with read-only tasks, and review anything yourself before it is submitted.

Does it still apply for jobs like the old AIHawk? The current README has no feature or instructions specific to that. It is a general-purpose browsing agent that does whatever task you describe. The project asks you to read the terms of the sites you use, respect their rate limits, and not submit anything a human has not read.

Will it run on a weak computer? The AI model runs on the provider's servers, not on your machine. Your computer only needs to run a Firefox browser and have room for the engine. The project does not publish minimum requirements.

Written by GitHot and checked against the project's official documentation. If a step is wrong or unclear, message GitHot through the channels at the bottom of the page.

SEE WHY IT'S HOT

Watch the original review

Go back to the video that brought you here.

Watch on TikTok ↗

Don't miss the next repo

Every new repo gets a video review, with its install guide right here.

Follow on TikTok ↗