Skip to content

Getting Started

Mark Rogers edited this page Oct 16, 2026 · 1 revision

What runs where

  • The CLI, skills/fetchwright/scripts/fetchwright.py, needs Python 3.10 or newer and nothing else. CI runs it on Windows, macOS and Linux with Python 3.10 and 3.14.
  • It talks to one service: Google's Gemini API, with your key, for the URLs you name.
  • The two skills (fetchwright and fetchwright-setup) tell an agent when to use it and how to set the key up. The CLI works without them.

The commands in this wiki are written python fetchwright.py .... Run them from skills/fetchwright/scripts/, or give the script's full path. On macOS and Linux the interpreter may be python3.

Install the plugin

In Claude Code, from a clone:

git clone https://github.com/m4bwav/fetchwright
claude plugin marketplace add ./fetchwright
claude plugin install fetchwright@fetchwright

Other agents that read Agent Skills (SKILL.md) take the two folders under skills/, linked or copied into the agent's skills folder. Using only the CLI, the clone is enough.

Get a key

Ask the agent to "set up fetchwright", and the fetchwright-setup skill walks through it. By hand:

  1. Open https://aistudio.google.com/apikey and choose Create API key. New keys come restricted to the Gemini API. An older key marked "Unrestricted" needs Add restrictions, then "Restrict to Gemini API only".
  2. Store it as an environment variable, typed in your own terminal and never pasted into a chat.

On Windows:

setx GEMINI_API_KEY "<your key>"

Then restart the editor or terminal. A shell that started before setx does not see the variable, but fetchwright reads it from the user environment in the registry anyway.

On macOS or Linux, add this line to ~/.zshrc or ~/.bashrc, then open a new terminal:

export GEMINI_API_KEY="<your key>"

fetchwright also reads GOOGLE_API_KEY, but prefers GEMINI_API_KEY when both are set. Google's own SDKs do the opposite.

Before you make the key, read Terms and privacy. On the free tier, Google may use what you send to improve its products, and human reviewers may read it.

Check the key

python fetchwright.py check --no-call

sends nothing and prints:

fetchwright 0.1.0
key: found in environment variable GEMINI_API_KEY

The key itself is never printed. Then:

python fetchwright.py check

sends one tiny request per model, without the URL tool:

fetchwright 0.1.0
key: found in environment variable GEMINI_API_KEY
  gemini-3.8-flash: answers (HTTP 200, 0.1 s)
  gemini-3.5-flash-lite: answers (HTTP 200, 0.1 s)

The 0.1 s timings come from the stand-in. Real calls took 1.3 to 5.3 s on 2026-10-15.

A brand-new key can answer 403 ("has not been used in project ... or it is disabled") for some minutes, then work. That happened on 2026-10-15.

The first read

Pass a thread URL to read, as on Home. Commands has the options, and How pages are read explains the result.

Uninstall

claude plugin uninstall fetchwright@fetchwright, then delete the clone. To retire the key, delete it in AI Studio and remove the environment variable (setx cannot delete it; on Windows remove it in System Properties, Environment Variables).

Clone this wiki locally