Skip to content

[ENHANCEMENT] Add slash command with keyboard-triggered API profile/model switching and expose a model picker in chat #8844

@jmalmo

Description

@jmalmo

Problem (one or two sentences)

Today it takes several clicks to switch API configuration profiles or models during a chat. Keyboard-focused users can’t trigger the existing pickers without leaving the composer.

Context (who is affected and when)

All users who changes profiles or models actively during sessions.

Desired behavior (conceptual, not technical)

Make the model selector available directly in the chat header, allowing users to swap models without leaving the conversation. Users should also be able to open that same picker via /models.

Typing /profiles or /models in the chat input should pop open the respective picker, allow arrow-key navigation, and close automatically after selection, with focus returning to the input.

Constraints / preferences (optional)

  • Must preserve existing pickers’ look-and-feel and focus management.
  • Needs to honor per-mode “sticky” models so selections persist as they do today.
  • UX should work purely via keyboard as well as mouse.

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Roo Code Task Links (optional)

No response

Acceptance criteria (optional)

  • /profiles opens the profile picker, arrow keys cycle entries, Enter selects, Escape closes.
  • /models opens the model picker scoped to the active profile and persists the new choice.
  • Picker buttons in the chat header stay in sync with slash-command selections.
  • Composer focus is restored after closing the picker.

Proposed approach (optional)

Add built-in slash commands that dispatch the same open/close actions as the existing buttons. Reuse the current pickers, expose their “open” state to the chat input, and ensure keyboard/hover behavior stays consistent.

I have already made a working version which can be found in PR #8845 :

Image

Image

Trade-offs / risks (optional)

Need to avoid regressions in existing picker hover behavior and ensure the saved model maps to whatever provider field was previously set.
Working prototype here: #8845

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions