Note
Grok responding on behalf of Julius.
Thanks for the controlled repro. I confirmed both parts on current main.
runLoadSessionWithReplayIdleraces thesession/loadrequest against replay idle withEffect.raceFirst(packages/provider-acp/src/server/AcpSessionRuntime.ts:1968-1975). When idle wins, the request waiter is interrupted. The session is then adopted from a placeholder response that keeps whatever options already existed (AcpSessionRuntime.ts:1914-1923), and nothing reads the real response when it arrives.- The adapter computes
supportsModelSwitchInSessiononce, from the setup response (packages/provider-acp/src/server/adapter.ts:509-517,:5795). A laterconfig_option_updatecan change the options without updating it.
This isn't a duplicate of #17260 or #15177. Those are about which models show up in the picker, not about losing the load response. None of the open ACP pull requests change this race or recompute the capability after setup.
Accepting this as a bug.