Give it a goal
It reads the page structure, asks your model for a small batch of typed actions, runs them and checks the result. Screenshots are an opt-in fallback.
OPEN SOURCE · RUNS ON YOUR MACHINE · PLAYWRIGHT
FreeComputerUse is a browser agent that runs Playwright on your computer. Give it a goal with the model you choose, or show it a task once. It saves the steps as a procedure, replays them locally, calls the model only to repair what changed, and asks you before anything is submitted.
ON MAIN · NOT YET IN NPM V0.2.23 Procedures, teach mode and smart replay run from source.
ONE UNCUT DASHBOARD SESSION · REAL TIME
The steps of a Google Play release are written once, with English and French labels. A request in other words finds them, fills in the values and replays them on the local Play Console simulator, with zero model calls.
AN OPEN-ENDED TASK, PLANNED BY A MODEL
DeepSeek Flash plans a synthetic incident investigation: filter the alerts, read the timeline, metrics, deployments and runbook, then fill in and download a brief. 19 browser actions, 9 model calls, 28,680 tokens. Nothing is rolled back and no one is contacted. One recorded run, not a success rate.
THREE WAYS TO WORK
Start with a goal and a model. When a task repeats, save it as a procedure with named values, so later runs replay locally and cost nothing.
It reads the page structure, asks your model for a small batch of typed actions, runs them and checks the result. Screenshots are an opt-in fallback.
Record what you do in the browser, write the steps in English or French, or keep a run the model completed. Passwords and files become values, never stored.
Saved alternatives are tried first. If a button was renamed, the model repairs that step only, and the fix is saved as a new version.
A step that still fails can pause the run. Do it yourself in the live browser and resume: your action is saved with the next version.
Requests in other words or another language find the right procedure and fill in its values. How teaching works.
THE FLAGSHIP PROCEDURE
Upload a bundle, add the release notes and send the release for review. The steps work on the English and French console, and every run stops for you where it matters.
WRITTEN STEPS · PASTE INTO "WRITE STEPS"open http://127.0.0.1:3000/play/console
require "All apps" | "Toutes les applications"
click "View app: {{params.app}}" | "Afficher l'application: {{params.app}}"
click button "Test and release" | button "Tester et publier"
click "Production"
click button "Create new release" | button "Créer une release"
upload {{params.bundle}} to "Upload app bundle" | "Importer un app bundle"
wait for "({{params.version}})" (timeout 20s)
type "{{params.notes}}" into field "Release notes" | field "Notes de version"
click "Next" | "Suivant"
click "Save and publish" | "Enregistrer et publier" (sensitive)
click "Send changes for review" | "Envoyer les modifications pour examen"
expect "In review" | "En cours d'examen"Runs against the local simulator in fixtures/playConsole.ts, which is not Google software.
Tested on: the local simulator, in English and French, with several accounts and a blocking policy error. On the real Play Console, only the signed-out start was checked on 25 October 2026: the run paused, with no action and no model call. Full walkthrough.
MEASURED ON 25 OCTOBER 2026 · LOCAL PLAY CONSOLE SIMULATOR
The same release, nine times: explore, replay, change the UI, switch to French and back. A run counts only if the simulator holds the new version in review.
runs correct, 18 to 20 model calls and $0.0052 to $0.0057 per nine-run trial
runs correct, 20 model calls in total, through a Claude subscription
runs correct, 24 model calls in total, through a ChatGPT plan
| Run | Interface | Model calls | Tokens |
|---|---|---|---|
| 1. First run, the model explores | English | 9, 8, 8 | 19,521 · 17,360 · 17,433 |
| 2. Replay with new values | English | 0, 0, 0 | 0 |
| 3. Replay after a UI change | Renamed buttons | 3, 4, 4 | 6,456 · 8,839 · 8,786 |
| 4. Replay again | Renamed buttons | 0, 0, 0 | 0 |
| 5. First run in French | French | 6, 8, 7 | 13,970 · 18,613 · 16,085 |
| 6 to 9. French, English, French, English | Both | 0 | 0 |
One task on one simulator, a small sample. Claude Code and Codex count the CLI's own instructions as input, so their token totals are larger. Method, raw results and limits.
YOUR MODEL, YOUR BILL
Pick a provider per task. Keys go to the macOS Keychain or a private file. Retries, fallback providers and escalation to a stronger model are built in.
Claude (default claude-opus-5-5), DeepSeek, OpenAI, or any OpenAI-compatible endpoint.
agent providers test <id> sends one real request to check yours.
Sign in with the provider's CLI, then pick its route. Both were run live on the benchmark above.
A subscription uses that plan's own limits. Slow CLI calls are retried once;FCU_CLI_TIMEOUT_MS raises the 60 s limit.
Dated evidence for every route is in the support matrix. Setup: provider guide. MCP hosts can drive it too: agent mcp.
NO PROVIDER REQUIRED
These narrow page-reading jobs run locally with zero model calls. Open-ended tasks need a configured model.
Extract the visible text of the current page. Goal: “Read the page”.
Collect visible link labels and URLs. Goal: “Extract the links”.
Extract the first N links and check the count. Goal: “Extract the first 5 links”.
Extract three synthetic revenue rows from the practice page.
START WITH A REAL GOAL
Copy a goal into your local workspace. Browse read-only research tasks or switch to synthetic workflows for practice. Source checks and agent trials are labelled separately.
The original small pages remain available for checking individual interactions.
SAFETY YOU CAN SEE
Execution, browser profiles, history and downloads stay on your machine. The goal and the page context needed to plan go to the provider you chose. The model cannot run shell commands or arbitrary JavaScript.
FCU_VISION=1, form fields maskedSensitive-step detection relies on heuristics and cannot recognise every deceptive page. Local data is not encrypted and does not expire on its own. Normal mode blocks private and reserved network addresses unless you approve them; ultra mode is opt-in and skips those checks. Read the security boundaries and local data before using personal data.
COMMON QUESTIONS
Short, evidence-based answers before you connect an account or open a site.
Not yet. The npm release 0.2.23 predates procedures, teach mode and smart replay. They are on main: run from source until the next release.
No. You sign in, and Save and publish and Send changes for review ask you on every run. The procedure ends when the release is in review, which is not published. On the real console, only the signed-out start has been checked so far.
DeepSeek Flash (API), Claude Opus 5.5 through Claude Code, and gpt-6.1-sol through Codex CLI each completed the nine-run procedure benchmark. The Claude and OpenAI API routes have contract tests only. See the dated support matrix.
The full local gate (TypeScript, 221 tests, build, credential scan, dependency audit) passed on 25 October 2026 on macOS 26.6 with Node 25.9.0 and Chrome 155. Windows, Linux and other browser builds are unverified, and no result predicts success on arbitrary websites.
GET RUNNING LOCALLY
Requires Node.js 22.13+, npm and an installed browser. The npm release covers goal-driven tasks; procedures and teach mode run from main until the next release. Add a model key or a signed-in CLI for open-ended work.
01 / TERMINAL# From source, with procedures
git clone https://github.com/OthmaneBlial/FreeComputerUse.git
cd FreeComputerUse && npm ci
cp .env.example .env && chmod 600 .env
FCU_BROWSER_CHANNEL=chrome npm run dev
# Or the npm release, without procedures
npm install --global free-computer-use@0.2.23
FCU_BROWSER_CHANNEL=chrome agent uiThen open http://127.0.0.1:4318