Which @angular/* package(s) are the source of the bug?
forms
Is this a regression?
Yes
Description
Upgrading from 21.0.0-next.5 to 21.0.0-next.6 results in runtime errors when using signal forms. Previously working forms are throwing the following error:
ERROR RuntimeError: NG0318: '<input>' is an invalid control host. The host must be a native form control (such as <input>', '<select>', or '<textarea>') or a custom form control component with a 'value' or 'checked' model.
Either the implementation or the error message contains a mistake, because input is a native form control.
The form looks as follows:
<form novalidate>
<input [control]="customerForm.firstName" />
</form>
Please provide a link to a minimal reproduction of the bug
timdeschryver/Sandbox#53
Please provide the exception or error you saw
ERROR RuntimeError: NG0318: '<input>' is an invalid control host. The host must be a native form control (such as <input>', '<select>', or '<textarea>') or a custom form control component with a 'value' or 'checked' model.
Please provide the environment you discovered this bug in (run ng version)
Angular CLI : 21.0.0-next.7
Angular : 21.0.0-next.7
Node.js : 22.16.0
Package Manager : pnpm 10.18.1
Operating System : win32 x64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build │ 21.0.0-next.6 │ 21.0.0-next.6 │
│ @angular/cli │ 21.0.0-next.7 │ 21.0.0-next.7 │
│ @angular/common │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ @angular/compiler │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ @angular/compiler-cli │ 21.0.0-next.7 │ 21.0.0-next.7 │
│ @angular/core │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ @angular/forms │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ @angular/platform-browser │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ @angular/router │ 21.0.0-next.7 │ ^21.0.0-next.6 │
│ ng-packagr │ 21.0.0-next.4 │ 21.0.0-next.4 │
│ rxjs │ 7.8.2 │ ~7.8.2 │
│ typescript │ 5.9.3 │ 5.9.3 │
Anything else?
This also occurs when using select, or textarea elements.