Setup steps, common questions, and what to do when something acts up.
FormPilot needs three things to work: the extension, an API key, and a profile.
Open the Chrome Web Store listing and click Add to Chrome. The icon appears in your toolbar.
Open Settings, choose a provider (Groq is free), paste your API key. It stores locally only.
In Profiles, fill in your info or paste your entire resume in the "Raw Info" box.
Open any form, click the FormPilot icon, hit Scan, then Auto-Fill. Review and submit.
If you don't find your answer here, the GitHub issues are a good next stop.
The extension itself is free and open source (MIT). You bring your own API key from one of the supported providers. Groq and Google Gemini both have free tiers that are more than enough for everyday use. OpenAI and Anthropic Claude are paid.
Your profile data lives in chrome.storage.local, sandboxed to FormPilot. When you scan and fill a form, only the field labels plus the relevant slices of your profile are sent to the AI provider you configured — never to us. We operate no servers that see your data.
If you want to verify any of this, the source is on GitHub.
Switch in Settings any time. Each provider keeps its own key.
A typical form with 10–20 short fields is a few cents at most on GPT-4o or Claude Sonnet. Forms with long essay fields can run higher. If you want to keep costs at zero, stick with Groq or Gemini's free tier — they're plenty good for most fills.
Yes. FormPilot uses a native setter bypass that overrides the value in a way React's synthetic event system actually accepts. We dispatch input, change, and blur events so the framework sees a "real" user edit. This is the single biggest issue with browser autofill on modern SPAs and FormPilot is built specifically to avoid it.
Yes. The AI receives the option labels and chooses the closest semantic match — so "United States" can match "USA", "the US", or "U.S." depending on what the dropdown actually offers.
Textarea fields are detected and routed to the AI for content generation. The model uses your profile (especially the Raw Info / resume) to ground the response. You can edit any generated answer in the Preview screen before it's filled.
As many as you want. Common setups: Personal, Work, Side-Project, Family member 1, Family member 2. Switch the active profile from the popup before you scan.
Never. FormPilot fills fields and stops. You always click Submit yourself. Filled fields glow green so you can review every value before submitting.
Settings → Reset will wipe profiles, vaults, history, and API keys. Or uninstall the extension — Chrome will clear chrome.storage.local with it. There's nothing to delete on our end because we don't store anything.
Yes — fully open source on GitHub under the MIT license. Read it, fork it, audit it, contribute.
Walk through these in order. If you're still stuck, open a GitHub issue with the form's URL and your console output.
The form is probably inside an iframe from another origin (think Stripe checkout, embedded Google Forms). Browsers block extensions from reaching across origins. Open the form on its native site and try again.
Some sites strip values that don't pass their custom validators. Try clicking inside the field once, then re-scanning — sometimes the form mounts late. Still blank? Filing an issue with the URL helps us add a site-specific selector.
Re-paste the key in Settings — the most common cause is a trailing space or hidden character from a copy-paste. Confirm the key is for the provider you have selected, not a different one. Make sure the key has the right scope at the provider's dashboard.
Open Profiles, expand the Raw Info field, and paste a fuller version of your resume or context. The model has only what you give it. For tone, add a one-line voice instruction (e.g. "I write concisely, no buzzwords").
The active profile is set in the popup before you scan. Switch profiles, re-scan, re-fill. Past sessions are kept in History so you can replay either.
Open chrome://extensions, confirm FormPilot is enabled and pinned to the toolbar. If it's an old build, click the refresh icon on the extension card and reload the page.
FormPilot is built by three people in their spare time. The fastest way to a fix is a GitHub issue with the form's URL, your browser console output, and what you expected to happen.