Repository navigation
Getting Started
- 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 (
fetchwrightandfetchwright-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.
In Claude Code, from a clone:
git clone https://github.com/m4bwav/fetchwright
claude plugin marketplace add ./fetchwright
claude plugin install fetchwright@fetchwrightOther 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.
Ask the agent to "set up fetchwright", and the fetchwright-setup skill walks through it. By hand:
- 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".
- 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.
python fetchwright.py check --no-callsends 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 checksends 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.
Pass a thread URL to read, as on Home. Commands has the options, and How pages are read explains the result.
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).
This wiki describes fetchwright 0.2.0 and was last updated on 2026-10-16. fetchwright is MIT licensed. Report problems in the issues. Releases: GitHub releases.
Using it
The releases
Contributing
Elsewhere