fix(server): Claude rejects a live change to an option it reads when the query starts

Replacing a started query to apply the option would end its background shells and
tasks. Once the query exists only Fast can change; before the first prompt every option
still applies, because it is read when the query is built.
This commit is contained in:
Mohamed Boudra
2026-11-01 15:52:08 +01:00
parent 85edc9da9c
commit f3c3461d67
3 changed files with 24 additions and 103 deletions
+2 -1
View File
@@ -47,7 +47,8 @@ or without a control.
there is none; the provider returns the setting to its own default if it can, or throws to
reject. A key the running session cannot apply (one the provider reads only when it opens) is
rejected too, so a stored option always describes what runs. Claude reads most options when it
starts a query: it applies them from the next turn and rejects them while a turn is running. It
starts its query, and replacing a started query would end its background work, so after the
first prompt only Fast can change. It
returns the options it ended up with when they differ from the request. The daemon
stores the patch and that result in one step after the call resolves, onto the agent's options
as they are at that moment, so the last write wins. Throwing rejects the whole patch and