A new getter, `TextInputClient.currentAutofillScope`, was added to the `TextInputClient` interface; all `TextInputClient` subclasses must provide a concrete implementation of `currentAutofillScope`.
Original behavior
On many platforms, autofill services are capable of autofilling multiple input fields in a single autofill attempt. For example, username fields and password fields can usually be autofilled in one go. For this reason, a Flutter input field that is about to trigger autofill should also provide the platform with information about other autofillable input fields logically connected to it. `TextInputClient.currentAutofillScope` defines the group of input fields that are logically connected to this `TextInputClient`, and can be autofilled together.
New behavior
`TextInputClient` now has an additional getter that returns the `AutofillScope` that this client belongs to. This getter is used by the input client to collect autofill related information from other autofillable input fields within the same scope.
- Who is affected
- Applications and packages relying on the previous behaviour or signature. Code that uses TextInputClient.currentAutofillScope, TextInputClient, AutofillScope and related APIs.
- Practical impact
- Behaviour or API differences that can break builds or change runtime behaviour.
- What action should I take?
- Follow the official migration guide below, update affected call sites, run `dart fix --apply` where a fix is available, then run your tests.
Official migration guide (excerpt, © The Flutter Authors, CC BY 3.0)
If you're not planning to add multifield autofill
support to your TextInputClient subclass,
simply return null in the getter:
class CustomTextField implements TextInputClient {
// Not having an AutofillScope does not prevent the input field
// from being autofilled. However, only this input field is
// autofilled when autofill is triggered on it.
AutofillScope get currentAutofillScope => null;
}If multifield autofill support is desirable, a common
AutofillScope to use is the AutofillGroup widget.
To get the closest AutofillGroup widget to the text
input, use AutofillGroup.of(context):
class CustomTextFieldState extends State<CustomTextField> implements TextInputClient {
AutofillScope get currentAutofillScope => AutofillGroup.of(context);
}For more information, check out [AutofillGroup][].
AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.Listed in the official breaking-changes index (docs.flutter.dev/release/breaking-changes).
An official announcement or migration guide documents an intended behaviour or API change. A verified source change (git diff) shows code changed but does not by itself prove a public API is breaking. AI interpretations are labelled and never used to classify a change.
- Official migration guide
- AutofillGroup
- TextInputClient.currentAutofillScope
- Issue 13015: Autofill support
- Framework PR that added autofill support
- Source commit
- b3045439b7c0
- Source last updated
- Oct 21, 2026
- Last synchronized
- Oct 21, 2026
- Publication status
- published
Publication history
- Oct 21, 2026, 8:31 PM: new → published (ingestion) — Backed by an official breaking-change/migration guide.
AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.