Using `useDeleteButtonTooltip` of any chip that has a delete button gives a deprecation warning, or no longer exists when referenced. This includes the `Chip`, `InputChip`, and `RawChip` widgets.
Original behavior
The `useDeleteButtonTooltip` of `Chip`, `InputChip`, and `RawChip` widgets is deprecated in favor of `deleteButtonTooltipMessage`, as the latter can be used to disable the tooltip of the chip's delete button.
New behavior
The `deleteButtonTooltipMessage` property provides a message to the tooltip on the delete button of the chip widgets. Subsequently, a change was made such that providing an empty string to this property disables the tooltip.
- Who is affected
- Applications and packages relying on the previous behaviour or signature. Code that uses Chip, InputChip, RawChip.
- 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.
Before and after (from the official guide)
| 1 | Chip( | |
| 2 | label: const Text('Disabled delete button tooltip'), | |
| 3 | onDeleted: _handleDeleteChip, | |
| 4 | − | useDeleteButtonTooltip: false, |
| 5 | ); | |
| 6 | ||
| 7 | RawChip( | |
| 8 | label: const Text('Enabled delete button tooltip'), | |
| 9 | onDeleted: _handleDeleteChip, | |
| 10 | − | useDeleteButtonTooltip: true, |
| 11 | ); |
| 1 | Chip( | |
| 2 | label: const Text('Disabled delete button tooltip'), | |
| 3 | onDeleted: _handleDeleteChip, | |
| 4 | + | deleteButtonTooltipMessage: '', |
| 5 | ); | |
| 6 | ||
| 7 | RawChip( | |
| 8 | label: const Text('Enabled delete button tooltip'), | |
| 9 | onDeleted: _handleDeleteChip, | |
| 10 | ); |
Raw before / after
Chip(
label: const Text('Disabled delete button tooltip'),
onDeleted: _handleDeleteChip,
useDeleteButtonTooltip: false,
);
RawChip(
label: const Text('Enabled delete button tooltip'),
onDeleted: _handleDeleteChip,
useDeleteButtonTooltip: true,
);Chip(
label: const Text('Disabled delete button tooltip'),
onDeleted: _handleDeleteChip,
deleteButtonTooltipMessage: '',
);
RawChip(
label: const Text('Enabled delete button tooltip'),
onDeleted: _handleDeleteChip,
);Official migration guide (excerpt, © The Flutter Authors, CC BY 3.0)
By default, the tooltip of the delete button is always enabled.
To explicitly disable the tooltip, provide an empty string to the
deleteButtonTooltipMessage property.
The following code snippets show the migration changes, which are applicable for
Chip, InputChip, and RawChip widgets:
Code before migration:
Chip(
label: const Text('Disabled delete button tooltip'),
onDeleted: _handleDeleteChip,
useDeleteButtonTooltip: false,
);
RawChip(
label: const Text('Enabled delete button tooltip'),
onDeleted: _handleDeleteChip,
useDeleteButtonTooltip: true,
);Code after migration:
Chip(
label: const Text('Disabled delete button tooltip'),
onDeleted: _handleDeleteChip,
deleteButtonTooltipMessage: '',
);
RawChip(
label: const Text('Enabled delete button tooltip'),
onDeleted: _handleDeleteChip,
);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.
- 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.