Link to the code that reproduces this issue
https://github.com/nikhilsnayak/next-client-bind-repro
To Reproduce
- Clone the linked reproduction.
- Run
bun install followed by bun dev.
- Disable JavaScript in the browser.
- Navigate to http://localhost:3000.
- Click Update client-bound user.
- The Server Function completes on the server, but the browser navigation remains pending and the returned state is not displayed.
Current vs. Expected behavior
Currently, the form submission remains pending indefinitely, even though the Server Function completes on the server. The state returned by the Server Function is not rendered.
I expect the form submission to complete successfully and the state returned through useActionState to be rendered, just as it is when .bind(...) is called in a Server Component.
Provide environment information
Operating System:
Platform: linux
Arch: x64
Version: #30-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 18:22:54 UTC 2026
Available memory (MB): 15236
Available CPU cores: 8
Binaries:
Node: 24.11.0
npm: 11.6.1
Yarn: 1.22.22
pnpm: 11.24.0
Relevant Packages:
next: 16.4.0-canary.10 // Latest available version is detected (16.4.0-canary.10).
eslint-config-next: N/A
react: 19.2.8
react-dom: 19.2.8
typescript: 5.9.3
Next.js Config:
output: N/A
Which area(s) are affected? (Select all that apply)
Server Actions, React
Which stage(s) are affected? (Select all that apply)
next dev (local), next start (local)
Additional context
Binding additional arguments with .bind(...) inside a Client Component is a documented pattern in the official Next.js forms guide:
https://nextjs.org/docs/app/guides/forms#passing-additional-arguments
The reproduction includes a working control where .bind(...) is called in a Server Component. The progressively enhanced submission completes correctly in that case.
Link to the code that reproduces this issue
https://github.com/nikhilsnayak/next-client-bind-repro
To Reproduce
bun installfollowed bybun dev.Current vs. Expected behavior
Currently, the form submission remains pending indefinitely, even though the Server Function completes on the server. The state returned by the Server Function is not rendered.
I expect the form submission to complete successfully and the state returned through
useActionStateto be rendered, just as it is when.bind(...)is called in a Server Component.Provide environment information
Operating System: Platform: linux Arch: x64 Version: #30-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 18:22:54 UTC 2026 Available memory (MB): 15236 Available CPU cores: 8 Binaries: Node: 24.11.0 npm: 11.6.1 Yarn: 1.22.22 pnpm: 11.24.0 Relevant Packages: next: 16.4.0-canary.10 // Latest available version is detected (16.4.0-canary.10). eslint-config-next: N/A react: 19.2.8 react-dom: 19.2.8 typescript: 5.9.3 Next.js Config: output: N/AWhich area(s) are affected? (Select all that apply)
Server Actions, React
Which stage(s) are affected? (Select all that apply)
next dev (local), next start (local)
Additional context
Binding additional arguments with
.bind(...)inside a Client Component is a documented pattern in the official Next.js forms guide:https://nextjs.org/docs/app/guides/forms#passing-additional-arguments
The reproduction includes a working control where
.bind(...)is called in a Server Component. The progressively enhanced submission completes correctly in that case.