OPEN SOURCE · RUNS ON YOUR MACHINE · PLAYWRIGHT

Teach it once.
Replay it without the model.

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.

FREECOMPUTERUSE / PROCEDUREON YOUR MACHINE
REQUESTPublie la version 1.5 de l'app "Snake Arena" avec ./build/snake-1.5.aab
  1. 01Found a saved procedurePublish a Play production release✓
  2. 02Read app, version and bundleAsked only for the release notes✓
  3. 03Replay the saved steps11 browser actions · 0 model calls•••
  4. 04Ask before submittingSave and publish · Send changes for review
YOUAPPROVE
01Runs locallyPlaywright drives a browser on your machine
02Zero-call replaysA saved procedure needs no model when the page still matches
03You approve what mattersNew sites and sensitive steps ask on every run

ONE UNCUT DASHBOARD SESSION · REAL TIME

Write it once.
Ask for it in French.

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.

MODEL CALLS
0
RECORDED DASHBOARD SESSIONAPPROVALS SHOWN
11 browser actions · 0 model calls · 3 approvals · checked in the simulator's stateOpen full recording ↗

AN OPEN-ENDED TASK, PLANNED BY A MODEL

Six pages of evidence, one checked brief.

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

Let it explore.
Or show it once.

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.

01 / AUTONOMOUS

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.

02 / TEACH ME

Show or write the steps

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.

03 / SMART REPLAY

Replay, repair one step

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.

04 / WHEN STUCK

It asks you to show it

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

A Google Play release.
Without surprises.

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.

  • You sign inIt never types your Google password, never answers 2-Step Verification and never solves a CAPTCHA. On a sign-in page it pauses for you.
  • You approve the submissionSave and publish and Send changes for review ask every time, with the release summary in the prompt. A recording is never a standing approval.
  • "In review" is not "published"The run reports what the console says. Google still reviews the release.
  • Several accounts, blocking errorsA value can pick the developer account. When the console refuses a submission, the run fails and quotes the console's message.
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

Pay for the first run.
Replays are free.

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.

DEEPSEEK FLASH · 3 TRIALS27 / 27

runs correct, 18 to 20 model calls and $0.0052 to $0.0057 per nine-run trial

CLAUDE CODE · OPUS 5.59 / 9

runs correct, 20 model calls in total, through a Claude subscription

CODEX CLI · GPT-6.1-SOL9 / 9

runs correct, 24 model calls in total, through a ChatGPT plan

DeepSeek Flash, three trials. Each cell lists the trials in order.
RunInterfaceModel callsTokens
1. First run, the model exploresEnglish9, 8, 819,521 · 17,360 · 17,433
2. Replay with new valuesEnglish0, 0, 00
3. Replay after a UI changeRenamed buttons3, 4, 46,456 · 8,839 · 8,786
4. Replay againRenamed buttons0, 0, 00
5. First run in FrenchFrench6, 8, 713,970 · 18,613 · 16,085
6 to 9. French, English, French, EnglishBoth00

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

Bring a key.
Or a subscription.

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.

01 API KEY

Connect a model API

Claude (default claude-opus-5-5), DeepSeek, OpenAI, or any OpenAI-compatible endpoint.

DeepSeek · live-testedClaude APIOpenAIxAIGeminiMistralOpenRouter
The Claude and OpenAI API routes have contract tests but no live run yet: no key was available. agent providers test <id> sends one real request to check yours.
02 SIGNED-IN CLI

Use a subscription

Sign in with the provider's CLI, then pick its route. Both were run live on the benchmark above.

Claude Pro / MaxClaude Code 2.1.310+ · live
ChatGPT planCodex CLI · live
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

Try it first.
No model key needed.

These narrow page-reading jobs run locally with zero model calls. Open-ended tasks need a configured model.

01 / PAGE TEXT

Read the page

Extract the visible text of the current page. Goal: “Read the page”.

02 / LINK LIST

Extract the links

Collect visible link labels and URLs. Goal: “Extract the links”.

03 / BOUNDED LINKS

Choose a limit

Extract the first N links and check the count. Goal: “Extract the first 5 links”.

04 / PRACTICE DATA

Try the sample table

Extract three synthetic revenue rows from the practice page.

START WITH A REAL GOAL

A task library for
work worth automating.

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.

SAFETY YOU CAN SEE

The browser stays yours.

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.

  • Approve each new website
  • Confirm sensitive steps on every run
  • No CAPTCHA solving, no 2-Step Verification bypass
  • Keys in the Keychain; secret values never saved in procedures or exports
  • Screenshots only with FCU_VISION=1, form fields masked

Sensitive-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

Know the limits.
Keep control.

Short, evidence-based answers before you connect an account or open a site.

Are procedures in the npm package?

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.

Will it publish my app to Google Play by itself?

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.

Which models have live evidence?

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.

What has been verified, and on what?

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

Try it without a key.
Teach it from source.

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.

Open setup instructions
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