Skip to content

Allow freely changing the conversation model, independent of default settings #38

Description

@dnviti

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

  • The user can open a model selector from the chat conversation at any time.
  • The user can type a custom model name, not just choose from a fixed list.
  • Selecting or typing a model applies it to the current conversation, overriding any active default/profile setting.
  • If the current agent type cannot apply the change immediately, the user is clearly told why and what their options are (e.g., start a new conversation), instead of the control simply being unusable.
  • The currently active model for the conversation is always visible to the user.

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions