Before submitting
Area
apps/desktop
Problem or use case
When a user favorites a model (such as claude-opus-4-8 ) and sets custom options (like reasoning effort: "high" or contextWindow: "1m" ), these settings are stripped and not persisted.
- Schema validation: In packages/contracts/src/settings.ts , favorites is defined without the options key:
favorites: Schema.Array(
Schema.Struct({
provider: ProviderInstanceId,
model: TrimmedNonEmptyString,
}),
)
Because of this, the server-side settings decoder strips any options block when loading client-settings.json .
- Model Selection: The frontend model picker click/select handler does not look up the favorite's options to apply them when selecting the model.
Proposed solution
Update packages/contracts/src/settings.ts to include options in the favorites structures:
favorites: Schema.Array(
Schema.Struct({
provider: ProviderInstanceId,
model: TrimmedNonEmptyString,
+ options: Schema.optionalKey(ProviderOptionSelections),
}),
).pipe(Schema.withDecodingDefault(Effect.succeed([]))),
And update the frontend model picker selection handler to apply the options from the favorite object if present.
Why this matters
Selecting a model from the Favorites rail/combobox should restore the specific option selections (context window size, reasoning effort, thinking, etc.) saved with that favorite.
Smallest useful scope
Already small scope.
Alternatives considered
No response
Risks or tradeoffs
Realized that the app 'hides' the model from regular list selection once it's been favorited so I can kinda see why it might not have been implemented that way since then you're stuck with it at the options when it was favorited if that was the case.
Examples or references
No response
Contribution
Before submitting
Area
apps/desktop
Problem or use case
When a user favorites a model (such as claude-opus-4-8 ) and sets custom options (like reasoning effort: "high" or contextWindow: "1m" ), these settings are stripped and not persisted.
favorites: Schema.Array(
Schema.Struct({
provider: ProviderInstanceId,
model: TrimmedNonEmptyString,
}),
)
Because of this, the server-side settings decoder strips any options block when loading client-settings.json .
Proposed solution
Update packages/contracts/src/settings.ts to include options in the favorites structures:
And update the frontend model picker selection handler to apply the options from the favorite object if present.
Why this matters
Selecting a model from the Favorites rail/combobox should restore the specific option selections (context window size, reasoning effort, thinking, etc.) saved with that favorite.
Smallest useful scope
Already small scope.
Alternatives considered
No response
Risks or tradeoffs
Realized that the app 'hides' the model from regular list selection once it's been favorited so I can kinda see why it might not have been implemented that way since then you're stuck with it at the options when it was favorited if that was the case.
Examples or references
No response
Contribution