Features

What the extension can fill, how runs are triggered, and how wizards stay coherent.

Capabilities

Area Behavior
Fill modes Hybrid (heuristics then AI), AI only, or Heuristics only (no API key)
Triggers Side panel, context menu (“Fill this form with AI”), keyboard (Alt+Shift+F)
Native controls Text inputs, textareas, selects, radio groups, checkboxes
ARIA widgets checkbox, switch, radiogroup, combobox / listbox, contenteditable
Multi-step forms Automatic advancing with content-fingerprint step detection, up to 50 steps
Conditional fields MutationObserver settling picks up fields revealed by a checkbox or select
Cross-step identity Email, name, phone, and other slots stay coherent across the whole run
Error recovery Reads page validation messages and re-asks the model with them quoted
Custom requests One free-text box for user rules, injected at highest prompt priority
Multilingual Follows the page language, or an explicit BCP-47 override, with per-field lang
Providers OpenAI, Anthropic, Google AI Studio, xAI, Groq, OpenRouter, Cerebras
Live progress Streamed to the side panel while the run is in flight

Multi-step navigation

Step change is detected by a content fingerprint of the visible field set (labels, kinds, option counts) plus URL and active step-indicator text. Synthetic field ids are deliberately not part of it.

Forward controls are ranked by multilingual label markers, position, and membership of the active form; back, cancel, and reset controls are scored out. Final-submit controls (pay, place order, checkout) are not clicked by default — the run stops with the form filled.

When a click does not change the fingerprint, the page is inspected for aria-invalid, aria-errormessage, and role="alert" text. Those messages are quoted back to the model for a repair round, then the click is retried once.

Custom requests and language

The side panel has a single free-text box, empty by default. Anything entered is injected into the prompt as a clearly delimited block:

USER RULES (highest priority, override anything above that conflicts):
Phone as 090-XXXX-XXXX. User names in Japanese.

It applies uniformly across every chunk and navigation call on a long form.

Language resolution, most specific first:

  1. A field’s own lang attribute
  2. An explicit BCP-47 override when Value language is Always use…
  3. The page’s <html lang>, otherwise the browser locale

Ready to try it? Install, then follow the tutorial, or set options in configuration.