I am trying to update the default model under More → Advanced → LLM, and it fails with a Failed to save settings. response.
Steps to Reproduce
- Use an account whose saved LLM preferences include a specialized model that is no longer present in the active model catalog.
- Open More → Advanced → LLM.
- Change the default model (for example, the Code model).
- Click Save.
Then you are expected to see a failed message.
Detailed Information
The save request fails with HTTP 400, and the updated default model is not saved.
Example frontend console error:
PUT https://staging.anna.partners/api/v1/user-settings/settings 400 (Bad Request)
Error saving settings: Error: Model 'fun-asr-realtime-2026-02-28' for 'stt' not found or is inactive
Another observed API response:
{
"detail": "Model 'qwen3-tts-instruct-flash-realtime' for 'tts' not found or is inactive"
}
The request payload contains the complete model_preferences object, including specialized models that the user did not modify. For example:
{
"model_preferences": {
"code": "google/gemini-3-flash-preview",
"vision": "google/gemini-3.1-flash-image-preview",
"image_edit": "fal-ai/nano-banana-2",
"image_gen": "doubao-seedream-5-0-260128",
"stt": "fun-asr-realtime-2026-02-28",
"tts": "qwen3-tts-instruct-flash-realtime"
}
}
Suspected Root Cause
This appears to be a synchronization issue between the active model catalog and persisted user preferences:
- The account has historical
sttand/orttspreferences pointing to models that have been removed or deactivated. - The frontend loads and resubmits these values as part of the full
model_preferencespayload. - The backend validates every model preference for existence and active status.
- Validation of one stale specialized model fails, so the backend rejects the entire request atomically.
Therefore, the failure is not necessarily caused by the default model being changed. It is triggered by unrelated inactive specialized model values included in the same save request.
Suggested Fixes
I suggest that the platform should take at least one of the following measures to prevent users from encountering this situation again.
-
Changing a default model should succeed when the newly selected model is valid, even if unrelated historical specialized preferences reference models that have since become inactive;
-
Clearly identify invalid specialized preferences and require the user to select valid replacements before saving.