Problem / Motivation
Right now, changing which AI model a conversation uses is unreliable and inconsistent. For some agent types it works through a small picker in the chat toolbar, but for others that picker doesn't do anything at all — it just shows a message saying the model can't be changed and a new conversation has to be started instead. There's also no way to simply type in a model name of your choice; you're limited to whatever list (if any) the current agent happens to offer.
This makes it hard to try a different or newer model mid-conversation, and forces users to fall back on server-wide profile settings (which apply broadly, not just to the conversation at hand) whenever they want a different model than whatever was configured as default.
Goal
Let a user pick or type any model they want for their conversation at any time, independent of whatever default or preset configuration is active for that agent/runtime — without needing to start a new conversation or edit global settings.
Scope
- A model selection control in the chat interface that always lets the user choose a model, regardless of whether the underlying agent type currently supports it.
- Support both picking from a known list (when available) and freely typing a custom model name/identifier.
- The chosen model should apply to the current conversation immediately, overriding any server-wide or profile-level default for that session.
- Clear feedback to the user confirming which model is now active, and what happened if the switch could not be applied (e.g., the requested model doesn't exist).
Non-goals
- Changing how server-wide default/profile configuration works for new conversations — this is about giving the user an in-conversation override, not replacing the existing settings.
- Guaranteeing every agent type can technically switch models mid-conversation without any limitation — some underlying agents may still require restarting the conversation to fully apply a change; this should be clearly communicated rather than silently failing.
Acceptance Criteria
Open Questions
- Should invalid/unsupported model names be validated before switching (with a clear error), or should the app just attempt the switch and report back what the agent says?
- Should the override apply only to the current conversation, or should the user be able to save it as their personal default going forward?
Problem / Motivation
Right now, changing which AI model a conversation uses is unreliable and inconsistent. For some agent types it works through a small picker in the chat toolbar, but for others that picker doesn't do anything at all — it just shows a message saying the model can't be changed and a new conversation has to be started instead. There's also no way to simply type in a model name of your choice; you're limited to whatever list (if any) the current agent happens to offer.
This makes it hard to try a different or newer model mid-conversation, and forces users to fall back on server-wide profile settings (which apply broadly, not just to the conversation at hand) whenever they want a different model than whatever was configured as default.
Goal
Let a user pick or type any model they want for their conversation at any time, independent of whatever default or preset configuration is active for that agent/runtime — without needing to start a new conversation or edit global settings.
Scope
Non-goals
Acceptance Criteria
Open Questions