Skip to content

Repository files navigation

autofill

Python ≥3.11 License: MIT

Phil, the autofill octopus

Form-filling agent built on browser-use: describe yourself once, point it at any web form, and it fills every field automatically. You review and submit manually.

Meet Phil: eight hands on the keyboard so you don't have to use any.



LLM Quickstart

For Claude Code, Codex, Cursor, etc.: start with AGENTS.md. Claude Code also loads CLAUDE.md.


Human Quickstart

Install

Open a terminal and run:

curl -fsSL https://raw.githubusercontent.com/jayzuccarelli/autofill/main/install.sh | bash

Requires git and a supported OS (macOS or Linux). Windows is untested. You don't need Python: the installer fetches uv, which brings its own.

Setup

autofill

The first time you run it, autofill walks you through:

  1. Profile: asks your name, date of birth, email, phone, location, socials, and a short summary; saves to knowledge/profile.md.
  2. Provider: lets you pick a provider (Browser Use, OpenAI, Anthropic, or local Ollama), then paste your key (skipped for Ollama); saves to .env.
  3. Extra files: optionally add supporting documents (PDFs, docs) to knowledge/.
  4. Builds the database: indexes everything under knowledge/ so it's ready.

Providers

Provider Key env var Notes
Browser Use BROWSER_USE_API_KEY Default; managed, no extra setup. Uses bu-2-0; override with AUTOFILL_BROWSERUSE_MODEL. Their hosted models need a paid Browser Use plan; credits alone don't unlock them.
Anthropic ANTHROPIC_API_KEY Uses claude-sonnet-5
OpenAI OPENAI_API_KEY Uses gpt-5.6-terra
Ollama (none, local) Experimental. Needs Ollama running locally; defaults to qwen2.5:14b. Override with AUTOFILL_OLLAMA_MODEL; point at a remote host with OLLAMA_HOST. Smaller models (≤7B) tend to misfill fields; 14B+ recommended.

Fill a form

autofill 'https://example.com/register'

The agent opens a browser, fills the form, and leaves it open for you to review and submit.

Always wrap the URL in single or double quotes. Bare URLs with ? or & are interpreted by the shell; & backgrounds the command and your URL gets truncated. Quoting hands the full URL to autofill verbatim.

autofill --provider anthropic 'https://example.com/register?ref=xyz'  # override provider

Uninstall

autofill uninstall

What works best

autofill has been tested with:

  • Generic single-page HTML forms (Google Forms, Typeform, etc.)
  • Hosted-form platforms: Greenhouse (*.greenhouse.io), Lever (jobs.lever.co), Ashby (jobs.ashbyhq.com), Workable (apply.workable.com)

Sites that require a login (member portals, Workday, etc.)

These now work. autofill runs in a persistent browser profile (~/.autofill/browser-profile), so your logins are remembered across runs.

  • Import your Chrome logins (optional). During setup, autofill offers to import your existing Chrome cookies (sessions, never passwords) so it starts already signed in to sites you use. Best-effort: if Chrome's cookie store can't be read on your system, just use the manual flow below.

  • Sign in once per site. When the agent hits a sign-in or sign-up wall:

    1. It stops and waits; it never types your credentials itself.
    2. You log in (or create the account) manually in the open browser window, handling any MFA, then press Enter in the terminal.
    3. The agent reloads the form, now authenticated, and fills it.

    Because the session is saved, later runs go straight to the form.

Known limitations

  • CAPTCHAs: Cloudflare challenges, reCAPTCHA, and similar bot checks halt the agent. The browser stays open so you can solve them manually, but the agent won't resume automatically.
  • Very long multi-step forms: supported up to ~50 LLM steps (configurable in Config.agent_max_steps); longer forms may exhaust the budget before reaching the final review screen.

Notes

  • The agent will not click Submit; you always review first
  • Learns from your corrections: edits you make before submitting are remembered for next time
  • Run autofill again any time to re-run setup if something is missing
  • Edit knowledge/profile.md or add files to knowledge/ to update your info; the database re-indexes on each run
  • Any .pdf, .doc, or .docx in knowledge/ is offered to the agent for file-upload fields; it picks which file matches which upload based on form labels
  • knowledge/ lives inside the install directory (~/autofill/ by default); .env lives in ~/.autofill/, so your API key survives an uninstall and reinstall

Privacy & telemetry

Your profile and documents stay on your machine; autofill reads them locally and stores corrections locally. Relevant excerpts are sent to the LLM provider you configured (Browser Use, OpenAI, or Anthropic) so it can fill in form fields; that content is subject to your provider's data-handling policy. Choose the Ollama provider to keep everything on your machine, so no profile excerpts leave your network. Passwords, SSNs, and similar sensitive fields are stripped before any corrections are saved.

Usage stats are off unless you turn them on. Setup asks once, the default answer is no, and nothing is sent before you answer. If you say yes, autofill sends anonymous events (tool version, OS, LLM provider, whether a run completed) to help prioritize development. No personal data, no form content, no URLs.

Change your mind either way by re-running autofill and going through setup again, or by setting the variable directly:

# zsh
echo 'export AUTOFILL_TELEMETRY=0' >> ~/.zshrc   # 1 to enable
# bash (Linux)
echo 'export AUTOFILL_TELEMETRY=0' >> ~/.bashrc
# bash (macOS)
echo 'export AUTOFILL_TELEMETRY=0' >> ~/.bash_profile

Then open a new terminal.

Crash reports (Sentry) are off by default: autofill handles personal profile data, and stack frames can incidentally capture anything in scope, so we don't ship them unless you ask. If you'd like to send crash reports to help fix bugs, opt in with AUTOFILL_SENTRY=1:

echo 'export AUTOFILL_SENTRY=1' >> ~/.zshrc   # or ~/.bashrc / ~/.bash_profile

Contributing

Found a bug or have a feature idea? Open an issue. There are templates for both. PRs welcome; start with CONTRIBUTING.md for setup and AGENTS.md for architecture. MIT licensed.

About

Form-filling agent built on browser-use: describe yourself once, point it at any web form, and it fills every field automatically. You review and submit manually.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages